Android,sharedPreferences在升级应用程序时自动删除未使用的首选项列表

标签 android sharedpreferences

我的应用程序有很多版本,一些早期版本的 sharedPreferences 没有用。 让应用程序本身整理出仍在使用的应用程序并删除未使用的应用程序的最佳方法是什么? 基本上这就像解析首选项 XML 以提取当前的 android::key 并通过获取设备上存在的所有首选项来删除不再存在于 XML 中的首选项。

不确定我是否清楚,但我有很多不再使用的共享首选项,必须手动建立列表可能是问题的根源。

任何提示都会很棒, 非常感谢

最佳答案

你可以像这样一个一个地删除你不再使用的键

Map<String,?> prefs = pref.getAll();
for(Map.Entry<String,?> prefToReset : prefs.entrySet()){
    if(prefToReset.getKey().equals("someKey")){
         pref.edit().remove(prefToReset.getKey()).commit();
    }

}

虽然这样做真的没有性能上的好处

关于Android,sharedPreferences在升级应用程序时自动删除未使用的首选项列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29374206/

相关文章:

android - 为什么 Android Debug模式会删除我的应用程序首选项?

java - 尝试使用动态创建的图像按钮时出现空指针异常

android - "encrypted store"在Android中是如何使用的?

java - Horizo​​ntalScrollView 中的捕捉效果

java - 从文件中读取而不关闭它?

java - Android 共享首选项防止在存储对象时覆盖

java - android 共享首选项似乎被 Java 覆盖

android - 我们可以在没有特定平台的情况下集成 Firebase 和 React 原生应用吗?

android - OpenCV:从已知大小的正方形中查找像素宽度

android - 如何读/写 bool 首选项