繁体   English   中英

android存储持久性SharedPreferences与localstorage

[英]android storage persistence SharedPreferences vs localstorage

我正在开发基于HTML5的web应用,并计划使用phonegap或sencha将其发布为本地应用。

我需要一些东西来存储我的本地应用程序数据〜2MB(可以是名称/值对),但是存储需要保持持久性,不应在手机重启或重置为出厂默认设置时删除。

用户可以清除它们或它们的寿命是多少,以及在什么条件下被清除,andriod中SharedPreferences和localstorage的范围是什么?

我的另一个问题是有关sqlite的,andriod backup mgr是否会对此备份,并在用户恢复电话并且用户可以清除sqlite db时将其还原?

只能从原始应用程序访问SharedPreferences和localStorage。 localStorage通常有5MB的限制,但并非在所有手机上都有限制,有些会允许更多。 另外,localStorage仅在API级别7中可用。

当用户转到“应用程序”设置并手动清除数据时,将同时清除SharedPreferences和localStorage。

如果您的API级别为8或更高,则可以使用外部文件目录,该目录也是应用程序专有的。 用户清除此目录中数据的唯一方法是卸载应用程序。 您可以这样获取路径:

context.getExternalFilesDir(null).getAbsolutePath();

如果您的API级别<8,那么您仍然可以使用标准sdCard位置进行存储,但是在用户卸载应用程序之后,这些文件将位于该位置。

因此,最好的选择是将SQLite数据库存储在外部文件目录或sdCard上(如果API最低级别为<8)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM