한 명의 고객이 Task Killer로 앱을 종료 한 후 시작시 내 앱 강제 종료에 대한 의견을 저에게 보냈습니다. 나는 태스크 킬러가 위험하고 안드로이드가 윈도우를 RAM으로 관리하지 않기 때문에 폰 성능에 아무런 도움이되지 않는다고 말했다.하지만 그는 태스크 킬러를 제거하지 않을 것이다.앱을 작업 완료 한 후 Force Close 시작
는는 강제 닫기는 다음과 같이 진행됩니다
이A) 사용자가 내 응용 프로그램 일반적으로
B) 사용자 작업이 내 응용 프로그램을 죽이고을 사용
C)는 사용자가 내 응용 프로그램을 다시
D)을 출시 시작시 강제 닫기
E) 사용자가 내 앱을 다시 시작합니다.
F) 모든 것이 의도 한대로 작동합니다.
RAM에서 지워지므로 내 정적 객체가 null이되고, 응용 프로그램을 강제 종료하는 NullPointerExceptions가 발생하므로 문제가 있다는 것을 발견했습니다. 그러나 정적 인 객체를 사용하고있는 곳이 많습니다 (정적 객체를 사용하지 않는 경우) NullPointerExceptions이 많은 곳에서 발생할 수 있습니다.
이 동작은 Android 2.3.7 이하에서만 발생합니다. 안드로이드 4.0의 자체 작업 킬러 (길게 누르는 홈으로 접근 할 수있는 것)는 앱을 올바르게 죽인 다음 강제 종료없이 실행합니다.
어떻게이 동작을 피할 수 있습니까?
앱 로그와 시작 코드를 입력하십시오. –
그는 로그를 제출하지 않았지만 기본적으로 앱이 일시 중지 된 위치에서 실행하려고 시도하며 정적 개체를 가져 오려고 할 때마다 NPE와 강제 종료가 종료됩니다. 중요한 문제는 예외가 같은 장소에서 결코 잡히지 않는다는 것입니다. 사용자가 마지막으로 방문한 활동을 던져서 예외 처리를 더욱 어렵게 만듭니다. – razielsarafan
앱 코드가 있습니까? Log.e 또는 Log.d를 통해 로그를 얻은 다음 여기에 게시하십시오. 아무도 당신을 도울 수있는 그렇지 않으면 몇 가지 코드를 넣어. –