使用glide加载背景图片内存消耗对比

来源:互联网 发布:雷神笔记本怎么样知乎 编辑:程序博客网 时间:2024/06/09 04:20

以一个Demo对比activity背景在使用和不使用glide时的内存消耗。
在gradle中添加glide的依赖:

    compile 'com.github.bumptech.glide:glide:3.7.0'

选择一幅图作为背景,540*960,37KB,不用glide,设置为背景

        Drawable backgroundDrawable = getResources().getDrawable(R.drawable.bg_a01_2_ps_540);        getWindow().getDecorView().setBackground(backgroundDrawable);

截图:
这里写图片描述

消耗内存
这里写图片描述

然后用glide,因为setBackground要传drawable,要用下面的代码转换成glidedrawable再设置背景:

        Glide.with(this).load(R.drawable.bg_a01_2_ps_540).into(new SimpleTarget<GlideDrawable>() {            @Override            public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) {                getWindow().getDecorView().setBackground(resource);            }        });

消耗内存:
这里写图片描述

好了,glide如此牛逼,以后凡是加载图片的地方都用glide吧!如果再使用webp格式的图片,内存消耗会不会更小呢?下面再试试!

把原来的png图片转成webp,质量设置为100%,转化后大小变为11KB,用glide加载,结果如下:
这里写图片描述
效果不明显,但还是应该把png转成webp,这样最后打包的apk会比原来小很多,在我刚发现webp格式的时候,把所有资源图片都转换了,apk大小减小了20%!最重要的是图片转换后不需要修改代码哦。

原创粉丝点击