问题描述
我的工作项目,包括位图的操作。因为我不希望有OutOfMemoryError而我试图回收未使用的每一个位图。可惜的是我已经回收了太多,已经尝试使用回收的位图的错误。
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.
我使用的:
Bitmap.createBitmap(bmp, x,y,w,h, matrix, false);
Bitmap.createScaledBitmap(bmp, w, h,true);
我应该回收BMP这个方法之后,或者是由他们回收?这样的:
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();
我可以只后imageView.setImageBitmap()回收其中一个previously用在这里?例如。
Can I just after imageView.setImageBitmap() recycle one which previously was used here? E.g.
myImageView.setImageBitmap(myBitmap);
myImageView.setImageBitmap(newBitmap);
myBitmap.recycle();
感谢您的帮助。
推荐答案
您应该只回收一个位图时,你不需要它了。但是,您做需要一个位图,当你想的显示的它。如果你不希望显示它,那么你可以回收的位图。
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.
这篇关于回收位图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!