2010-07-14 72 views
2

我有一个活动,定义如下:回复关键破坏活动?

<activity android:name="com.example.ui.HomeActivity" 
     android:alwaysRetainTaskState="true"/> 

一个奇怪的是,在模拟器上运行时,和返回键被按下时,活动被破坏(我看到的onDestroy()调用日志)。但是,当我的Nexus One手机上运行,​​并按下后退键时,活动不会被破坏(我没有看到在日志中调用onDestroy())。

有人能告诉我为什么吗?

谢谢。

回答

3

当活动在后台(按下回车键)后,它总是停止,但系统也可以决定销毁它(例如系统资源较低时)。你无法确定它何时会被销毁。

活动也可以通过致电finish()销毁。您可以通过检查onPauseonStop回调中的isFinishing()状态来确定。

不要指望onDestroy回调。如果系统会杀死活动,它将不会被调用。

0

默认情况下,按BACK键完成(销毁)当前活动并向用户显示上一个活动。

source