android:用于销毁的堆栈跟踪

时间:2012-01-06 15:08:16

标签: android destroy activity-finish

我的应用程序主要活动正在被“破坏”。我在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,此活动自动被破坏,导致所有资源关闭,从而导致我的应用程序出现异常。

我通过删除此标志并覆盖第二个活动的反向来纠正。

感谢您的回答

1 个答案:

答案 0 :(得分:1)

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

请参阅此处http://developer.android.com/guide/topics/fundamentals/activities.html

中的“处理配置更改”