私のゲームではサーフェイスビューが使用されています(私はGLを使うべきです)。 ゲームキャラクターのワールドコントロールにたくさんのビットマップを描きます。 LogDogを開いたときに私はこれを実行します:Androidの開発:ビットマップのサーフェイスリークメモリまたは大きすぎますか?
08-05 10:17:29.151: ERROR/dalvikvm(24048): Out of memory: Heap Size=5379KB, Allocated=2735KB, Bitmap Size=20576KB, Limit=32768KB
私はそれがリークかどうかわかりません。
私の割り当てトラッカーは示しています。30のような
:次に
138 96 char[] 9 android.content.res.AssetManager getCookieName
の トン:
32 80 android.graphics.BitmapFactory$Options 9 android.graphics.BitmapFactory decodeResource
そして最後:30のように :
141 56 android.graphics.Bitmap 9 android.graphics.BitmapFactory nativeDecodeAsset
そしてさらにいくつかのsimularもの。ここで
私はドレインが私の記憶だと思ういくつかのコードです:
player = BitmapFactory.decodeResource(getResources(), R.raw.ghostright);
world = BitmapFactory.decodeResource(getResources(), R.raw.lvl2);
thumb = BitmapFactory.decodeResource(getResources(), R.raw.thumb);
resized = Bitmap.createScaledBitmap(player, width/10, width/6, false);
player = resized;
resized = Bitmap.createScaledBitmap(world, height*10, height, false);
world = resized;
resized = Bitmap.createScaledBitmap(thumb, height/6, height/6, false);
thumb = resized;
私はresycleを使用する必要があることを聞いたが、私は常にビットマップ
//サイモン PSを使用しているため、どこを知りません:私は本当に助けが必要です.-