48

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

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

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

或者,Android M Preview 2 ROM 可能存在错误...

4

3 回答 3

79

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

提炼:

自动备份功能通过将您的应用在用户设备上创建的数据上传到用户的 Google Drive 帐户并对其进行加密来保存这些数据。您或用户无需支付数据存储费用,保存的数据不计入用户的个人云端硬盘配额。在 M Preview 期间,用户每个 Android 应用最多可以存储 25MB。

于 2015-08-14T12:51:35.650 回答
12

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

按照官方的说法,文档说为了避免自动备份需要<application android:allowBackup="false">在应用程序标签下的清单文件中进行:

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

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

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

于 2018-03-30T06:49:13.020 回答
6

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

于 2016-05-19T06:11:35.323 回答