본문 바로가기

JAVA/Android

[JAVA][Android] KillProcess로 인한 앱 충돌 / 비정상 종료

이슈 양상 
 : 앱 종료 다이얼로그에서 확인 키 입력
  -> 자원 해제 후 아래 로직을 이용하여 완전히 앱을 종료함

 

moveTaskToBack(true);
finishAndRemoveTask();
android.os.Process.killProcess(android.os.Process.myPid());

 

*killProcess 호출 시점에 발생한 crash

 

10:12:41.370 1111 1202 W InputDispatcher: 
	channel '....MainActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x9: system_server
10:12:41.370 1111 1202 E InputDispatcher: 
	channel '....MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!: system_server

 

killProcess는 앱을 종료 후 프로세스까지 완전히 종료시키는 방법이다.

killProcess 호출 후 onDestroy 타며 정상적으로 종료 되길 기대했으나 위 로그 남기며 크러쉬 발생, 비정상종료 되었다

잘못 사용할 경우 앱 종료 시 처리되어야 할 부분들이 처리되지 않으며 문제가 발생할 수 있는 것 확인하였음

 

이슈 대응
killProcess 대신 finishAffinity 또는 finishAndRemoveTask 사용 시 정상 종료 확인