2011-12-27 22 views
13

Quiero guardar muchas cadenas con la clase SharedPreferences. Estas cadenas son largas. Realmente quiero saber la longitud máxima de una cadena que se puede guardar en las preferencias compartidas en android.Y también la cantidad de datos que puedo almacenar en esta clase SharedPrefernces.Tamaño máximo de la clase SharedPreferences

Respuesta

8

De acuerdo con la arquitectura androide no existe tal límite para almacenar datos en SharedPreference. Mejor manera es base de datos (SQLite) cuando tiene que lidiar con una gran cantidad de datos

2

Leí en alguna parte que no hay otro límite que no sea Integer.MAX_VALUE (longitud de cadena máxima). Pero no es aconsejable almacenar mucho en preferencias compartidas, ya que este es un archivo XML que debe analizarse y tendrá problemas al analizarlo.

Solía ​​almacenar alrededor de 50-100KBytes allí. Funcionó.

-1

Por supuesto, no es límite para SharedPreferences, pero si el sistema no tiene suficiente memoria, es una primera cosa que lo BORRE, lo recuerda.

0

La respuesta exacta obtenida manualmente es: el tamaño máximo del símbolo Unicode es 5 657 632 símbolos (o de [0 a 5657631]) en mi caso. Son unos 2,7 MB para SharedPReference.Editor.

Bastante almacenamiento grande. Ca que utiliza este tamaño dos veces:

PreferenceManager.getDefaultSharedPreferences(c) 
context.getSharedPreferences("<key>", <Mode>); 
1

Hay un limitaciones de los datos SharedPreference. En mi dispositivo arroja una excepción de memoria cuando los datos SharedPreference cruzan 1428506-bytes.

Por lo tanto, es mejor utilizar la base de datos SQLite cuando requirió grandes cantidades de datos para almacenar.

Cuestiones relacionadas