android:用于销毁的堆栈跟踪

android:用于销毁的堆栈跟踪,android,destroy,activity-finish,Android,Destroy,Activity Finish,我的应用程序主要活动是“销毁”。我在destroy中有一条日志消息正在打印。但是调用finish的路径没有被执行 所以我想知道如何找出是什么触发了destroy()的调用。它是从我的代码完成的,还是任何其他系统错误 @Override protected void onDestroy() { try { super.onDestroy(); Log.i("StartUpActivity", "OnDestroy"); if (asyncT

我的应用程序主要活动是“销毁”。我在destroy中有一条日志消息正在打印。但是调用finish的路径没有被执行

所以我想知道如何找出是什么触发了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”。我希望这一页在其他活动的背压上不再可见。在这次活动的破坏过程中,我把一切都清理干净了。因此,由于nohistory=true,此活动自动被破坏,导致所有资源关闭,从而导致应用程序中出现异常

我通过移除此标志,并在第二个活动的backpressed上过度隐藏来进行更正


感谢您的回答

活动可能会被破坏的原因有很多。例如,如果用户旋转设备,默认行为是销毁活动并创建新活动


请参见此处的“处理配置更改”

…您在程序中的何处调用了finish()?onDestroy只有在您按下手机的默认后退按钮或您已写入完成的按钮时才会被调用,或者在某些事件完成后可能在asyncTask中,从您的代码中可以看出。谢谢,我的问题与此不同。谢谢你的提示和时间,我已经用答案编辑了我的que,非常感谢你的帮助和时间。我已经用我的案例和解决方案更新了我的问题。再次感谢