我在代码中使用一个静态类来定义一个静态字段,我在 Activity onStop/onStart 调用之间重用该静态字段。这是一个场景:
- 用户点击“授权”按钮(静态数据初始化)
- 活动停止并调用 Web 浏览器
- 浏览器执行回调,Activity恢复(复用静态数据)
至少我的一个用户报告了步骤 3 中的失败,我无法重现该错误,但看起来像是静态数据的重置
有什么建议么?
那不安全。您的进程可以在 onStop 和 onStart 之间被终止,因此所有静态数据都将消失。事实上,您的 Activity 甚至可以在到达 onStop 之前被终止。在您的测试中,该进程并未被终止,但它是为了用户而终止的。请参阅Android活动寿命 http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle循环,有一个很好的流程图显示了可能性。
您需要以其他方式存储数据,例如在首选项或数据库中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)