首页 >社区问答列表 >Android 锁屏后一段时间,解锁后出现问题

Android 锁屏后一段时间,解锁后出现问题

我的程序比如一共有三个Activity, ABC,运行后首次打开肯定是A(也就是主界面),在A的界面中点击Button跳转到B,在B界面停留了一会,然后我就锁屏,大概过了20分钟吧,我解锁一看 出了问题了,解锁之后的界面显示的是A,而不是B,并且A上面的数据都没了,集合中的数据都没了,这是咋回事???求解答!!! 并且我的小米手机6.0的系统没事,在长的时间也没问题,4.xx的手机就会出现这个问题。

  • 面对疾风吧
  • 面对疾风吧    2016-11-07 14:54:131楼

    这是因为你的activity在后台的时候,由于手机内存不足,被回收掉,当你解锁的时候,系统会尝试帮你重启activity,正常情况下应该会首先恢复你的B activity,可能是由于你代码的某种原因(Crash)B activity被finish掉了,然后再恢复A activity,但是activity里面的数据会被回收掉,所以你的list里面东西就没了,你可以在activity的onSavedInstance方法中,把你activity里面一些关键的数据保存在bundle里面,这样当你的activity由于内存不足被回收的时候,这些数据会被保存下来,然后当页面恢复的时候,也就是重新创建了activity,在onCreate的参数中(bundle),你可以从bundle中拿到你保存的那些数据,记得要首先把bundle判断null,因为正常启动的bundle是null,除非是系统帮你恢复,并且你保存了bundle。

    +0添加回复

  • 回复