今天偶然碰到一个问题,测试人员卸载了app,安装新的app时,没有登录直接到了应用主页面。然后就开始各种巴拉巴拉一大堆的,催促赶紧解决。
正常情况下,卸载应用时SP中存储的登录等一系列信息也会随之清除。但是上边的问题是如何引发的呢????
这就要从allowBackup属性说起了。
allowBackup是什么?
从名字就可以看出,这其实是一个备份功能。在 Android API level 8 开始引入的系统级备份和恢复功能。
可以通过在清单文件中设置 android:allowBackup 属性,来为其标记开关。在允许备份后,可以通过 adb 命令 adb backup 和 adb restore 来将应用数据进行备份和恢复。该属性默认值为 true。
利用备份功能,我们可以在格式化手机、换机前,将当前手机的很多信息备份一份,之后再进行还原,这其实是为了方便用户的功能。
这个属性存在一定的安全隐患,容易造成隐私泄露。
我们不主动备份就不存在问题了?
在安装了 Google Play 服务的手机上,开启备份并且在设置中开启自动备份后,是可以定时自动备份的。
国内的一些厂商,也会在自己的 ROM 中实现备份功能,如小米的 MIUI。
这就引发了备份的数据不可控的问题。在我们开发时,频繁卸载、安装,可能就会在某个时刻恢复到之前备份的数据,这并不是我们想看到的。
网友评论