내 응용 프로그램의 주요 활동이 "파괴"되고 있습니다. 인쇄중인 파괴중인 로그 메시지가 있습니다. 그러나 마무리가 호출되는 경로는 실행되지 않습니다.android : 파괴 스택 추적
그래서 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로 인해이 활동이 자동으로 삭제되어 모든 리소스가 닫히고 내 애플리케이션에서 예외가 발생합니다.
이 플래그를 제거하고 두 번째 활동의 onbackpressed를 무시하여 수정했습니다. 귀하의 답변
덕분에
http://developer.android.com/guide/topics/fundamentals/activities.html "구성 변경 처리"? onDestroy는 휴대 전화의 기본 뒤로 버튼이나 완성 된 버튼을 누르거나 코드에서 볼 수있는 특정 이벤트가 완료되면 asyncTask에있을 때만 호출됩니다 – Maverick
감사합니다. 내 문제는 다른. 단서와 귀하의 시간을 주셔서 감사합니다 내 질문에 대답을 편집했습니다 – png