안드로이드 개발 질문/답변
(글 수 45,052)
제목 그래로 입니다. 액티비티 전환시 A에서 사용한 메모리 영역을 반환 혹은 제거? 하지 않을체
B로 전환해서 이런 오류가 생긴다고 전 생각하고 있거든요;
고수님들은 어떻게 생각하시는지? 그리고 해결방법은 어떻게 하면 될까요? ㅠ
참고로 액티비티 A,B를 선택할 수 있는 다리역활의 C가 있고 A,B는 운동측정 액티비티로
gps, 센서, timer 등을 사용하고 있어요
A->C->B오류 B->C->A오류
12-23 18:31:57.069: D/dalvikvm(8036): GC_EXTERNAL_ALLOC freed 440 objects / 20560 bytes in 29ms
12-23 18:31:57.217: E/dalvikvm-heap(8036): 661500-byte external allocation too large for this process.
12-23 18:31:57.217: E/GraphicsJNI(8036): VM won't let us allocate 661500 bytes
12-23 18:31:57.233: D/AndroidRuntime(8036): Shutting down VM
12-23 18:31:57.233: W/dalvikvm(8036): threadid=1: thread exiting with uncaught exception (group=0x4001f7e0)
12-23 18:31:57.335: E/AndroidRuntime(8036): FATAL EXCEPTION: main
12-23 18:31:57.335: E/AndroidRuntime(8036): java.lang.OutOfMemoryError: bitmap size exceeds VM budget
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.graphics.Bitmap.nativeCreate(Native Method)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.graphics.Bitmap.createBitmap(Bitmap.java:468)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.graphics.Bitmap.createBitmap(Bitmap.java:435)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:340)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.graphics.BitmapFactory.finishDecode(BitmapFactory.java:488)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:462)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:323)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.content.res.Resources.loadDrawable(Resources.java:1709)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.content.res.Resources.getDrawable(Resources.java:581)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.graphics.drawable.AnimationDrawable.inflate(AnimationDrawable.java:265)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:788)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:729)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.content.res.Resources.loadDrawable(Resources.java:1694)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.content.res.Resources.getDrawable(Resources.java:581)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.view.View.setBackgroundResource(View.java:7393)
12-23 18:31:57.335: E/AndroidRuntime(8036): at yjc.dp3b01.easyvalens.jumping.onCreate(jumping.java:106)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.os.Handler.dispatchMessage(Handler.java:99)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.os.Looper.loop(Looper.java:123)
12-23 18:31:57.335: E/AndroidRuntime(8036): at android.app.ActivityThread.main(ActivityThread.java:4627)
12-23 18:31:57.335: E/AndroidRuntime(8036): at java.lang.reflect.Method.invokeNative(Native Method)
12-23 18:31:57.335: E/AndroidRuntime(8036): at java.lang.reflect.Method.invoke(Method.java:521)
12-23 18:31:57.335: E/AndroidRuntime(8036): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
12-23 18:31:57.335: E/AndroidRuntime(8036): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
12-23 18:31:57.335: E/AndroidRuntime(8036): at dalvik.system.NativeStart.main(Native Method)
12-23 18:31:59.100: I/Process(8036): Sending signal. PID: 8036 SIG: 9




비트맵이 너무큰거같은데요.. 크기를 줄이셔야될듯