如何解决Android如何在Imageview中回收位图
当我点击 loadBtn(Button) 时,我的 imageView 可以 setimageResource(image) 。
在我点击 clearBtn(Button) 后,imageView 应该清除这个图像,回收位图,并切换另一个活动。但是我看了 Profiler,显卡内存没有释放。
我的点击代码:
clearBtn.setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
recycleImageView(img);
Intent i = new Intent(MainActivity.this,MainActivity2.class);
startActivity(i);
finish();
}
});
loadBtn.setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
img.setimageResource(R.drawable.picture88);
}
});
我的回收位图代码:
public static void recycleImageView(View view){
if(view==null) return;
if(view instanceof ImageView){
Drawable drawable=((ImageView) view).getDrawable();
drawable.setCallback(null);
if(drawable instanceof BitmapDrawable){
Bitmap bmp = ((BitmapDrawable)drawable).getBitmap();
if (bmp != null && !bmp.isRecycled()){
((ImageView) view).setimageBitmap(null);
bmp.recycle();
bmp =null;
System.gc();
}
}
}
}
我的内存分析器:
我想知道如何释放显存。
对不起,我的英语不好,感谢您阅读我的问题!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。