출처: https://arload.wordpress.com/2015/08/11/android-studio-hello-allocation-tracker/
안드로이드 개발시 Eclipse에서 Android Studio로 넘어가는 하나의 허들이 Memory 분석 툴이었는데...
Android Studio 가 이에 대한 해답을 가지고 왔습니다.
안드로이드 스튜디오가 Memory 관련 프로파일러들을 잔뜩 추가/업데이트를 했습니다.
기존에 command 명령어를 좀더 시각적으로 보여주고, 이클립스 플러그인 MAT에서 볼수 있는 내용을
좀 더 보기 편하게 만들었다고 생각이 듭니다.
Memory Monitor
디테일한 메모리 분석용이라기 보다는 앱을 실행시키면서 메모리가 갑자기 튀어 오른 다음...
특정 시간이 지나도록 감소하지 않는 등과 같이 큰 흐름을 판단하기 좋은 도구 입니다.
모든 시나리오를 상세하기 일일이 heap dump를 떠 가며 분석하는 것은 큰 비용이 드는 일입니다.
핵심 시나리오나, Crash Report로 보고된 에러중 Out Of Memory등으로 보고된 에러들을
다시 한번 이 툴로 가볍게 검증해 보시길 바랍니다.
이렇게 말씀 드리는 이유는 이러한 에러가 특정 디바이스나 특정 OS에서만 나는 경우가 있기 때문에
가볍게 상황을 판단하실때 쓰라는 말씀 입니다.
Heap Viewer
위 Allocation Tracker로 메모리 누수가 의심되는 부분을 선별하신 다음
Heap Viewer로 해당 스냅샵만 분석해서 보는 것입니다.
아마 MAT가 하나의 heap dump로 추측을 해서 문제점을 선별해 주는데,
아직 그 레벨까지는 아니고 메모리 사용량이 많은 순으로 보여주고 보고 있습니다.
Allocation Tracker
이 부분은 MAT에 비해 칭찬하고 싶습니다.
실제 Heap Dump는 하나의 스냅샷으로 찍는 것이 의미가 없구요.
최소 두 개의 스냅샷을 찍어서 Before / After를 비교해야 합니다.
좀 더 정확히 말하면 더 많이 찍어야 합니다.
여튼 MAT는 두개의 스냅샷을 분석하더라도 히스토그램 형태로 단순 비교를 해 실제 분석하기 힘듭니다.
Android Studio에 포함된 Allocation Tracker는 MAT에 비해 좀더 시각적으로 보기 편하게 스냅샷을 비교할 수 있습니다.
개념과 실제 사용법
이러한 툴을 쓰기 위해서는 MAT와 동일하게 Dominator Tree라는 개념을 이해하고 있어야 합니다.
NEXT 수업자료인 메모리 프로파일링 부분에 해당 자료를 업데이트 하였으니 참고하시기 바랍니다.
위 사항은 49페이지부터 추가되어 있습니다.
day6profiler150810-150811041218-lva1-app6892.pdf
자료 업데이트는 NEXT의 김기렴 군이 수고해 주었습니다! 감사!!
'IT_Programming > Android_Java' 카테고리의 다른 글
Fragment에서의 ActionBar 조작은 OnCreateView에서 하자 (0) | 2015.11.30 |
---|---|
[펌] Android task,stack,flag 자세한 설명 정리 (0) | 2015.11.18 |
오디오 포커스에 대하여 (0) | 2015.11.10 |
Activity에서 onPause() 전에 무조건 onUserLeaveHint() 가 수행될 경우. (0) | 2015.10.30 |
[펌] Android 6.0 마시멜로 리뷰 (0) | 2015.10.29 |