当我的活动由于内存而被操作系统销毁时(例如,当电话打断它时),那么当我的活动尝试再次启动时,它不会回到任何预期的呼叫除了onDestroy()之外,我怎么能再次恢复我的活动。onDestroy()后会发生什么
注意: - 它不会返回onCreate()和onRestoreInstanceState()。 - 我的活动包含一个线程。
编辑:isFinishing()在onPause()(在中断之前)返回false,并且在再次返回时(中断消失后)在onDestroy()返回true。
当我的活动由于内存而被操作系统销毁时(例如,当电话打断它时),那么当我的活动尝试再次启动时,它不会回到任何预期的呼叫除了onDestroy()之外,我怎么能再次恢复我的活动。onDestroy()后会发生什么
注意: - 它不会返回onCreate()和onRestoreInstanceState()。 - 我的活动包含一个线程。
编辑:isFinishing()在onPause()(在中断之前)返回false,并且在再次返回时(中断消失后)在onDestroy()返回true。
我的程序只需要设置我的活动“没有历史”选项设置为“假”
- 在清单,应用,应用程序的节点,然后选择我的活动 -
之后,我发现它在尝试再次返回到我的活动时未调用onDestroy(),它按预期调用onResume()。并将“配置更改”设置为“方向”。
您应该重写onPause()和onResume()方法。
当某个电话或其他事件中断您的活动执行时,会调用onPause()。
然后,当您的活动再次执行时,onResume将被执行。
我已经这样做了,但它并没有回到onResume(),所以我无法弄清楚如何恢复我的活动。 –
感谢Thanos为您提供的帮助,但正如我所说,返回后它不会返回onRsume(),它只会去onDestroy()。 –
是的,说实话onRestoreInstanceState()是最安全的方法去...我想不出为什么不执行! –