Android M奇怪的共享偏好问题

时间:2015-08-14 12:49:31

标签: android sharedpreferences android-6.0-marshmallow

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

清除这些内容的唯一方法是从设备设置手动执行此操作。

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

或许Android M Preview 2 ROM有一个错误......

3 个答案:

答案 0 :(得分:68)

这是因为Android M会显示Automatic Backupsold链接)。

提取物:

  

自动备份功能可保留您的应用在其上创建的数据   用户设备将其上传到用户的Google云端硬盘帐户和   加密它。您或用户无需收取数据存储费用   并且保存的数据不计入用户的个人云端硬盘   配额。在M预览期间,用户最多可以存储25MB   Android应用。

答案 1 :(得分:5)

打开设置 - >备份&重置 - >自动恢复 - >离 if is on然后应用程序缓存和数据库将被恢复。

答案 2 :(得分:3)

即使已经回答了上述问题,也没有提到实际解决方案,即使在卸载应用程序后也要避免自动备份。

根据官方的说法,doc说要避免自动备份需要在应用程序标记下的清单文件中执行<application android:allowBackup="false">

  

启用和禁用备份   针对Android 6.0(API级别23)或更高级别的应用会自动参与自动备份,因为android:allowBackup属性默认为true。为避免混淆,您应该在清单中明确设置属性,如下所示:

<manifest ... >
    ...
    <application android:allowBackup="true" ... >
        ...
    </application>
</manifest>
  

如果您的应用可以通过其他机制重新创建状态,或者当您的应用处理不应备份的敏感信息时,您可能要将备份设置为false 来禁用备份