我使用静态变量在一个类中的Android:上课的时候被卸载或当虚拟机停止保持静态变量为一个较长的时间段 - Android电子
class Test{
static int x;
}
这个变量被删除。
我需要保持这个变量的时间较长,但我不能使用SharedPreferences或任何永久存储,因为这个静态字段中的信息是敏感的,不应该存储在任何可访问的存储中。
有什么建议吗?
编辑:
由于Android服务在后台运行,并且不太受操作系统停止,我决定成立一个服务类中的静态字段,但奇怪的是这并没有解决这个问题,它看起来操作系统将卸载服务类,即使服务本身仍在后台运行,或者至少它似乎在某个事件被调用时再次加载服务类,我不知道到底发生了什么,但静态字段变为NULL后一段时间,我在一个计时器中设置通知来检查。任何人都可以证实此事
使用数据库?你也可以加密它。 –
“可访问存储”是什么意思?唯一可以访问'SharedPreferences'的人是那些为他们的设备建立根的人。这不像你的领域在某种程度上魔法般地抵御所有来者。毕竟,用适当的工具,人们也可以得到这一点。你担心的攻击者的个人资料可能会访问这个“敏感”的价值? – CommonsWare
我知道SharedPreferences需要读取根访问权限,但攻击者访问RAM更加困难,所以如果我可以创建RAM磁盘或类似的东西,它将解决我的问题 – ammcom