2017-12-16 18 views
-1

내 앱이 닫힐 때 무언가를하기 위해 onDestroy()을 사용하고 있지만 메뉴에서 내 앱을 닫을 때 작동하지 않습니다 (홈 버튼 왼쪽에있는 소프트 키를 가볍게 누르기 만하면 작동하지 않습니다) 삼성 갤럭시 예를 들어). 그래서 나는 앱을 죽일 때 onDestroy() 메서드를 호출하지 않는다고 추론합니다. 이런 식으로 신청서를 닫을 때 어떻게해야합니까?앱 종료시 무언가 수행

+1

모든 상황에서 모든 구성 요소에 대해 'onDestroy()'를 호출 할 필요는 없습니다. 프로세스가 종료되기 전에 아무 것도 * 호출 할 필요가 없습니다. 앱의 UI가 배경으로 이동하는 경우와 같이 무엇을하려고하든 더 빨리 수행해야합니다. – CommonsWare

답변

0

코드를 라이프 사이클의 onPause() 영역으로 이동하는 것이 좋습니다. 이것은 일반적으로 저장된 데이터를 저장하고 닫을 준비를하기에 더 좋은 장소입니다. 반면에 onDestory()는 열린 핸들을 닫을 수있는 더 좋은 장소입니다.이 핸들은 강제 종료 중에 시스템에 의해 어쨌든 닫힐 수 있습니다.

0

onDestroy()이 항상 호출되지는 않습니다. 따라서 onStop() 또는 onPause() 콜백에서 모든 작업을 수행해야합니다.

+0

'onStop()'과'onPause()'는 내가 액티비티를 변경할 때 호출되지만, 앱을 닫을 때만 액티비티를 바꿀 때 그것을하고 싶지 않습니다. – Jack