잘 사용하고 있는 모토로이를 볼때마다...
늘 궁금했던것 한가지가 있습니다. 검색을 해봐도 없어서 잘 아시는 회원님 계시면 설명점 부탁드립니다.
홈버튼에 손가락을 계속 언저놓으면면 실행중인 어플 목록이 나옵니다.
응용프로그램 목록에서 체크 가능한 것을 체크하고 종료를 시키면 사용가능한 메모리가 얼마얼마다 라고 나옵니다.
GO 런쳐에도 비슷한 메뉴가 있습니다.
사용 중이라는 탭이 있는데 거기에는 '사용가능/전체 메모리'라고 하면서 수치가 나옵니다.
모토로이 시스템 설정에 들어가서 응용프로그램 항목의 응용프로그램 관리를 실행중인 프로그램을 볼수 있습니다.
이제까지 로이를 사용하면서
사용가능이 50이상 된적이 얼마 없습니다. 20-30MB가 대부분입니다.
이해가 잘 되지 않습니다.
전체 메모리(약 250MB)에서 무엇을 어떻게 사용하기에,
사용가능한 메모리양이 20MB에서 많아야 60MB정도 밖에 안되는 건가요?
실행중인 응용프로그램의 목록을 보고 각각의 응용프로그램이 사용하는 메모리를 다 합쳐보니 30MB가 안되는 것 같은데요.
그렇다면 나머지 200MB정도는 어디에 사용하고있으며 그 안에는 어떤 프로그램들이 상주해 있는 건가요?
한가지더...
사용자가 실행하지 않은 응용프로그램이 왜 메모리에 올라가는지도 궁금합니다.
킬러 앱으로 지워도 라디오나 마이크 검색, 문자, 몇몇 응용프로그램은 끊임없이 올라오더라고요.
무슨 조화인지;;
로이는 잘 사용하는데 자꾸 궁금해지네요.
시원하게 잘 설명점 부탁드립니다.
앞서 좋은 설명이 있어서 간단한 내용만 추가하겠습니다.
1. 안드로이드는 포팅된 기기의 설정에 따라 다릅니다만, 기본적으로 실행 가능성이 높은 프로세스들을 사전에 메모리에 로드합니다.
2. 이의 장점은 사전 로드된 프로세스들을 실행시킬 때 기민하게 반응하는 면이 있습니다.
3. 이의 단점은 로드되지 않았던 프로세스들을 실행시키고자 할 때 메모리 해제와 재할당에 있어서 부하가 발생할 수 있습니다.
4. 중요한 사항은 안드로이드는 메모리 할당을 해제할 때 이를 예약하는 것이지 어플리케이션이 해당 시점을 컨트롤할 수 없습니다.
5. 따라서 메모리 해제와 재할당이 빈번할 수록 OS 레벨의 CPU 점유 및 리소스 컨트롤이 증가하기에 부하가 증대합니다.
6. 이 때문에 통상 256MB 미만 메모리가 프로요 이상 OS에서 부정적이라는 근거가 됩니다.
7. 즉 응답성과 어플리케이션 전환시의 신속함을 유지하기 위한 최소 조건으로 384~512MB 메모리를 조건으로 보고있습니다.
이러한 메모리 관리 정책은 제조사마다 차이가 있는데, 예를 들어 스카이의 제품들은 모토로라 제품들과는 반대로 굉장히 타이트하게 프로세스 로드를 유지하는 경향을 가집니다. 메모리 관리 정책에 따른 성능 이슈는 장단점이 있기에 뭐가 좋다고 하기는 어렵고 다른 구성요소들과 병행하여 제품별로 최적화되어야 할 대상입니다.
*혹여라도 용어의 오해가 있을까 첨언합니다. 본 글에서 메모리란 RAM을 의미하며, 내부 스토리지가 아닙니다. 내부 스토리지는 어플리케이션을 설치하기 위한 공간으로 과거 SKAF 비난의 근거과 되었던 공간을 지칭하는 것입니다. 양쪽다 비슷하게 부족한 모토로이다 보니 종종 혼동되는 경우가 있더군요. 참고로 모토로이는 Non-SKAF 펌웨어 기준으로 RAM은 225MB, 내부 스토리지는 259MB 정도입니다. 이는 발매 당시의 정황을 이해해야 하는 면이 있기는 합니다만, 보급형 기기들 수준과 대등하거나 그 이하 수준입니다.




프로요로 업데이트 하신 상태죠? 가용램이 적은것이 당연합니다. 필요하거나 또는 쓰일수있는 어플들이 맨처음에 로딩이 됩니다. 하지만 메모리에서 완전히 사라지는것이 아닙니다. 상주해있죠. 단지 실행이 되지않고 오랜시간 놔두면 알아서 작업관리자가 메모리관리를 위해 어플을 종료시킵니다. 맨처음 부팅시킨후 어플에는 온갖 어플들이 다떠있습니다만 시간이 자나고 나서 응용프로그램 상주된것을 보면 어떤것은 꺼져있고, 어떤것은 또 켜있습니다. 당연히 상주된 다시말해 한번 실행했던 어플들이 많으면 그만큼 가용램은 줄어듭니다. 근데 가용램이 줄어들었다고 문제가 있는것은 아닙니다. 다시한번 그 어플을 실행시키면 빨리 뜨기 때문입니다, 그리고 메모리가 부족하면 또다른 어플을 죽이겠죠. 이방식이 매우 비효율적으로 보이는것이 사실입니다만, 그렇게 설계된것이 안드로이드입니다. 특히나 프로요에서는 메모리 관리 어플을 별도로 사용하지 않는게 사용자에게 유리합니다. 그리고 홈딜이나 버벅임은 하루에 한번씩 리부팅으로 해결하세요. 새로운 어플을 켜고 끄는 과정( 킬러어플로 어플을 죽였다 다시살아난 어플 또 죽이고)이 많아지면 메모리 낭비가 심해집니다. 켜고 끄는 과정 자체가 메모리 관리에 부정적입니다. 가용램이 높다고 무조건 좋은것이 아닙니다. 가용램이 많으면 어플 실행초기에 부족한 램 현상을 겪지않아 어플을 띄우는데 다른 어플을 죽이지않아도 된다는 장점이 있는것이 사실이지만, 그렇다고 자주쓰는 어플이 있는데도 테스크 킬러로 계속 꺼주면서 사용하면 오히려 버벅임을 느끼실수있습니다.
응용프로그램 에서 실행중인 서비스를 들어가보면 하단에 빨간 그래프로 기타 라고 써있는 부분이 보이실것입니다. 보통 순정상태에서 껐다켜면 60~70찍고 있습니다. 그런데 리부팅 안하고 놔두면 하루이틀쯤 뒤에는 90~100찍고 있습니다, 하지만 테스크킬러로 어플 다죽이면 가용램은 40메가는 나옵니다. 그렇게 가용램늘려도 문제는 버벅인다는것이죠.
복잡한 메모리 관리에 대한 지식 없이도 당장에 실험해볼수있는부분입니다.
그래서 예전 게시물보면 autokiller memory optimize 어플을 사용해서 min opt 값을 수정해서 가용램을 확보하는 방법도 있는데, 결국 이방법을 사용하더래도.. 시간이 지나서 사용중인 메모리가 증가하는 (빨간 그래프가 가득차는 ) 현상은 막을 방법이없습니다.
어플을 켜고 끄는 동작이 메모리 사용량을 늘리는것 같습니다. 더군다가 종료된 어플이 계속 실행되면 그런 가중은 계속되겠죠.
그래서 보통 프로요 순정상태에서 부팅하면 올라오는 프로세스들을 죽으면 가용램이 확보되어서 당장에는 속도가 빠른 것처럼 느껴지지만 3일지나면 버벅임을 막을수가없습니다. 메모리 사용량도 훌쩍 늘어나있구요. 홈 어플 못죽이게 옵션 걸어놔도 버벅이는 현상 자체를 막진 못하죠 ㅎㅎ
결론은
가급적 킬러어플로 어플작업들을 kill 하지않도록 합니다.
가용램이 부족해서 어플들을 죽이고 띄우는 과정이 생겨서 딜레이가 발생한다면 (즉 램 사용량이 높은 어플을 사용할경우) 부득이하게 잘쓰지 안는 어플을 종료시켜서 메모리를 확보하는것은 도움됩니다 (단지 실행에만 도움될뿐입니다. )
가용램을 확보해야한다면 min opt 값을 수정해주는 autokiller 어플을 사용해서 수정해줍니다. (일정 메모리 램 이하가 되면 어플을 알아서 죽입니다,. 하지만 앞서 말씀드린대로 어플을 죽이는것 자체가 메모리 누수를 가져오는듯 합니다. 시간지나면 리부팅 시켜줘야합니다)
그래서 모토로이의 경우도 모든 이용자들에게 순정상태에서 FM 라디오 폰카,동영상,사전,갤러리 모든 어플이 순조롭게 돌아가야한다고 판단했기때문에 처음에 자동으로 이런저런 어플이 올라옵니다. 순정은 모든 이용자들이 불편함없이 사용할수있도록 하기 위한 세팅이거든요.
아에 올라오는게 싫다면 루팅해서 해당 어플을 옮겨버리거나 하는 방법도 필요하겠지만, 젤 속편한 방법은 순정으로 쓰되
하루에 한번정도 리부팅 해주거나..
루팅하고 min opt 값 변경해주는 어플을 사용해보세요.
(루팅했어도 리부팅은 하루에 한번씩 해주는게 좋습니다.)
홈 어플은 adw ex 추천합니다. (이게 그나마 반응이 제일괜찮고 가벼웠습니다.)
모토로이는 되도록 심플하게 사용하시는게 속편합니다.