使用Glide模仿微信图片加载策略

该博客探讨了为何需要对图片进行压缩,通过对比压缩前后的资源消耗,强调了压缩图片对于节省带宽、CPU和内存的重要性。并详细介绍了如何使用Glide模仿微信的图片加载策略,包括服务器接口支持、指定图片尺寸参数、先加载缩略图等步骤,旨在提高图片加载速度和用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么要对图片进行压缩

比较压缩与否造成的资源消耗

你能区别出:下面两个九方格图片展示的区别不?
图1:
这里写图片描述
图2:
这里写图片描述
区别在于:图1使用的是压缩图,图2使用的是高清图
以下是高清图地址
http://o9xuvf3m3.bkt.clouddn.com/new_york.jpg
http://o9xuvf3m3.bkt.clouddn.com/peru.jpg
http://o9xuvf3m3.bkt.clouddn.com/trochilidae.jpg
http://o9xuvf3m3.bkt.clouddn.com/france-217.jpg
http://o9xuvf3m3.bkt.clouddn.com/france-220.jpg
http://o9xuvf3m3.bkt.clouddn.com/france-216.jpg
http://o9xuvf3m3.bkt.clouddn.com/france-221.jpg
以九方格中第一张图为例(高清地址:http://o9xuvf3m3.bkt.clouddn.com/new_york.jpg
大小2.7M2560*1920

压缩后的地址http://o9xuvf3m3.bkt.clouddn.com/new_york.jpg?imageView2/3/h/360/w/360
压缩后大小31KB,480*360
压缩后的样子这里写图片描述
压缩比高达1:89,但是神奇的是,它们在界面展示上展示效果几乎一致。溜不溜….

Monitors

手机尺寸总共就那么大,这里我是用小米Note,一格的宽度=一格的高度=一个1/3屏幕宽度,经过计算占用像素值是360*360,控件既不能放大又不能缩小,我们给再大的图又有什么意义。当然,图片很难可以达到完全适配的理想效果,所以我是用一张480*360大小的图片,然后用Center_Crop模式填充即可。
我们AndroidStudio Monitors上测试下,影响到底有多大
这里写图片描述
我家是20M光纤,我一个人独显,都要6,7S,我在想要是2G手机使用高清图加载的话,得多久。
动手算算,2.2M*7=15.4M,
10K/S,1540秒,也就是26min,这种App要是拿给网络差一点的用户,估计直接就删了。
总结下为什么要对图片进行压缩:

  1. 节约带宽,消耗更少的流量和网络请求时间
  2. 节约CPU资源(又为Android机动不动就发热的问题尽了一份力)
  3. 节约内存资源,这个影响不明显,但是蚊子肉也是肉不是

另一个用处,加载缩略图

这里写图片描述
就像微信一样,在加载图片的时候,先加载一张缩略图,然后再加载大图,这种模式下,我们可以在图片还没完全加载出来的时候大概已经知道它要描述的事物了。
不是说我们刚才已经采用了压缩过图片的方式了么,怎么还要加载缩略图。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值