当我开始调用我的android-activity时,onCreate()
被调用onResume()
。
当我按下后退按钮返回主屏幕并再次点按应用图标时,先调用onCreate()
,然后调用onResume()
,然后再调用onDestroy()
。< / p>
我的应用程序仍处于活动状态,但由于onDestroy()
将一些成员设置为null,因此执行某些操作会导致错误。
为什么?
更新:按下后等待30秒后一切正常。除了将一些变量设置为null并.interrupt()
使用后台线程之外,我没有在onDestroy中做任何重做。
答案 0 :(得分:3)
自己想出来。我对Activity
的理解是有缺陷的。当然,Android会在旧 Activity
实例上调用onDestroy(),这可能会在构建新之后几秒钟发生。
答案 1 :(得分:0)
onDestroy
被调用,因为默认情况下,按回键会导致您的活动调用finish()
,从而启动销毁调用onDestroy()的活动。
为了防止在活动被破坏的情况下采取某些行动,请执行以下操作:
if(!isFinishing()) {
// do your action here
}
isFinishing是Activity的一种方法。
答案 2 :(得分:0)
答案 3 :(得分:0)
我认为除了你所描述的内容之外还有一些东西。 Android不仅可以防止活动被破坏,还必须在主线程上发生。
症状听起来就像你有: