이 블로그 검색

2011년 7월 8일 금요일

어플리케이션 종료하기.

안드로이드 어플리케이션을 사용하다 보면
폰 내부에 메모리를 잡아 먹는 몇몇 어플때문에
속도가 느려지곤한다.
그래서 이 어플리케이션들을 말끔히 종료 시키기 위해
Advanced Task Killer 같은 어플을 써서
메모리를 잡아먹고있는 어플을 강제 종료 시키는 일이 종종 있다.
때문인지 이 어플은 안드로이드 유저에게 필수 어플이 되었는데,
물론 좋은 App가 있기는 하지만 이는 왠만해선 없어야 할 일이다.
만든 어플리케이션들이 종료 했을때
제대로 종료되지 않고 메모리를 먹는다면 사용자들에게 불편을 주기 때문이다.
이런것을 막으려면 우리는 어플리케이션 종료시 말끔하게 메모리에서 아웃 시켜야 한다.
보통 어플리케이션 종료시에 사용하는 메서드는 finish();를 많이 쓴다.
하지만 이건 잘못 오해를 하는 경우가 있다.
finish(); 는 해당 액티비티를 종료하는 메서드 인데
대부분의 개발자들은 이것을 어플리케이션 종료시에 사용하고 있다.

이는 마치 어플리케이션이 종료되는것처럼 보이지만
사실은 어플리케이션을 실행되 있고 해당 엑티비티만 종료되고 App자체는 살아 있다.
종료시엔 finish();가 아닌 System.exit(0); 시스템 메서드를 써주면,
프로그램 자체를 종료 시켜주면서 기기상에 해당 app의 리소스를 모두 반환한다.
어플리케이션 실행 도중엔 finish();를 사용하고 종료시에 시스템 메서드를 사용해보자.
그럼 종료시에 메모리를 잡아먹던 어플리케이션이 정상적으로 종료됨을 알 수 있다.

댓글 없음:

댓글 쓰기