Sto memorizzando String in preferenze condivise, ma non sono stato in grado di trovare la lunghezza massima della stringa che posso memorizzare. Conoscete questo valore?Preferenze condivise - lunghezza massima di un singolo valore
Grazie
Waypoint
Sto memorizzando String in preferenze condivise, ma non sono stato in grado di trovare la lunghezza massima della stringa che posso memorizzare. Conoscete questo valore?Preferenze condivise - lunghezza massima di un singolo valore
Grazie
Waypoint
Con Romain Guy dalla questione Asked Here,
Qualunque sia la lunghezza massima di una stringa Java è. Quindi qualcosa come caratteri Integer.MAX_VALUE.
Suppongo che SharedPreferene sia un file XML memorizzato con un tag se si memorizza solo una coppia/oggetto. Quindi non v'è alcun limite di scrivere String nel senso che se si pensa come si scrive in un file .. (Teoricamente)
Ma realtà quello che succede è che, mentre si sta assegnando il valore a SharedPreference utilizzando put/get
funzione in quel momento Valore di lettura/scrittura nell'oggetto stringa .. così il limite diventa il valore di archiviazione in una sola volta uguale al limite di dimensione dell'oggetto stringa di Java.
Così, mentre scrivendo il codice: Limite di SharedPreference String Size = Java String Oggetto Limite dimensioni (praticamente)
'Integer.MAX_VALUE' è 2147483647. – Fred
preferenza in comune è memorizzato in /data/data/[package_name]/shared_prefs/[app name].xml
, penso che ci sia alcun limite come per l'architettura di Android.
Quando si cerca di salvare la stringa di lunghezza massima nelle SharedPreferences nel mio dispositivo, si gettano una Memory Eccezione quando i dati di SharedPreferences superano 1,42 MB.
Quindi, se si dispone di più di 1,42 MB dimensioni dei dati per risparmiare è meglio salvare utilizzare il database SQLite.
Secondo developer.android. "Se si dispone di una raccolta relativamente piccola di valori-chiave che si desidera salvare, è necessario utilizzare le API SharedPreferences."
Se è davvero enorme, come sopra i 10 kilobyte, potresti voler salvarlo in un altro modo, magari un file su disco. – Fred