突然之间,每次我启动应用程序时,我的用户首选项都会被清除。我没有直接在 Activity 中使用首选项,而是在我的 Application 对象中有一个辅助类,它可以像这样访问首选项:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
直到现在为止,这一直很有效。我有一个自定义应用程序类,它管理应用程序的大部分内容,以避免在创建/销毁活动时重新生成此内容的问题。
我确实意识到有一种方法可以清除用户首选项,但我的代码中没有这种方法。当我开始使用 Proguard 进行发布构建时,这似乎确实开始发生,但现在调试构建也发生了这种情况。从 Eclipse 重新下载新应用程序,甚至只是重新启动应用程序都会导致首选项被清除。
我一直在检查最近的代码更改,但没有发现任何相关的内容。当我即将在市场上发布应用程序时,我不断在调试和发布之间切换,但我不认为这会导致这样的问题。
有任何想法吗?
-Kevin
引用一下你的话...
这似乎确实开始发生在
我开始使用 Proguard 进行构建
发布版本
由于发布版本和调试版本使用不同的密钥进行签名,因此它们不能在同一设备上共存。您确定在安装发布版本时没有卸载调试版本吗?卸载将破坏与该应用程序相关的任何首选项。
既然你说你没有可以删除首选项的代码,我所知道的消除首选项的唯一其他方法就是清除或删除物理首选项 XML 文件。因此,您可以检查以确保没有任何代码清除应用程序本地存储区域中的文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)