2011-02-05 12 views
11

Para el almacenamiento persistente de datos ¿hay alguna ventaja clara de utilizar una base de datos SQLlite sobre SharedPreferences o viceversa? Actualmente mis datos de aplicación tienen solo un par de kilobytes de tamaño, aunque es posible que aumenten hasta diez veces ese tamaño en el futuro. No encuentro ningún lugar que indique cuánto espacio de almacenamiento hay disponible con SharedPreferences, pero ¿imaginaría que esta sería una limitación para usarlo? ¿Hay alguna diferencia en la velocidad entre los dos métodos? Estoy tratando de sopesar los pros y los contras de esos dos métodos de almacenamiento.SQLite o SharedPreferences para el almacenamiento de datos persistentes?

Respuesta

26

De la parte superior de mi cabeza:

SharedPreferences:

Pro:

  • ligeros
  • rápida y fácil de usar
  • fácil de depurar
  • El archivo de configuración puede ser editado a mano si es necesario

contra:

  • lenta cuando se trata de grandes cantidades de datos
  • No es de utilidad cuando los datos son más que una simple clave/valor asunto
  • Se debe leer y analizar todo el archivo para acceder a los datos
  • Toma más espacio, cada entrada tiene una cantidad considerable de datos ASCII a su alrededor y todos los datos f es ASCII también.

SQLite:

Pro:

  • escalas muy bien
  • cambios no requieren volver a escribir todo el archivo de datos desde cero
  • consultas potentes

contra:

  • Más código para escribir
  • Más peso pesado (código y memoria), una exageración cuando se trata de un poco de datos
+0

¿dónde puedo encontrar más información sobre sharefprefs siendo lento cuando se trata de una gran cantidad de datos y la necesidad de analizar el archivo completo para acceder a los datos? Creo que estamos abordando este problema, y ​​estoy tratando de entender cómo funciona el sistema (planea pasar a SQLite). –

Cuestiones relacionadas