我代码是这样的:
Bitmap bm = ((MyApp)context.getApplicationContext()).getBmp(id);
mView.change(Bitmap.createBitmap(bm,0,0,bm.getWidth(),bm.getHeight(),matrix, true));
if(bm!=null && !bm.isRecycled()){
bm.recycle();
System.gc();
bm=null;
}
为什么这样会出现异常,这是引用造成的吗?但是为什么有些我这样的写法又不会报错呢?真的搞不懂怎么回事,谁帮帮我?
你的view中引用了bitmap吧,后面recycle以后,那么view就会引用一个空的bitmap,在执行绘制的过程当然会出现异常
先解除任何与bm的关系,比如有imgeview在使用这个bmp的话,先设置imageview的图为null,然后设置bmp=null,再回收
再用的bmp不能回收,这包括xml引用了资源方式等。所以只要你bmp不再用,随便你回收。
你在回收的时候比bitmap在其他地方使用了,正如各位大神们说的。我就路过一下。
要求recyclerview一直显示着图片,要怎么进行回收?在什么时候回收比较好