Android – Tiempo de vida de las diferentes opciones de almacenamiento

Android ofrece las siguientes opciones para el almacenamiento de datos:

Preferencias compartidas – Almacena datos primitivos privados en pares clave-valor.

Almacenamiento interno: almacena datos privados en la memoria del dispositivo.

Almacenamiento externo : almacena los datos públicos en el almacenamiento externo compartido.

Bases de datos SQLite – Almacena datos estructurados en una base de datos privada.

Caché – Los datos del caché durante la aplicación se están ejecutando (puede ser claro en la escasez de espacio)

Lo que me estaba preguntando es el tiempo de vida de estos almacenamiento.

  1. Qué almacenamiento (s) se borra en el cierre de la aplicación (Obviamente caché)
  2. Qué almacenamiento (s) se borra en la reinstalación de la aplicación
  3. Qué almacenamiento (s) se borra en la actualización de la aplicación
  4. Qué almacenamiento (s) se borra en la aplicación desinstalar
  5. Qué almacenamiento (s) se borra en datos claros de la aplicación
  6. Qué almacenamiento (s) se borra en restablecimiento de fábrica para dispositivos móviles
  7. Qué almacenamiento (s) se borra en Rom actualización / cambio

Una extensión a esta pregunta es, utilizando el almacenamiento de mis datos es más seguro en términos de pérdida y en términos de acceso por recursos no autorizados (usuarios, aplicaciones en caso de root).

Qué almacenamiento (s) se borra en el cierre de la aplicación (Obviamente caché)

Cache

Qué almacenamiento (s) se borra en la reinstalación de la aplicación

Cache

Qué almacenamiento (s) se borra en la actualización de la aplicación

Cache

Qué almacenamiento (s) se borra en la aplicación desinstalar

Cache, SQLite, Preferencias compartidas

Qué almacenamiento (s) se borra en datos claros de la aplicación

Cache, SQLite, Preferencias compartidas

Qué almacenamiento (s) se borra en restablecimiento de fábrica para dispositivos móviles

Borra todos, pero no datos de almacenamiento externo

Una extensión a esta pregunta es, utilizando el almacenamiento de mis datos es más seguro en términos de pérdida y en términos de acceso por recursos no autorizados (usuarios, aplicaciones en caso de root).

Lo mejor es almacenar los datos en el SQLite en forma cifrada. Si el dispositivo está enraizado, significa que puede acceder incluso al SQLite.

Cierre de aplicaciones: Los archivos de caché no se eliminarán después de cerrar la aplicación.

Según los documentos del androide,

When the device is low on internal storage space, Android may delete these cache files to recover space. However, you should not rely on the system to clean up these files for you. You should always maintain the cache files yourself and stay within a reasonable limit of space consumed, such as 1MB. When the user uninstalls your application, these files are removed.

Reinstalación y desinstalación de la aplicación: se eliminarán la Cache , las Shared Preferences , el Internal Storage y las Databases al desinstalar la aplicación.

Actualización de la aplicación: Generalmente, todo lo que tenías en la versión anterior se restaurará. Docs también no están claros sobre esto.

Aplicación Borrar datos: Todo, excepto el External Storage , se eliminará de forma permanente.

Reajuste de fábrica: Al hacer un restablecimiento de fábrica se borrarán todas las aplicaciones y sus datos, excepto los preinstalados. Puedes restaurar tus aplicaciones con la cuenta de Google pero no con datos (si los datos no están respaldados con BackUp Api .

Y para su pregunta final, NO hay almacenamiento seguro de datos si almacena datos en el dispositivo. Incluso el almacenamiento de datos externos se puede eliminar con las opciones de archivo USB. Para obtener datos seguros, debe mantener los datos de usuario en su servidor y obtenerlos bajo demanda.

Espero que estaba claro.

En respuesta a su pregunta, el almacenamiento persistente (SQL, Almacenamiento Interno \ Externo, SharedPreferences) actúa principalmente de manera predeterminada y Caché actúa de forma diferente.

Almacenamiento persistente – NO se borrará en los siguientes escenarios: 1, 2, 3 – se borrará en otros escenarios.

Interno \ Almacenamiento externo – puede sobrevivir a la eliminación de aplicaciones (si está configurado adecuadamente), por lo que tiene la posibilidad de no ser eliminado en 4 y 5, si se ocupa específicamente de esto.

Cache – se borrará en todos los escenarios (es posible que pueda acceder al caché después de cerrar la aplicación en ciertas instancias, pero no de forma fiable).

7 * (las actualizaciones de la ROM pueden retener los datos de la aplicación usando una solución de copia de seguridad, de lo contrario, actuaría igual que 6)

  • Ciclo de vida de la actividad de Android: orden de estado cuando se inicia una nueva actividad
  • La aplicación se comporta diferente después de salir y volver a entrar
  • Android ¿cuánto tiempo nuestra actividad estará allí en la pila
  • Vida de la aplicación Android: tal vez infinita?
  • Android ¿Cómo volver a conectar a AsyncTask después onDestroy () y relanzar onCreate ()?
  • Permitir que el diálogo se muestre antes o durante onPause ()?
  • Cómo probar el método Activity onDestroy
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.