Bitmap bitmap;
@Override public void setImageBitmap(Bitmap bm) { bitmap= bm; if(isDetached){//防止异步回调时 设置bm,可能异步回来的时候imageview已经执行了onDetachedFromWindow if(bitmap!= null && !bitmap.isRecycled()){ bitmap.recycle(); bitmap= null; setImageBitmap(null); } return; } super.setImageBitmap(bm); }
@Override protected void onDetachedFromWindow() { //imageview不再显示时 回收图片 if(bitmap!= null && !bitmap.isRecycled()){ bitmap.recycle(); bitmap= null; setImageBitmap(null); } isDetached = true; super.onDetachedFromWindow(); }boolean isDetached=false; @Override protected void onAttachedToWindow() { super.onAttachedToWindow(); isDetached = false; }
版权声明:本文为jscoolstar原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。