본문 바로가기
지식메모/안드로이드 Android

안드로이드 이미지 캡쳐시 Out of Memory 현상 해결법

by yonoo 2013. 7. 19.
반응형



이미지를 캡쳐하는 어플을 만들었는데 저장하기 버튼을 누르면 캡쳐가 되는 기능이었다.


그런데 저장하기를 누르니까


java.lang.OutOfMemoryError
at android.graphics.Bitmap.nativeCreate(Native Method)
at android.graphics.Bitmap.createBitmap(Bitmap.java:605)
at android.graphics.Bitmap.createBitmap(Bitmap.java:585)
at com.project.app.ResultActivity.onClick(ResultActivity.java:860)

at android.view.View.performClick(View.java:3531)
at android.view.View$PerformClick.run(View.java:14125)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4449)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
at dalvik.system.NativeStart.main(Native Method)


이런 에러가 나타났다. 그래서 해결책을 찾고 있었는데 다 recycle()이거나 BitmapFactory등등 뭔가 복잡했다.

내 실력으로는 잘 이해가 안갔다.

그러다 되게 간단해 보이는 방법을 찾았는데

AndroidManifest.xml 파일에


<application>

....

android:largeHeap="true"

....

</application>


어플리케이션 부분에 이 옵션을 주는 것이었다.  어플리케이션에 메모리할당을 더 크게 늘려주는 옵션이라나... 

아무튼 적용해보니 에러가 발생하지 않았다.

감격 ㅠㅠ

물론 이게 100%해결책은 아니지만 가장 간단한 해결책이 되지 않을까 싶다.




반응형