2010.10.17 23:06

 
ActivityManager mActivityManager=(ActivityManager) getSystemService(ACTIVITY_SERVICE);
mActivityManager.restartPackage(String packageName);                  //2.1 version
mActivityManager.killBackgroundProcesses(String packageName);   //2.2 version

2.1 버전 상에서는 restartPackage 메소드를 이용하여 거의 완전한 어플리케이션을 종료 시킬수 있다. 
2.2 버전 상에서는 killBackgroundProcesses 메소드를 이용하여 불완전한 어플리키에션을 종료 시킬수 있다. (?)

2.2 버전 부터는 프로세스의 상태에 따라 중요하지 않은 프로세스만을 선별적으로 종료 시킨다. 

IMPORTANCE_EMPTY : 아무것도 없는 상황. 가장 낮음.
IMPORTANCE_BACKGROUND : 현재 동작하는 어플리케이션 컴포넌트가 없는 프로세스. 두 번째.
IMPORTANCE_SERVICE : 현재 서비스가 동작 중인 프로세스. 세 번째.
IMPORTANCE_VISIBLE : 화면상에 Activity가 동작하는 프로세스. 네 번째.
IMPORTANCE_FOREGROUND : 현재 사용자 UX와 지접 연관된 기능을 수행하는 프로세스. 가장 높음.

----------------------------------------------------------------------------------------------------------

직접 테스트 해 보았지만, 2.1상에서는 완전하게 종료하는 것을 볼 수 있는 반면, 2.2상에서는 종료가 되지 않았다. 
어디 다른 방법이 없는 것일까...


신고
Posted by 구름같은사나이

티스토리 툴바