Android M奇怪的共享偏好问题

nio*_*ios 42 android sharedpreferences android-6.0-marshmallow

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

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

Android M上的共享首选项行为是否有任何变化?我找不到任何关于此的文件.

或许Android M Preview 2 ROM有一个bug ...

Kno*_*sos 69

这是因为Android M将具有自动备份功能(链接).

提取:

自动备份功能会将用户设备上创建的数据上传到用户的Google云端硬盘帐户并对其进行加密,从而保留这些数据.您或用户无需为数据存储付费,并且保存的数据不计入用户的个人云计算配额.在M预览期间,用户每个Android应用程序最多可以存储25MB.

  • 感谢您的回答 !我将`android:allowBackup` manifest属性设置为false,同时我想到了如何正确使用备份功能. (8认同)

小智 5

打开设置 - >备份和重置 - >自动恢复 - >如果打开则关闭然后应用程序缓存和数据库将恢复.


Shy*_*dda 5

即使已经在上面回答了这个问题,也没有提到避免卸载后自动备份的实际解决方案。

根据官方的说法,医生说,为避免自动备份,需要<application android:allowBackup="false">在Manifest文件中的应用程序标签下执行以下操作:

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

<manifest ... >
    ...
    <application android:allowBackup="true" ... >
        ...
    </application>
</manifest>
Run Code Online (Sandbox Code Playgroud)

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