Android-不同存储选项的使用寿命

Android-不同存储选项的使用寿命,android,security,android-sqlite,lifetime,android-external-storage,Android,Security,Android Sqlite,Lifetime,Android External Storage,Android提供以下数据存储选项: 共享首选项-以键值对存储私有基本数据 内部存储-在设备内存中存储私有数据 外部存储-将公共数据存储在共享外部存储上 SQLite数据库-将结构化数据存储在专用数据库中 缓存-在应用程序运行期间缓存数据。(可能是因为空间不足) 我想知道的是这些存储器的使用寿命 哪些存储在应用程序关闭时清除(显然是缓存) 应用程序重新安装时清除哪些存储 哪些存储在应用程序更新时清除 在应用程序卸载时清除哪些存储 哪些存储器在应用程序清除数据时清除 哪些存储器在移动出厂重置时清除

Android提供以下数据存储选项:

共享首选项-以键值对存储私有基本数据

内部存储-在设备内存中存储私有数据

外部存储-将公共数据存储在共享外部存储上

SQLite数据库-将结构化数据存储在专用数据库中

缓存-在应用程序运行期间缓存数据。(可能是因为空间不足)

我想知道的是这些存储器的使用寿命

  • 哪些存储在应用程序关闭时清除(显然是缓存)
  • 应用程序重新安装时清除哪些存储
  • 哪些存储在应用程序更新时清除
  • 在应用程序卸载时清除哪些存储
  • 哪些存储器在应用程序清除数据时清除
  • 哪些存储器在移动出厂重置时清除
  • 哪些存储器在Rom升级/更改时清除

  • 这个问题的一个扩展是,在丢失方面,以及在未经授权的资源访问方面(用户、根目录下的应用程序),使用哪个存储我的数据更安全?

    在回答您的问题时,持久存储(SQL、内部\外部存储、共享数据引用)默认情况下,行为基本相同,而缓存的行为不同

    永久性存储—在以下情况下不会被清除:1、2、3—在其他情况下将被清除

    内部\外部存储—可以在删除应用程序后继续使用(如果配置适当),因此,如果您专门处理此问题,则可能不会在4和5日删除

    缓存-在所有情况下都将被清除(在某些情况下,应用程序关闭后,您可能能够访问缓存,但不可靠)


    7*(ROM更新可以使用备份解决方案保留应用程序数据,否则将与6相同)

    应用程序关闭:应用程序关闭后不会删除缓存文件

    根据android文档

    当设备内部存储空间不足时,Android可能会删除这些缓存文件以恢复空间。但是,您不应该依赖系统来为您清理这些文件。您应该始终自己维护缓存文件,并保持在合理的空间消耗限制内,例如1MB。当用户卸载应用程序时,这些文件将被删除。

    应用程序重新安装和取消安装:
    缓存
    共享首选项
    内部存储
    数据库
    将在取消安装应用程序时删除

    应用程序更新:通常您在以前版本上拥有的所有内容都将被恢复。文件对此也不清楚

    应用程序清除数据:除外部存储之外的所有内容将被永久删除

    工厂重置:进行工厂重置将删除除预装应用程序以外的所有应用程序及其数据。您可以使用google帐户还原应用程序,但不能还原数据(如果未使用
    备份Api备份数据)

    最后一个问题, 如果您将数据存储在设备中,则不会有安全的数据存储。甚至可以使用USB文件选项删除外部数据存储。为了确保数据安全,您应该在服务器上维护用户数据并按需获取数据

    希望我是清楚的

    哪些存储在应用程序关闭时清除(显然是缓存)

    缓存

    应用程序重新安装时清除哪些存储

    缓存

    哪些存储在应用程序更新时清除

    缓存

    在应用程序卸载时清除哪些存储

    缓存、SQLite、共享首选项

    哪些存储器在应用程序清除数据时清除

    缓存、SQLite、共享首选项

    哪些存储器在移动出厂重置时清除

    它清除所有数据,但不清除外部存储数据

    这个问题的一个扩展是,使用哪个存储我的数据在丢失和未经授权的资源(用户、root用户的应用程序)访问方面更安全


    最好以加密形式将数据存储在SQLite中。如果您的设备是根设备,则意味着您甚至可以访问SQLite。

    此答案仅部分正确,需要更新:请注意,存储在InternalStorage中的应用程序数据也将在应用程序卸载时被擦除,应用程序“清除数据”在执行出厂重置后。使用getExternalFilesDir()存储在externalStorage上的应用程序专用数据也是如此。在应用程序卸载时,以及用户通过设置清除应用程序数据时,这些数据也将被删除。有关详细信息,请访问google开发者页面。