2011-05-05 32 views
0

我有一个非常令人发指的错误,我试图追踪并且出现以下情况。Android 2.2.1,方向更改和onDestroy()

这里是我的场景,我启动一个活动,将屏幕方向更改为横向,然后再将其更改回纵向,然后单击设备后退按钮。在我这样做之后,我的活动的onDestroy永远不会被调用。它在我改变方向时被调用,但当用户点击后退键时不会被调用。

  1. 它只发生在Android 2.2.1上,而调试器没有连接。
  2. 它涉及到更改屏幕方向。
  3. onDestroy永远不会在屏幕方向后调用。

我在这里我束手无策,我在寻找什么可以阻止系统调用的onDestroy想法......

回答

2

的Android docs状态

Note: do not count on this method being called as a place for saving data! For example, if an   
activity is editing data in a content provider, those edits should be committed in either onPause() or 
onSaveInstanceState(Bundle), not here. 

如果您还查看活动生命周期中的Killable列,无论出于何种原因,该应用程序可能会在系统预先蜂窝系统上的onPause之后的任何时间点被杀死。