Android中的静态安全吗?

Bos*_*one 7 static android

我在我的代码中使用了一个静态类,它定义了一个静态字段,我在Activity onStop/onStart调用之间重用它.这是一个场景:

  1. 用户点击"授权"按钮(静态数据被初始化)
  2. 停止活动并调用Web浏览器
  3. 浏览器执行回调并恢复活动(重用静态数据)

我的至少一个用户报告了步骤3中的故障,我无法重现,但看起来像是重置静态数据

有什么建议?

Hei*_*nen 10

那不安全.您的进程可以在onStop和onStart之间被终止,因此所有静态数据都将消失.实际上,您的活动甚至可以在进入onStop之前被杀死.在您的测试中,该过程未被杀死,但它是针对用户的.查看Android活动生命周期,其中有一个很好的流程图显示了可能性.

您需要以其他方式存储数据,例如,在prefs或数据库中.