图片优化

目前移动端Android平台原生支持的图片格式有:JPEG,PNG,GIF,BMP,WebP。但是Android应用开发中能够使用的编码格式只有其中三种:JPEG,PNG,WebP,图片格式可以通过查看BItmap类的CompressFormat枚举类来确定。如果要在应用层使用GIF格式图片,则需要自己引入第三方函数库支持。

1.图片格式

1.1JPEG

JPEG是一种广泛使用的有损压缩图像标准格式,它不支持透明和多帧动画,一般摄影类作品最终都是以JPEG格式展示。通过控制压缩比来调整图片的大小。

1.2PNG

PNG是一种无损压缩图片格式,它支持完整的透明通道,从图像处理领域来讲,JPEG只有RGB三个通道,而PNG有ARGB四个通道。由于是无损压缩,因此PNG图片占用空间一般比较大,会无形中增加APP大小,APP瘦身的时候一般要对PNG图片进行处理以减少其占用的体积。

1.3GIF

GIF是一种古老的图片格式,1987年出现,特点是支持多帧动画。

1.4Webp

相比于前面几种格式,WebP是最晚出现的,由谷歌在2010年发布,它支持有损压缩和无损压缩,支持完整的透明通道,也支持多帧动画,是一种比较理想的图片格式。微信,微博,淘宝等都用这个图片格式。在既保证图片质量又限制图片大小的需求下,WebP是首选。

2.图片压缩

2.1无损压缩ImageOptim

ImageOptim是一个无损的压缩工具,它通过优化PNG压缩参数,移除冗余元数据以及非必须的颜色配置文件等方式,在不牺牲图片质量的前提下,既减少了PNG图片占用的空间,又提高了加载速度。

2.2有损压缩ImageAlpha

ImageAlpha是ImageOptim作者开发的一个有损的PNG压缩工具,相比较而言,图片大小得到极大的降低,图片质量会受到一定程度的影响,通过该工具压缩的图片的经过设计师的检视才能最终上线,否则会影响整个APP的视觉效果。

2.3有损压缩TinyPNG

TinyPNG也是比较知名的有损PNG压缩工具,它以Web站点的形式提供,没有独立的APP安装包。

2.4PNG/JPEG转换为WebP

WebP转换工具可以选择智图和iSparta等,根据Google的测试,无损压缩后的WebP大小比PNG文件少了45%,即使这些PNG文件经过其他压缩工具压缩后,转换为WebP后大小依然可以减少28%。

2.5尽量使用NinePatch格式的PNG图

.9.png图片格式简称为NinePatch图,本质上依然是PNG格式的图片,它是针对Android平台的一种特殊PNG图片格式,可以在图片指定位置拉伸或填充内容。NinePatch图的优点是体积小,拉伸不变形,能够很好的适配Android各种机型,AndroidSDK自带NinePatch图的编辑工具。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
RecyclerView 加载图片时,存在一些优化的方法和技巧,以提升用户体验和性能方面的需求。 1. 图片压缩:在加载图片前,可以对图片进行压缩处理,减小图片的大小。可以使用图片处理库,如Glide、Picasso等,在加载图片进行压缩处理。 2. 图片缓存:图片缓存可以减少网络请求,提高加载速度和用户体验。可以使用内存缓存和磁盘缓存,通过缓存已加载的图片,避免重复下载。 3. 图片懒加载:RecyclerView 在滑动过程中,可能会加载大量的图片,导致卡顿和性能下降。可以通过图片懒加载的方式,只在用户停止滑动时加载可见区域的图片,提升性能。 4. 使用合适的图片尺寸:为了减小图片的大小和加载时间,可以根据不同的屏幕密度和展示大小,选择合适的图片尺寸进行加载。可以通过定义多套资源文件,使用不同的图片尺寸。 5. 预加载:可以预先加载接下来的一些图片,以提前获取图片资源,减少加载等待时间。 6. 延迟加载:可以延迟加载图片,等待RecyclerView停止滑动后再加载,避免一次性加载过多的图片。可以通过监听RecyclerView的滑动状态和位置,判断何时加载图片。 7. 使用网络库:选择合适的网络请求库,如OkHttp、Retrofit等,可以提供更快速度、更稳定的网络请求,提高图片加载速度和用户体验。 8. 图片优化:在图片加载之前,可以对图片进行优化处理,如压缩图片、加密等操作,以减小图片大小和加快加载速度。 通过以上的优化方法和技巧,可以提高RecycleView加载图片的效率和用户体验,减少资源占用和流量消耗。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值