微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android如何在Imageview中回收位图

如何解决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 举报,一经查实,本站将立刻删除。