I am working on project which involves operations on bitmaps. Because I don’t want to have OutofMemoryError I’m trying to recycle each of unused bitmap. Unfortunatelly I’ve recycled too much and have ‘trying to use a recycled bitmap’ error.
I am using:
Bitmap.createBitmap(bmp, x,y,w,h, matrix, false);
Bitmap.createScaledBitmap(bmp, w, h,true);
Should I recycle bmp after this methods or it is recycled by them? Like:
Bitmap newBitmap = Bitmap.createBitmap(bmp, x,y,w,h, matrix, false);
bmp.recycle();
Can I just after imageView.setImageBitmap() recycle one which previously was used here? E.g.
myImageView.setImageBitmap(myBitmap);
myImageView.setImageBitmap(newBitmap);
myBitmap.recycle();
Thank you for help.
You should only recycle a bitmap when you do not need it anymore. However, you do need a bitmap when you want to display it. If you don’t want to display it, then you can recycle a bitmap.