关于如何禁止删除SharedPreference的一个尝试
2016-08-15 15:09
169 查看
苹果和安卓都有一套缓存变量的机制,但是苹果的userDefault不会被那么容易清理掉,相反安卓的内存清理机制导致了保存在SharedPreference的一些变量经常被删除掉。
正好赶上项目有个需求是需要SharedPreference不能被APP的使用者那么容易的清除掉。于是看了些文章。最后把答案所在了android:manageSpaceActivity 这个标签属性上。
这个属性是在application时候定义的,这个属性指定了一个用于清除数据的Activity,这样一来开发者可以向用户指定开放那些数据用于清除,否则,默认情况是全部都会清除的。原文:
The fully qualified name of an Activity subclass that the system can launch to let users manage the memory occupied by the application on the device. The activity should also be declared with an element.
大概说一下,android:manageSpaceActivity 是AndroidManifest.xml中的application标签的一个属性,用于指定一个Activity来管理数据,也就是指定让某个Activity变成为管理空间的Activity。例如我项目中就假如了
android:manageSpaceActivity=".ManageSpaceActivity" 这个属性。就是指定一个叫ManageSpaceActivity"的Activity来管理我这个APP内的数据空间。而在这个Activity中其实我什么也没写。就是做任何事情。也就不会清除当前APP的数据空间。我的SharedPreference 就可以不被用户在后台点清理掉数据了。当然用别的方法还是可以清理掉的。
正好赶上项目有个需求是需要SharedPreference不能被APP的使用者那么容易的清除掉。于是看了些文章。最后把答案所在了android:manageSpaceActivity 这个标签属性上。
这个属性是在application时候定义的,这个属性指定了一个用于清除数据的Activity,这样一来开发者可以向用户指定开放那些数据用于清除,否则,默认情况是全部都会清除的。原文:
The fully qualified name of an Activity subclass that the system can launch to let users manage the memory occupied by the application on the device. The activity should also be declared with an element.
大概说一下,android:manageSpaceActivity 是AndroidManifest.xml中的application标签的一个属性,用于指定一个Activity来管理数据,也就是指定让某个Activity变成为管理空间的Activity。例如我项目中就假如了
android:manageSpaceActivity=".ManageSpaceActivity" 这个属性。就是指定一个叫ManageSpaceActivity"的Activity来管理我这个APP内的数据空间。而在这个Activity中其实我什么也没写。就是做任何事情。也就不会清除当前APP的数据空间。我的SharedPreference 就可以不被用户在后台点清理掉数据了。当然用别的方法还是可以清理掉的。
相关文章推荐
- 关于如何 确认删除的另外一个办法。
- 关于如何 确认删除的另外一个办法
- 在SQL200中误删除了一个表如何恢复
- 如何删除一个表中某列是重复的数据?
- 如何编程实现删除一个sap的在线用户
- 关于asp.net(c#),webconfig中如何定义一个字符串让所有页面共同使用?
- PHP中如何复制或者删除一个目录
- 向大家请教一个关于sharepoint2003的问题,如何使一个Custom List in Datasheet View中某个field从其他list抽取数据当显示时?
- 如何删除一个html标签的方法
- 如何编程实现删除一个sap的在线用户
- 如何有效的删除一个大表(extent数很多的表)
- 在SQL200中误删除了一个表如何恢复
- 关于hook设置函数如何支持多核CPU的一个说明
- 如何删除一个DCOM服务
- 如何编程实现删除一个sap的在线用户
- 关于如何计算子网掩码和广播地址的问题的一个例子
- 关于GAC中,如何将二个DLL Library合并成一个DLL,并存入cache中?
- 如何限制在一个表格里面禁止使用右键
- 在使用JS调用Window.close()方法关闭一个窗口是,如何禁止弹出对话窗口?
- 关于hook设置函数如何支持多核CPU的一个说明