我有这样的事情:回收的ImageView位图
Bitmap.Config conf = Bitmap.Config.ARGB_8888;
WeakReference<Bitmap> bm = new WeakReference<Bitmap>(Bitmap.createBitmap(3000 + 3000, 2000, conf));
Canvas canvas = new Canvas(bm.get());
canvas.drawBitmap(firstBitmap, 0, 0, null);
canvas.drawBitmap(bm, firstBitmap.getWidth(), 0, null);
imageView.setImageBitmap(bm);
而且我将此在其上创建一个一个超过10的ImageView。 每当我创造新的ImageView,我要回收从第一个的“BM”对象,导致该码在那里,使我的堆增长越来越多,然后扔的OutOfMemoryError,所以我做的:
bm.recycle()
我将Bitmap(bm)设置为imageView对象后。 这会导致ImageView的画布想要绘制循环位图的异常。
什么是回收已经被放在ImageView上的图像的位图的方式?
Thanksb
imageView.setImageBitmap(bm);并在该块结束..没有其他线路。 –