前言
在业务开发中引入了oss图床,所以做了参数化图片裁剪及压缩,做这个的目的是减少图片的尺寸,增加加载速度及网络流量消耗,另外一起配合做了progressive图片渐见模糊化加载。这个主要包含两步,
第一步:
将原图地址添加oss参数拼接,demo如下:https://www.baidu.com/test.png?x-oss-process=image/format,jpg/interlace,1/quality,Q_100/resize,m_lfit,h_375,w_375
第二步:
APP客户端支持这种渐变模糊加载的框架,一开始使用的SDWebImage
只能渐变加载,不知道模糊化渐变清晰的加载方式,要用这个框架需要定制化展示,好在有个也是常用的YYWebImage
功能差不多,已经支持了这种特效
遇到问题
由于尝试了下降
png
转换成jpg
后图片压缩效果很明显,看文档还可以将图片转换成webp
,使用demo跑了下完全没问题,但是一集成到自己的项目里时发现webp的图片都加载不出来,而下载的YYWebImage里却能正常加载,经过大半天的源码debug研究发现是少了一个webp.framework
的库引起的,然后手动引入该库后发现还是不行,然后再转头去看官方文档,发现已经明确写了正确引入支持webp的方式,可是遇到问题时我没有第一时间去看官方文档而在自己瞎琢磨,百度时发现网上没有对应的文档,大概是官方文档写的明明白白,没有谁会和我一样饭如此低级的错误了吧,以后遇到问题一定要先从官方文档查起,算是一个经验教训
pod集成YYImage及支持webp
target 'TestYYWebP' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
# Pods for TestYYWebP
pod 'YYWebImage', '1.0.5'
#YYWebImage支持webp格式的图片
pod 'YYImage/WebP'
target 'TestYYWebPTests' do
inherit! :search_paths
# Pods for testing
end
target 'TestYYWebPUITests' do
inherit! :search_paths
# Pods for testing
end
end
网友评论