标签: android
我的活动定义如下:
<activity android:name="com.example.ui.HomeActivity" android:alwaysRetainTaskState="true"/>
奇怪的是,当在模拟器上运行并按下后退键时,活动被销毁(我在日志中看到了onDestroy())。但是当我在Nexus One手机上运行并按下后退键时,活动不会被销毁(我没有在日志中看到onDestroy())。
有人可以告诉我为什么吗?
感谢。
答案 0 :(得分:4)
当活动在后台时(按Back键后),它总是停止,但System也可以决定销毁它(例如,系统资源不足时)。你无法确定它什么时候被销毁。
通过调用finish()也可以销毁活动。您可以通过查看isFinishing()或onPause回调中的onStop状态来确定这一点。
不要指望onDestroy回调。如果系统会杀死活动,它就不会被调用。
答案 1 :(得分:0)
默认情况下,按BACK键完成(销毁)当前活动并将以前的活动显示给用户。
source