私のアプリケーションの主なアクティビティは「破壊されました」。私は破壊されたログメッセージを印刷しています。しかし、仕上げが呼び出されているパスは実行されていません。アンドロイド:破棄のためのスタックトレース
だから私はどのように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();
}
}
注:回答: 私は保たれていたアンドロイド:私のスタートアップ活動のためのnoHistory = "true" を。私はこのページを他の活動からのバックプレスで再び見ることができないようにしたかったのです。そして、私はこの活動の破壊の中でdb closeのようにすべてをきれいにしていました。したがって、nohistory = trueのため、このアクティビティは自動的に削除され、すべてのリソースが閉じられ、アプリケーションで例外が発生しました。
このフラグを削除して、2番目のアクティビティをオンにして修正しました。
あなたのお返事ありがとう
http://developer.android.com/guide/topics/fundamentals/activities.html「構成変更の処理」? onDestroyは、携帯電話のデフォルトの戻るボタンまたは完成したボタンを押したときにのみ呼び出されます。 – Maverick
ありがとうございます、私の問題はあなたのコードから見ることができる特定のイベントの完了後にasyncTaskにあるかもしれません異なる。手がかりとあなたの時間をありがとう私は回答と私のqueを編集しました – png