Google I/O 2011: Memory management for Android Apps 요약 (draft)
- 메모리가 커진다고 해도 화면 해상도는 그 못지 않게 빠른 비율로 상승하므로 메모리 관리의 필요성이 줄어든다고 오판하지 말 것
- Gingerbread, Honeycomb의 주요 변경점
- Gingerbread에서 concurrent garbage collection 지원 시작
- Honeycomb에서 비트맵 데이터가 Dalvik Heap으로 들어옴
- 메모리 관리툴 사용하기
Honeycomb에서 비트맵 데이터가 Dalvik Heap으로 들어옴
- 허니컴 이전까지는 비트맵 데이터는 native malloc으로 메모리에 잡히고, 이것의 레퍼런스를 담고 있는 오브젝트가 Dalvik Heap에 들어 있었음.
- 따라서 제대로 메모리가 GC 되기 위해서는, recycle이라는 메소드를 수동으로 호출하거나, finalizer에 의존해야만 했음.
- 또한 MAT 등의 표준적인 메모리 도구에 잡히지 않던 점이 개선될 것임.
MAT
- dominator 개념을 익힐 것 - GC에서 특정 obj로 연결되는, 지나가지 않으면 안 되는 entity
- MAT의 dominator 그래프 기능을 활용할 것
댓글 없음:
댓글 쓰기