如何防止 Android 编码中的内存不足错误



>我制作了随机 200 个活动的 HangMan 游戏,每个活动都有动画,但我不知道如何在关卡清除后清除动画,下面在我的 Google 开发人员控制台中是错误,有人知道如何解决这个问题吗?

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.graphics.drawable.AnimationDrawable.inflate(AnimationDrawable.java:282)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:937)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:873)
at android.content.res.Resources.loadDrawable(Resources.java:2970)
at android.content.res.Resources.getDrawable(Resources.java:1558)
at android.view.View.setBackgroundResource(View.java:15697)
at kids.game.hangmanforkids.crab.update_HangMan_Picture(crab.java:913)
at kids.game.hangmanforkids.crab$13.onClick(crab.java:615)
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:176)
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:1046)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
at dalvik.system.NativeStart.main(Native Method)

尝试 android:largeHeap="true" 来增加您的应用程序中应用程序的堆大小。某些设备具有应用程序使用的固定内存量,例如每个应用程序 64 MB。或者使用缩放和缓存来修复我的应用程序使用的内存。看看这些链接http://developer.android.com/training/displaying-bitmaps/load-bitmap.html

http://developer.android.com/training/displaying-bitmaps/cache-bitmap.html

如何增加安卓应用程序的堆大小?

最新更新