Android-不同存储选项的使用寿命
Android提供以下数据存储选项: 共享首选项-以键值对存储私有基本数据 内部存储-在设备内存中存储私有数据 外部存储-将公共数据存储在共享外部存储上 SQLite数据库-将结构化数据存储在专用数据库中 缓存-在应用程序运行期间缓存数据。(可能是因为空间不足) 我想知道的是这些存储器的使用寿命Android-不同存储选项的使用寿命,android,security,android-sqlite,lifetime,android-external-storage,Android,Security,Android Sqlite,Lifetime,Android External Storage,Android提供以下数据存储选项: 共享首选项-以键值对存储私有基本数据 内部存储-在设备内存中存储私有数据 外部存储-将公共数据存储在共享外部存储上 SQLite数据库-将结构化数据存储在专用数据库中 缓存-在应用程序运行期间缓存数据。(可能是因为空间不足) 我想知道的是这些存储器的使用寿命 哪些存储在应用程序关闭时清除(显然是缓存) 应用程序重新安装时清除哪些存储 哪些存储在应用程序更新时清除 在应用程序卸载时清除哪些存储 哪些存储器在应用程序清除数据时清除 哪些存储器在移动出厂重置时清除
这个问题的一个扩展是,在丢失方面,以及在未经授权的资源访问方面(用户、根目录下的应用程序),使用哪个存储我的数据更安全?。在回答您的问题时,持久存储(SQL、内部\外部存储、共享数据引用)默认情况下,行为基本相同,而缓存的行为不同 永久性存储—在以下情况下不会被清除:1、2、3—在其他情况下将被清除 内部\外部存储—可以在删除应用程序后继续使用(如果配置适当),因此,如果您专门处理此问题,则可能不会在4和5日删除 缓存-在所有情况下都将被清除(在某些情况下,应用程序关闭后,您可能能够访问缓存,但不可靠)
7*(ROM更新可以使用备份解决方案保留应用程序数据,否则将与6相同)应用程序关闭:应用程序关闭后不会删除缓存文件 根据android文档
当设备内部存储空间不足时,Android可能会删除这些缓存文件以恢复空间。但是,您不应该依赖系统来为您清理这些文件。您应该始终自己维护缓存文件,并保持在合理的空间消耗限制内,例如1MB。当用户卸载应用程序时,这些文件将被删除。
应用程序重新安装和取消安装:缓存
,共享首选项
,内部存储
和数据库
将在取消安装应用程序时删除
应用程序更新:通常您在以前版本上拥有的所有内容都将被恢复。文件对此也不清楚
应用程序清除数据:除外部存储之外的所有内容将被永久删除
工厂重置:进行工厂重置将删除除预装应用程序以外的所有应用程序及其数据。您可以使用google帐户还原应用程序,但不能还原数据(如果未使用备份Api备份数据)
最后一个问题,
如果您将数据存储在设备中,则不会有安全的数据存储。甚至可以使用USB文件选项删除外部数据存储。为了确保数据安全,您应该在服务器上维护用户数据并按需获取数据
希望我是清楚的
哪些存储在应用程序关闭时清除(显然是缓存)
缓存
应用程序重新安装时清除哪些存储
缓存
哪些存储在应用程序更新时清除
缓存
在应用程序卸载时清除哪些存储
缓存、SQLite、共享首选项
哪些存储器在应用程序清除数据时清除
缓存、SQLite、共享首选项
哪些存储器在移动出厂重置时清除
它清除所有数据,但不清除外部存储数据
这个问题的一个扩展是,使用哪个存储我的数据在丢失和未经授权的资源(用户、root用户的应用程序)访问方面更安全
最好以加密形式将数据存储在SQLite中。如果您的设备是根设备,则意味着您甚至可以访问SQLite。此答案仅部分正确,需要更新:请注意,存储在InternalStorage中的应用程序数据也将在应用程序卸载时被擦除,应用程序“清除数据”在执行出厂重置后。使用getExternalFilesDir()存储在externalStorage上的应用程序专用数据也是如此。在应用程序卸载时,以及用户通过设置清除应用程序数据时,这些数据也将被删除。有关详细信息,请访问google开发者页面。