且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2023-02-20 09:12:21

这是因为你的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。