안드로이드 어플리케이션을 사용하다 보면
폰 내부에 메모리를 잡아 먹는 몇몇 어플때문에
폰 내부에 메모리를 잡아 먹는 몇몇 어플때문에
속도가 느려지곤한다.
그래서 이 어플리케이션들을 말끔히 종료 시키기 위해
Advanced Task Killer 같은 어플을 써서
메모리를 잡아먹고있는 어플을 강제 종료 시키는 일이 종종 있다.
Advanced Task Killer 같은 어플을 써서
메모리를 잡아먹고있는 어플을 강제 종료 시키는 일이 종종 있다.
때문인지 이 어플은 안드로이드 유저에게 필수 어플이 되었는데,
물론 좋은 App가 있기는 하지만 이는 왠만해선 없어야 할 일이다.
만든 어플리케이션들이 종료 했을때
제대로 종료되지 않고 메모리를 먹는다면 사용자들에게 불편을 주기 때문이다.
제대로 종료되지 않고 메모리를 먹는다면 사용자들에게 불편을 주기 때문이다.
이런것을 막으려면 우리는 어플리케이션 종료시 말끔하게 메모리에서 아웃 시켜야 한다.
보통 어플리케이션 종료시에 사용하는 메서드는 finish();를 많이 쓴다.
하지만 이건 잘못 오해를 하는 경우가 있다.
보통 어플리케이션 종료시에 사용하는 메서드는 finish();를 많이 쓴다.
하지만 이건 잘못 오해를 하는 경우가 있다.
finish(); 는 해당 액티비티를 종료하는 메서드 인데
대부분의 개발자들은 이것을 어플리케이션 종료시에 사용하고 있다.
이는 마치 어플리케이션이 종료되는것처럼 보이지만
사실은 어플리케이션을 실행되 있고 해당 엑티비티만 종료되고 App자체는 살아 있다.
대부분의 개발자들은 이것을 어플리케이션 종료시에 사용하고 있다.
이는 마치 어플리케이션이 종료되는것처럼 보이지만
사실은 어플리케이션을 실행되 있고 해당 엑티비티만 종료되고 App자체는 살아 있다.
종료시엔 finish();가 아닌 System.exit(0); 시스템 메서드를 써주면,
프로그램 자체를 종료 시켜주면서 기기상에 해당 app의 리소스를 모두 반환한다.
어플리케이션 실행 도중엔 finish();를 사용하고 종료시에 시스템 메서드를 사용해보자.
프로그램 자체를 종료 시켜주면서 기기상에 해당 app의 리소스를 모두 반환한다.
어플리케이션 실행 도중엔 finish();를 사용하고 종료시에 시스템 메서드를 사용해보자.
그럼 종료시에 메모리를 잡아먹던 어플리케이션이 정상적으로 종료됨을 알 수 있다.
댓글 없음:
댓글 쓰기