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?
11
A
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
Cuestiones relacionadas
- 1. ¿Cómo usar SharedPreferences para guardar un URI o cualquier almacenamiento?
- 2. Comparando soluciones de almacenamiento persistentes en python
- 3. cifrar datos en SharedPreferences
- 4. ¿Cuáles son algunas buenas y rápidas opciones de almacenamiento persistentes para los datos clave-> valor?
- 5. Directrices para el almacenamiento de datos de iOS Rechazo
- 6. Recomendaciones para datos persistentes en Android?
- 7. Capacidad máxima de almacenamiento de la base de datos SQLite
- 8. Datos persistentes en sklearn
- 9. Conexiones de bases de datos persistentes, ¿sí o no?
- 10. C++ datos persistentes
- 11. Datos complejos de prueba persistentes
- 12. Proporcionando datos de prueba para SharedPreferences para Robolectric
- 13. Datos básicos VS Sqlite o FMDB ....?
- 14. Erlang estructuras de datos persistentes
- 15. ¿Dónde/cómo almacenar datos persistentes con tomcat?
- 16. sqlite o mysql para grandes conjuntos de datos
- 17. Solución NoSQL para gráficos persistentes en escala
- 18. Ruby Gems con datos persistentes
- 19. Almacenamiento y conversión de fecha SQLite
- 20. ¿Contexto de aplicación para SharedPreferences?
- 21. Memcached o MySQL para el almacenamiento de sesiones - PHP
- 22. Estructuras de datos persistentes en Scala
- 23. Estructuras de datos persistentes en C++
- 24. ¿SQLite bloquea el archivo de base de datos en lecturas?
- 25. Mantener datos persistentes en la memoria
- 26. Haciendo que los datos sean persistentes en android
- 27. Alternativas HashMap para el almacenamiento de datos con memoria eficiente
- 28. ¿Cómo almacenar datos persistentes fácilmente sin usar bases de datos?
- 29. pepino y persistentes escenarios (o requisitos previos)
- 30. Ventaja de almacenamiento de datos sin esquema sobre el almacenamiento de datos con el esquema
¿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). –