2017-12-18 9 views

답변

0

onDestroy가 호출 될 것이라는 보장은 없습니다. 그것에 의존하지 말고 기회 주의적 정리에만 사용해야합니다. 특히 충돌이 발생한 경우 앱이 안전하게 작동 할 수있는 상태가 아니기 때문에 충돌이 발생하지 않을 것입니다.

0

몇 가지 작업을 수행 할 수 있습니다. 응용 프로그램 파일에서 절대 필요한 정리를 관리하십시오. (메모리 부족) 콜백은 동일한 메소드를 호출 할 수 있습니다.

하나의 아이디어는 응용 프로그램 클래스의 활성 버전에 대한 참조를 유지하는 기본 또는 추상 모델을 갖는 것입니다. 그런 다음 메모리가 부족하면 수동으로 (selectedActivity.OnDestroy)를 호출 할 수 있습니다.

메모리가 부족하면 정리 작업이 필요하지 않습니다. unhandledException listener에 하나를 추가하여 크래시가 정리를 호출 할 수 있도록 할 수도 있습니다. 앱 종료시 최종 정리가 얼마나 중요한지에 달려 있습니다.

정리 작업이 너무 무겁거나 시간이 많이 소요되는 경우 DB 또는 공유 설정에서 시작시 확인하고 다음번 앱 실행시 정리할 때 "불량 클로저"플래그를 설정하기 만하면됩니다.