У меня есть что-то вроде этого:
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 хочет нарисовать переработанную растровую карту.
Каким образом можно переработать Bitmap, который уже был помещен как изображение в ImageView?
Thanksb