Android app process kill

|

http://blog.naver.com/PostView.nhn?blogId=huewu&logNo=110082677696

 

http://sd0720.blogspot.kr/2012/06/process-kill.html

 

 

 

 

안드로이드 어플 완전 종료 (Process Kill)

이번 포스팅은 안드로이드에서 실행된 어플의 프로세스 종료에 대해 정리를 해보려고 합니다.

참고 : Android Developers Dev Guide - Framework Topics Activities

위의 링크는 안드로이드 Develop 공식 사이트이며, 그중에 Activity에 대한 내용을 링크해놓은 것입니다. 참고를 하면 도움이 될 것 같습니다.

본격적으로,

Activity를 종료 시키는 방법을 나열한다면, 


1
2

1
2

1
2

1
2
3

1
2
3
// 첫번째 방법
finsish();

// 두번째 방법
System.exit(0);

// 세번째 방법
android.os.Process.killProcess(android.os.Process.myPid());

// 네번째 방법
ActivityManager am  = (ActivityManager)getSystemService(Activity.ACTIVITY_SERVICE);
am.restartPackage(getPackageName());

// 다섯번째 방법
ActivityManager am  = (ActivityManager)getSystemService(Activity.ACTIVITY_SERVICE);
am.killBackgroundProcesses(getPackageName());


여기서 첫번째 방법은 Activity가 종료되지만 Task 상에서 Process는 실제 종료된 상태는 아닙니다. 따라서 두번째와 세번째를 사용하면 Process까지 종료를 시키게 됩니다.

하지만 두번째 세번째 방법도 Activity를 둘 이상을 사용하게 된다면 Process가 종료되었다가 이전 Activity로 Process가 다시 실행되어 Process가 종료되는 것이 아니라 다시 실행되고 이전 Activity로 돌아가되 됩니다.

네번째 방법과 다섯번째 방법은 구글로 검색하고 포럼에서 게시글을 찾아보고 나온 방법인데요. 이것도 현재 Froyo 버전 이후부터는 작동되지 않는 것을 확인했습니다.(저는 테스트를 2.3.3 버전의 넥서스 원으로 테스트를 하여 확인했습니다.)

따라서 둘 이상의 Activity를 사용할 때는 이전 Activity도 함께 finish를 하고 두번째나 세번째 방법으로 종료를 해야 다시 Process가 살아나지 않는 것으로 확인하였습니다.

'Android 개발 > Android SDK' 카테고리의 다른 글

out of memory  (0) 2012.11.22
안드로이드의 파일 입/출력  (0) 2012.02.12
dalvik debugger  (0) 2012.01.09
Handler와 AlarmManager를 통한 Timer 작업 처리  (0) 2011.05.12
Bitmap OutofMemoryError  (0) 2011.05.12
And