안드로이드는 필요에 따라 현재 메모리상에 상주된 프로세스들을 킬시켜 실행되는 프로그램에 메모리를 확보해준다....

따라서 헤비한 어플이 실행될경우 홈어플인 런쳐프로까지 같이 킬되는바람에 결국 돌아올때 홈어플을 재실행하게 되어

홈딜이생기게 된다.

 

여기까지는 이해가 되는데 말이죠... 런처프로의 keep in memory 옵션을 사용하면 이론적으로는 홈어플들이 어떤 상황에도 안죽어서 홈딜이 발생하지 않아야 하는게 아닌가 싶은데 현실은 그렇지 않죠?

런처에서 말하는 keep in memory가 안드로이드 운영체제상에서 어떤식으로 동작하는건지 자세히 알고 싶네요.

 

그동안 홈딜에 대해서 좀관찰해본바에 따르면.. 반드시 게임같은 큰 어플돌리고 나서 홈딜이 생기는건 아닙니다. 제경우엔 EStrings File manager 최신버전과 Quardrant benchmark를 실행했다가 종료하는순간 자주 홈딜이 발생을 했었습니다. 그래서 EStrongs File manager 는 낮은 버전으로 쓰고있고 Quardrant는 이제 테스트할것도 없어서 지워버렸습니다.

특히 quardrant 경우 별다른 벤치테스트 하지 않고 잠깐 system info만 보고 나오는데도 홈딜이 걸릴때도 있었습니다.

별거 없어보이는 이런 어플들이 사실 메모리 자원을 많이 쓰고있었을지도 모르죠.

 

테스크 전환때 보다 태스크 종료때 주로 홈딜이 많이 걸립니다. 그렇다면 어플이 종료하면서 메모리를 반환하는 과정이 원활치 않아 홈딜이 생기는 원인이 될까요? 메모리 최적화를 위한 garbege collection 이 동작하기 때문일까요?

 

백업어플을 써서 어플들을 한번에  백업하고 한번에 다 설치하고 하니 홈딜이 생겼던 경험도 있습니다. 그 이후론 꼭 하나씩 일일히 까는 버릇이 생겼습니다. (뭐사실 시간도 익숙해져서 이젠 비슷비슷합니다)

 

이번 루팅으로 /data/app -> /system/app 이동으로 홈딜이 사라졌다는 분도 계시는데...과연 기분상일까요? 실제로 그런걸까요? 아니면 오버클럭빨일 까요?

 

솔직히 현재 제 모토로이는 홈딜이 없다 라고 말해도 될정도로 하루종일 원활이 돌아갑니다. 그런데 이 상황을 정형화 시키기가 참 힘드네요.

 

쓰다보니 정말 주절주절이군요. 흠.