오늘 앱이 고장났습니다. 메모리 부족 오류가 발생했습니다.BitmapFactory에서 메모리 부족 오류가 발생했습니다.
java.lang.OutOfMemoryError와는 android.graphics.BitmapFactory.nativeDecodeAsset
에서
난 단지 내 작업 표시 줄에 대한 배경을 만들기 위해 비트 맵 공장을 사용
코드 :
BitmapDrawable background = new BitmapDrawable (BitmapFactory.decodeResource(getResources(), R.drawable.actionbar));
background.setTileModeX(android.graphics.Shader.TileMode.REPEAT);
actionbar.setBackgroundDrawable(background);
이 오류는 활동 시작시 발생하지 않으며, 활동을 변경 한 후에 발생합니다. 많이.
java.lang.IllegalStateException: Could not execute method of the activity
at android.view.View$1.onClick(View.java:3838)
at android.view.View.performClick(View.java:4475)
at android.view.View$PerformClick.run(View.java:18786)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5419)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at android.view.View$1.onClick(View.java:3833)
... 11 more
Caused by: java.lang.OutOfMemoryError
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:596)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:832)
at android.content.res.Resources.loadDrawable(Resources.java:2988)
at android.content.res.Resources.getDrawable(Resources.java:1558)
at android.widget.ImageView.resolveUri(ImageView.java:646)
at android.widget.ImageView.setImageResource(ImageView.java:375)
at com.packagename.pp.Activitytwo.disableAnswer(Activitytwo.java:435)
at com.packagename.pp.Activitytwo.submitAnswer(Activitytwo.java:230)
... 14 more
이 문제에 대한 해결책을 게시했습니다 [1]. [1] : https://stackoverflow.com/questions/25344518/outofmemory-exception-not-sure-android/25344553#25344553 – Joseph
이것은 당신이 당신의 코드, 즉 어딘가에 메모리 누수가 제안 할 수 있습니다 . 당신은 이전에 할당 된 비트 맵을 해제하지 않고 있으며, 여전히 그것에 대한 참조가 남아 있습니다. – Jitsu
@Joseph 무슨 뜻인지 이해가 안되요 –