6

在我的应用程序中,当用户按下 HOME 键并在一段时间后返回应用程序时,我的应用程序会在各个位置和活动上给出 NullPointerExceptions。我知道我的应用程序正在被操作系统杀死以释放一些资源。现在我希望当用户再次回到应用程序并且应用程序之前被杀死时,我怎样才能检测到我的应用程序被杀死以便我可以重新加载不同的资源?

4

3 回答 3

6

onCreate (Bundle savedInstanceState)被调用时,检查它savedInstanceState不为空。如onCreate所述:

savedInstanceState 如果 Activity 在之前被关闭后被重新初始化,那么这个 Bundle 包含它最近在 onSaveInstanceState(Bundle) 中提供的数据。注意:否则为空。

另请参阅onSaveInstanceState(),它不是正常生命周期的一部分,但在活动被杀死之前被调用。

注意:如果用户执行 A ----> B ----> C --back--> B ----> C,第二次创建 C 时传递的包将是null,因为它是新的例如,被杀死后重新创建的不一样。

于 2013-01-17T13:15:17.650 回答
3

基本上:看这个页面上的图片:http: //developer.android.com/reference/android/app/Activity.html

在此处输入图像描述

onCreate在不同情况下调用的各种函数是onStartonResume

于 2013-01-17T11:10:23.867 回答
0

我的建议是:实现你自己的Application,如果onCreate()被调用,应用程序在后台被杀死

于 2015-03-04T10:04:19.007 回答