我的应用程序主要活动正在被“破坏”。我在destroy中有一条正在打印的日志消息。但是调用完成的路径没有被执行。
所以我想知道如何找出触发destroy()的内容。它是从我的代码或任何其他系统错误完成的。
@Override
protected void onDestroy() {
try {
super.onDestroy();
Log.i("StartUpActivity", "OnDestroy");
if (asyncTaskForSync != null && !asyncTaskForSync.isCancelled())
asyncTaskForSync.cancel(true);
if (DatabaseManager.getInstance() != null)
DatabaseManager.getInstance().close();
if (Utils.imageLoader != null)
Utils.imageLoader.stopThread();
} catch (Exception ex) {
ex.printStackTrace();
}
}
注意:答案: 我为我的创业活动保留了android:noHistory =“true”。我希望此页面在其他活动的背面不再可见。而且我在这次活动的破坏中保持了所有像db一样的清理工作。由于nohistory = true,此活动自动被破坏,导致所有资源关闭,从而导致我的应用程序出现异常。
我通过删除此标志并覆盖第二个活动的反向来纠正。
感谢您的回答
答案 0 :(得分:1)
可能会破坏活动的原因有多种。例如。如果用户旋转设备,则默认行为是销毁活动并创建新活动。
请参阅此处http://developer.android.com/guide/topics/fundamentals/activities.html
中的“处理配置更改”