Моя игра использует SurfaceView (я знаю, что я должен использовать GL).Я рисую множество растровых изображений в своем игровом мире управления персонажами и так далее.И я сталкиваюсь с этим, когда открываю свой LogDog:
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
А также еще несколько симуляций.
Вот некоторый код, который, как мне кажется, истощает мою память:
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, но я не знаю где, потому что я всегда использую растровые изображения
// Simon PS:Мне действительно нужна помощь -.-