活动生命周期 - 数组被删除

时间:2013-05-11 15:54:14

标签: android listadapter activity-lifecycle

我的Activity生命周期有问题。在我的服务器通信活动中,我从服务器下载项目列表,然后为ListView设置适配器。

一切都很好但是如果我按下此屏幕上的主页按钮并在一段时间后(例如3小时或更长时间)通过应用程序管理器返回到屏幕,应用程序崩溃。问题出在onTextChanged()方法(对于通过EditText进行搜索很有用),我再次调用setAdapter()方法。有nullPointerException,因为我的数组以某种方式被删除。

为什么在恢复期间再次调用onTextChanged()方法?为什么数组会被删除?

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

请检查活动生命周期图:
https://developer.android.com/reference/android/app/Activity.html

按Home后,您的活动进入暂停状态 经过3小时甚至更短的时间后,系统可能会因资源管理而将其杀死 因此需要在下次发布时再次创建。

我认为您应该添加代码来处理onDestroy()onStop()

enter image description here

答案 1 :(得分:0)

通过覆盖

以与原始方式相同的方式检索数据
onResume() 

方法,预先检查数据是否存在。