我的Activity生命周期有问题。在我的服务器通信活动中,我从服务器下载项目列表,然后为ListView设置适配器。
一切都很好但是如果我按下此屏幕上的主页按钮并在一段时间后(例如3小时或更长时间)通过应用程序管理器返回到屏幕,应用程序崩溃。问题出在onTextChanged()方法(对于通过EditText进行搜索很有用),我再次调用setAdapter()方法。有nullPointerException,因为我的数组以某种方式被删除。
为什么在恢复期间再次调用onTextChanged()方法?为什么数组会被删除?
感谢您的帮助。
答案 0 :(得分:0)
请检查活动生命周期图:
https://developer.android.com/reference/android/app/Activity.html
按Home后,您的活动进入暂停状态
经过3小时甚至更短的时间后,系统可能会因资源管理而将其杀死
因此需要在下次发布时再次创建。
我认为您应该添加代码来处理onDestroy()
和onStop()
。
答案 1 :(得分:0)
通过覆盖
以与原始方式相同的方式检索数据onResume()
方法,预先检查数据是否存在。