我正在模拟器中启动我的应用程序,并在开始活动中看到对onDestroy()
的调用。 Android文档似乎暗示onDestroy()
仅在应用程序停止时才被调用。有没有其他可以调用的情况?它会导致我的应用程序出现问题,因为我正在关闭onDestroy()
方法中的执行程序(该程序是在类加载时创建的)。首先尝试使用执行程序然后抛出RejectedExecutionException
。我猜这是因为我关闭了它。onDestroy在模拟器中启动应用程序时调用
智慧感激地收到。
我正在模拟器中启动我的应用程序,并在开始活动中看到对onDestroy()
的调用。 Android文档似乎暗示onDestroy()
仅在应用程序停止时才被调用。有没有其他可以调用的情况?它会导致我的应用程序出现问题,因为我正在关闭onDestroy()
方法中的执行程序(该程序是在类加载时创建的)。首先尝试使用执行程序然后抛出RejectedExecutionException
。我猜这是因为我关闭了它。onDestroy在模拟器中启动应用程序时调用
智慧感激地收到。
onDestroy()只在应用程序关闭时被调用。以下是一些您可以尝试的操作:
该问题是由于应用程序启动后方向更改而引发的。方向更改重新启动应用程序,通过onDestroy()然后onCreate()强制执行。 – 2012-08-15 23:55:06
您是否在任何地方调用Activity.finish()? – techiServices 2012-08-15 20:46:40
未调用Activity.finish(),no。打破onDestroy()表明该活动正在重新启动。我认为这可能是因为它在开机后从横向变为纵向。这可能解释了它。我需要将执行程序创建移动到onCreate()我认为。是的,就是这样。我需要以预定的方向启动应用程序以避免此问题,并且将执行程序创建移至onCreate以保证安全。感谢您的意见。 finish()做什么? – 2012-08-15 21:00:21
'finish()'导致'onDestroy()'被调用。当你旋转你的设备Android将杀死你的应用程序并重新创建它。因此,您需要处理这种情况以最适合您的需求。阅读API文档中的活动生命周期。 http://developer.android.com/training/basics/activity-lifecycle/index.html – techiServices 2012-08-15 21:54:37