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();
            }
        }

    }

}

我的内存分析器:

profiler memory

我想知道如何释放显存

对不起,我的英语不好,感谢您阅读我的问题!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)