2015-08-14 41 views
30

在运行Android M Developer Preview 2的Nexus 5上,当卸载/重新安装应用程序时,设备正在检索很久以前存储的共享首选项,例如布尔值isFirstLaunchAndroid M奇怪的共享首选项问题

清除这些的唯一方法是从设备设置中手动执行。

Android M上的共享偏好行为是否有任何变化?我找不到关于此的任何文档。

或者,也许在Android M预览版2 ROM有一个bug ......

+0

我无法在运行MNC v2的Nexus 5上重现此行为。卸载应用程序(无论是通过主屏幕启动器还是“gradle uninstallDebug”拖放),并重新安装应用程序(无论是通过Android Studio还是通过'gradle installDebug'),都可以清除任何现有的首选项数据。如果你有机会,并可以写出你的确切步骤来重现这一点,我会最感兴趣的 - 谢谢! – CommonsWare

+2

我意识到我在清单中有'android:allowBackup'参数为'true'。显然,在最近版本的Android Studio/build工具中,它会自动添加到清单中。如果您将其设置为“false”,问题就会消失,正如我对已接受答案的评论中所指出的那样。希望这可以帮助 ! – nios

+0

我花了几个小时来解决这个问题,因为应用程序还原了他们的旧数据。我得到了奇怪的结果。 –

回答

50

这是因为版本的Android M将采用Automatic Backupsold链接)。

提取物:

自动备份功能把它上传到用户的谷歌云端硬盘帐户和 加密它保留自己的应用 用户设备上创建的数据。您或用户对数据存储 不收取任何费用,并且保存的数据不会计入用户的个人Drive 配额。在M预览期间,用户每个 Android应用可以存储高达25MB的数据。

+7

感谢您的回答!当我想到如何正确使用备份功能时,我会将'android:allowBackup'清单属性设置为false。 – nios

+0

我也遇到过这个问题。当android:allowBackup为false时可以。你有没有找到其他解决方案? – MiloRambaldi

+0

谷歌腐烂的链接,我认为它可以在这里找到现在:https://developer.android.com/guide/topics/data/autobackup.html – nmr

4

打开设置 - >备份&复位 - >自动还原 - >关闭 如果为真,则应用缓存和数据库将被恢复。