Android SharedPreferences limitaciones?

Desarrollé un juego en Android. Actualmente estoy guardando la mayoría de las estadísticas del juego en una base de datos. Sin embargo, la aplicación no utiliza más de una sola fila en el DB. Ahora estoy interesado en la introducción de algunas nuevas estadísticas, pero esto hará que mi base de datos para volver a instalar y, por lo tanto, despejar el progreso de todos. Para evitar esto en el futuro estoy pensando en almacenar las estadísticas del juego con SharedPreferences en su lugar. Mi pregunta es cuántas cosas diferentes se pueden almacenar de esa manera antes de que se convierta en un problema. En total estaría almacenando alrededor de 40 valores, todos los enteros.

SharedPreferences se escriben en archivos xml, por lo que el tamaño máximo de un archivo en Android es lo grande que puede ser un archivo xml SharedPreferences. Puedo decir con seguridad que 40 valores enteros no serán un problema.

El tamaño máximo de un valor en un archivo SharedPreferences está limitado al tamaño máximo del valor que intenta almacenar. (Lo que significa que no se puede poner un valor de cadena que es más largo que las cadenas pueden ser en Java.)

Lo único que sugiero es asegurarse de lotes de las ediciones tanto como sea posible (es decir, no .commit() cada cambio) y tampoco crear un nuevo editor para cada cambio. (Estas son solo buenas prácticas.)

 SharedPreferences settings = getSharedPreferences(PREFS_FILE_NAME, 0); SharedPreferences.Editor editor = settings.edit(); editor.putInt("firstValue", mFirst); editor.putInt("secondValue", mSecond); editor.putInt("thirdValue", mThird); // Commit the edits! (As infrequently as possible) editor.commit(); 

No sé sobre ninguna limitación pero con respecto a su problema con el progreso de los everyones que es aniquilado hacia fuera. Puede sobreescribir el método onUpgrade en su clase SQLite y luego migrar todos los datos a la base de datos más reciente.

Hay limitaciones de los datos de SharedPreferences. Prácticamente en mi dispositivo lanzar una excepción de memoria cuando los datos de SharedPreferences superan los 1,42 MB.

En su caso, 40 números enteros no crearán un problema.

De acuerdo con developer.android . "Si tiene una colección relativamente pequeña de valores-clave que desea guardar, debe utilizar las API de SharedPreferences".

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.