У меня есть что-то вроде этого:
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 , поэтому я делаю: 1006 *
bm.recycle()
сразу после того, как я установил Bitmap (bm) для объекта imageView.
Это вызывает исключение, что холст ImageView хочет нарисовать переработанное растровое изображение.
Как перерабатывать растровое изображение, которое уже было добавлено в ImageView в качестве изображения?
Thanksb