베가 유저입니다
완충 100%에서
한시간에 몇퍼씩다시나요?
하루에 남은 잔량이?
battery indicator pro가 메모리/배터리를 많이 잡아먹는 프로그램인가요?
요새들어 옛날같지 않은거같아서..
memory booster 원래 10분에한번씩해야되는데
task killer로 지우고 자주 boosting 하면
폰에 무리가 생기나요??
안드로이드 버전에 따라서 좀 다르지만, 2.1 이상에서는 task killer 류의 앱으로 주기적으로 정리토록 하는 것은 배터리/시스템 자원을 더 많이 소모 합니다.
안드로이드의 멀티태스킹에 대해서 이해가 필요합니다.
안드로이드는 한정된 자원에서 최대한 자연스럽게 멀티태스킹을 구현하기 위해서 잘 설계되어 있는데,
상주된 앱은 service 혹은 background의 상태를 갖습니다. background 앱은 고작해야 파일이나 데이터를 다운받을 수 있는 수준이고, 그외의 대부분의 작업이 허용이 되지 않습니다. 사실상 다음 실행때 빠르게 로딩하기 위해 그냥 상주해있는 것이고, CPU는 거의 사용하지 않아 추가적인 배터리 소모도 없습니다.
그보다는 복잡한 작업을 해야하는 앱들은 service의 상태로 상주된 상태에서 CPU를 사용하면서 작업을 수행합니다. 키보드나 구글 보이스 등이 여기에 해당합니다. 이러한 앱들은 CPU를 사용하여 작업을 하기에 다소 전력을 소비합니다. 그렇다고 해도 전체 수행시간에 비해 실제로 CPU를 사용하는 시간은 비교적 적습니다. 제 키보드의 경우 지난 10시간 동안 약 1분 30초의 CPU 파워를 사용했네요. 역시 전력을 별로 사용하지 않습니다.
이외에도 브로드캐스트리시버를 이용해서 특정 이벤트 발생시 혹은 특정 시각에만 작동을 하고 약 10초 내의 짧은 작동 시간 후에 저절로 종료되는 앱들도 있습니다. 알람이나 문자메시지 프로그램이 여기에 해당하는 경우입니다. 이런 경우는 역시 전력을 거의 사용하지 않습니다.
주기적으로 메모리를 청소하는 task killer와 같은 앱은 백그라운드에서 계속 실행되며 현재 실행중인 앱들을 감시합니다. 그러나가 정해진 규칙에 따라서 앱들을 종료하여 메모리를 확보하는데, 메모리가 확보되면 안드로이드 시스템은 사용빈도가 높던 앱을 미리 캐싱하게 됩니다. 안드로이드에서 일반적은 앱들은 최대 가용메모리가 32MB이고 따라서 32MB이상의 여유메모리만 있으면 메모리가 부족해서 버벅될 일은 없으니 남는 공간은 캐쉬로서 열심히 사용하는 것입니다. 근데 그러면 저 task killer가 또 이런 앱들을 정리합니다. 이러한 과정이 반복되면 불필요한 IO가 증가되어서 전력이 더 소비가 됩니다.
안드로이드 1.5, 1.6의 경우 메모리를 관리하는 알고리즘이 별로 좋지 않아서 task killer가 효용성이 있었습니다만, 2.1에서 충분히 개선된 알고리즘에 의해서 더이상 필요가 없습니다. (2.2에서는 JIT 도입으로 메모리 반환속도가 엄청 향상되어 거의 완전한 메모리 관리를 보여줍니다.)
굳이 필요한 곳이라고는 뭔가 잘못되서 비정상적으로 작동하는 앱을 강제 종료하여 리셋하는 용도 정도로만 필요합니다.
메모리 부스터와 같은 앱도 사실상 필요가 없습니다.
윈도우즈와 같은 데스크탑용 OS는 완전한 멀티태스킹을 부족하기 위해 램용량이 부족할 경우 사용하지 않던 일부 데이터를 하드디스크에 저장하고 용량을 확보하는 과정에서 하드디스크의 늦은 IO속도로 인해 버벅임을 체감하게 됩니다. 구식 스마트폰용 OS도 이러한 구조를 답습했고, iOS의 경우는 초기에는 이러한 일을 없애기 위해서 아예 멀티태스킹 기능을 빼버린 것입니다. 나중에 도입한 멀티태스킹도 여러면에서 안드로이드의 멀티태스킹과 유사하게 백그라운드에서 자원소모가 거의 없고, 메모리가 부족할 경우 자동으로 사용빈도가 낮은 앱을 종료하여 메모리가 확보되도록 한 것이죠. 다만 안드로이드에서는 개발자가 서비스 선언만 하면 모든 종류의 작업을 백그라운드에서 수행할 수 있는데 반해서 iOS에서는 특정한 작업 몇개만 수행이 가능하게 제한되어 있어 자원소모의 가능성을 더 줄여놓았습니다.
다만 문제가 될 여지가 있다면 개발자들이 저러한 멀티태스킹을 이해하고 자동 종료가 되기 전에 데이터를 잘 처리하는 설계를 하여야 하는데, 이를 귀찮게 여겨 그냥 자동종료 안되도록 선언을 해버린다던지, 계속 네트워크를 사용하면서 상주한다던지 하는 것들은 문제가 됩니다.
그리고 배터리소모의 대부분은 디스플레이의 발광원과 무선통신에서 일어납니다. 상주한 앱들이 CPU를 사용하면서 전력을 소모하는 것은 저 두가지 작업에 비하면 진짜 작은 부분이기에 메모리를 관리하는 프로그램은 필요도 없고, 있어도 득보다 실이 많을 수 있습니다.
재구님 말씀들으니
task killer 바로 삭제해야겠네요
그렇게나 걸림돌이었다니
하지만 역시나 개발자들이 '자동종료를 고려하지 않은' 프로그램이 난무할 경우
처리방법에 대해 좀 난감하지 않을까요?
예외처리를 위한 task killer라도 필요하지 않을까요?
그 외의 것은 재구님 말씀들으니 정확히 이해가 되네요!
booster 돈주고 샀는데 android가 스스로 관리를 한다는 말씀이라면
딱히 booster사용할 필요도 없을듯^^
제일중요한것은 memory와 battery는 상관관계가 없다는 사실이 더욱 놀랍네요!




하류에 2개 씩쓰는데. 보통 주식어플 켜놔서 그렇죠. ㅎㅎ안키면 12시간 정도가요. 동기화도 끄고. 3g만 켜놓고