2012-07-03 116 views
2

当我的活动由于内存而被操作系统销毁时(例如,当电话打断它时),那么当我的活动尝试再次启动时,它不会回到任何预期的呼叫除了onDestroy()之外,我怎么能再次恢复我的活动。onDestroy()后会发生什么

注意: - 它不会返回onCreate()和onRestoreInstanceState()。 - 我的活动包含一个线程。

编辑:isFinishing()在onPause()(在中断之前)返回false,并且在再次返回时(中断消失后)在onDestroy()返回true。

回答

0

我的程序只需要设置我的活动“没有历史”选项设置为“假”

  • 在清单,应用,应用程序的节点,然后选择我的活动 -

之后,我发现它在尝试再次返回到我的活动时未调用onDestroy(),它按预期调用onResume()。并将“配置更改”设置为“方向”。

2

您应该重写onPause()和onResume()方法。

当某个电话或其他事件中断您的活动执行时,会调用onPause()。

然后,当您的活动再次执行时,onResume将被执行。

+0

我已经这样做了,但它并没有回到onResume(),所以我无法弄清楚如何恢复我的活动。 –

+0

感谢Thanos为您提供的帮助,但正如我所说,返回后它不会返回onRsume(),它只会去onDestroy()。 –

+0

是的,说实话onRestoreInstanceState()是最安全的方法去...我想不出为什么不执行! –