我需要大位图(6000x2000),所以我创建了一个:
Bitmap.Config conf = Bitmap.Config.ARGB_4444;
Bitmap bm = Bitmap.createBitmap(6000, 2000, conf);
然后在方法结束时我回收bm并将其设置为null。 但是,每次调用我的方法时,我的堆都会增长。每次都会抛出OutOfMemoryError。
答案 0 :(得分:3)
问题是,在Android 3.x之前,可能需要几个GC周期才能在Android上正确发布Bitmap。即使您调用recycle(),我相信位图也会计入您的堆使用情况,直到至少下一个GC。这是我建议您通过调用System.gc()强制GC的极少数情况之一。您也可以尝试使用几个较小的位图。