안드로이드 개발 질문/답변
(글 수 45,052)
비트맵과 관련해서 메모리릭이 있나 봅니다. 메뉴를 왔다갔다 하면 어플이 죽는데요.. (단일 액티비티 입니다.)
비트맵 리사이클은 해준다고 했는데 정확한 원인을 잡기가 힘들어서,
DDMS 에서 체크한 Heap Size 와
로그로 찍은 Heap Size 와 크기가 다르게 나옵니다..
저 둘은 서로 다른 개념의 Size 인가요..?
비트맵 자원과 관련한 메모리릭 디버그를 위해선 어떤 것들을 해야 하는지 궁금합니다..
정말 검색도 5~6시간동안 했는데 도무지 비트맵 관련해서 아웃오브메모리가 나는 증상을 잡는 정보는 없네요.. ㅠㅠ
(리사이클해라.. 조그맣게 불러와라 등의 답변뿐;;)
비트맵 관련 메모리 누수 디버그 하는 법에 대한 키워드라도 조언 부탁 드립니다. ㅠㅠ
2010.09.09 16:19:16
저는 알고보니 다른거더라... 라는 케이스였는데요...
비트맵이 소문이 안좋게(?)돌아서 비트맵만 보시는 경향들이 있는데... 이유는 딴데 있을지도 모릅니다.
릭 같은 경우는 http://download.eclipse.org/mat/1.0/update-site/ 이거 설치하세요.
설치법은 이클립스에서 help - install new software 이용하시구요. 위의 주소 바로 넣으시면 됩니다.
설치 완료되면요 DDMS에서 해당 패키지 찍구요. update Heap 옆에 있는 아이콘 있습니다.
모양은 똑같은데 화살표 더붙은... Dump HPROF file 이라고....
그넘 누르면 알아서 받아서 열리게 되는데... 선택 창이 뜹니다. 거기서 leak 어쩌고 하는넘 고르고 OK하면
Leak이 나는 정보가 나옵니다.
그리고 시간단위 혹은 이벤트를 몇번 해보신 다음에 dump 다시 보시면 메모리가 확 늘어날수가 있는데요.
이것은 확실히 릭이 있다는 증거가 되겠죠.... 어디에 있는지는 릭정보를 보고 찾으시면 되구요.
비트맵이 소문이 안좋게(?)돌아서 비트맵만 보시는 경향들이 있는데... 이유는 딴데 있을지도 모릅니다.
릭 같은 경우는 http://download.eclipse.org/mat/1.0/update-site/ 이거 설치하세요.
설치법은 이클립스에서 help - install new software 이용하시구요. 위의 주소 바로 넣으시면 됩니다.
설치 완료되면요 DDMS에서 해당 패키지 찍구요. update Heap 옆에 있는 아이콘 있습니다.
모양은 똑같은데 화살표 더붙은... Dump HPROF file 이라고....
그넘 누르면 알아서 받아서 열리게 되는데... 선택 창이 뜹니다. 거기서 leak 어쩌고 하는넘 고르고 OK하면
Leak이 나는 정보가 나옵니다.
그리고 시간단위 혹은 이벤트를 몇번 해보신 다음에 dump 다시 보시면 메모리가 확 늘어날수가 있는데요.
이것은 확실히 릭이 있다는 증거가 되겠죠.... 어디에 있는지는 릭정보를 보고 찾으시면 되구요.
2010.09.09 17:26:44
일단 어플이 설치 되어야 하는데요.... https가 강제로 붙는거 떼는게 옵션이 있을건데 잘 모르겠네요...
실행할때 디버거블로 실행해 보시구요...(메니피스트...)
다시 덤프떠서 덤프파일 이상하게 열리면 파일은 만들어지는겁니다. 저 어플이 그 파일을 해석해주는거죠...
실행할때 디버거블로 실행해 보시구요...(메니피스트...)
다시 덤프떠서 덤프파일 이상하게 열리면 파일은 만들어지는겁니다. 저 어플이 그 파일을 해석해주는거죠...
2010.09.09 17:41:40
그냥가자님 너무 고맙습니다. ㅠㅠ
일단, USB디버그 모드로 연결한 상태에서
SDCARD 쓰기허용이 안돼있는거 같은데, 쓰기허용을 해주면 될거 같아요. (현재로썬 어떻게 이클립스에서 SDCARD 쓰기 권한을 줘야하는지 모르겠지만;;)
일단 키워드는 알았으니 열심히 검색해 보겠습니다.
일단, USB디버그 모드로 연결한 상태에서
SDCARD 쓰기허용이 안돼있는거 같은데, 쓰기허용을 해주면 될거 같아요. (현재로썬 어떻게 이클립스에서 SDCARD 쓰기 권한을 줘야하는지 모르겠지만;;)
일단 키워드는 알았으니 열심히 검색해 보겠습니다.
2010.09.09 17:53:19
<!-- 아래는 DDMS 관련 SDCARD 쓰기 권한 : RYUMINUS -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
메인페스트에 위와 같이 넣어주니까 Dump HPROF file 접근 됩니다!!!
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
메인페스트에 위와 같이 넣어주니까 Dump HPROF file 접근 됩니다!!!
2010.09.09 19:35:33
이클립스에 mat 어플을 설치하는건 일단 보류를 했구.. ㅠㅠ
(이미 설치되어 있다고 하는거 같은데, 자동으로 창이 뜨진 않네요)
Dump HPROF file 로, hprof 파일을 만든다음에
따로 설치한 Eclipse Memory Analyzer (MAT) 를 실행해 오픈해 보니 에러가 뜨네요 ㅠㅠ...
검색해론 바로써는 안드로이드 SDK / TOOL 에 있는 hprof-conv.exe 를 이용하여
표준 hprof 로 변경하면 된다고 하는데
변경방법을 아무리 찾아봐도 모르겠습니다;;
2010.09.09 20:28:23
주소 추가시키셨을때 https로만 되는건 http로 된게 이미 목록에 있었나 보네요...
그 목록에 있다고 해서 그게 설치되어있음과 동격은 아닙니다.
현재 목록 잘 찾아 보시고 설치를 다시 시도해보세요.....
그 목록에 있다고 해서 그게 설치되어있음과 동격은 아닙니다.
현재 목록 잘 찾아 보시고 설치를 다시 시도해보세요.....
2011.12.05 10:34:22
그냥가자님이 알려주신 주소가 안되서 보니
새로운 주소로 바뀌었네요~ 언제바뀐건지.. -_-..;;
http://archive.eclipse.org/mat/1.0/update-site/
이클립스에 이 주소 넣고 설치하시면 됩니다.
DDMS 로 힙메모리를 봐도 평상시와 같이 50~70% Used 를 유지합니다;;