????????一樣的目的,目前網(wǎng)上到處充斥著圖片的瘦身监右,但是能完整記錄下來并運(yùn)用與實(shí)踐的估計(jì)少之又少发钝,本文檔是在對我在項(xiàng)目中資源圖片進(jìn)行優(yōu)化處理后的總結(jié),采用了Webp技術(shù)泛领,而目前該技術(shù)被國內(nèi)外互聯(lián)網(wǎng)公司使用,好像手淘的app和H5已經(jīng)全面使用了Webp圖片
1. 一般資源瘦身的步驟
2. 進(jìn)行查找未使用的圖片
LSUnusedResources
? ? 2.1?該工具是把在項(xiàng)目中沒有用到的圖片給找出來敛惊,但是該工具要求在項(xiàng)目中使用原圖片名稱渊鞋,不能進(jìn)行二次轉(zhuǎn)換,不然查找失效瞧挤,這也是我們項(xiàng)目中不能用該工具來批量查找未使用圖片的原因了锡宋。
? ? 2.2?Githud:https://github.com/tinymind/LSUnusedResources
3. 大比例壓縮
? ? 3.1 圖片格式對比
? ? 3.2 PNG轉(zhuǎn)Webp
? ??注意:目前請使用2.1.2版本,3.1版本有問題
? ??png轉(zhuǎn)換以及壓縮工具iSparta:http://isparta.github.ios/
? ??Webp項(xiàng)目主頁:https://developers.google.com/speed/webp/
????iOS Webp解析庫:https://github.com/carsonmcdonald/Webp-iOS-example
3.3????坑:如果在使用該工具導(dǎo)出文件的過程中報(bào)如下錯誤特恬,請重新導(dǎo)出文件為png执俩,再進(jìn)行格式轉(zhuǎn)換
4.?為何使用Webp,優(yōu)點(diǎn)
? ? 4.1 Webp壓縮率高癌刽,支持有損與無損壓縮
? ? 4.2 Webp體積大幅減少役首,肉眼看不出差異
? ? 4.3 Webp支持Alpha透明和24-bit顏色數(shù),不像PNG8色彩不夠出現(xiàn)毛邊和毛刺
? ? 4.4 Gif轉(zhuǎn)Animated Webp有損可減少64%显拜,無損19%
? ? 4.5 小于256色適合無損壓縮衡奥,壓縮率高,參數(shù)使用- lossless –q 100
? ? 4.6 大于256色使用75%有損壓縮讼油,參數(shù)使用-q75
? ? 4.7 遠(yuǎn)大于256色使用75%以下壓縮率杰赛,參數(shù)-q50 –m 6
5. Webp的缺點(diǎn)
? ? 5.1?較PNG消耗2倍左右的CPU和解碼時(shí)間
? ? 5.2?全平臺支持度不夠呢簸,在iOS上可以通過對應(yīng)的iOS的Webp解析庫解決
6. 項(xiàng)目實(shí)踐
? ? 6.1 轉(zhuǎn)換好圖片后矮台,使用開源的框架
? ??pod 'SDWebImage/WebP'
? ??在安裝Webp的過程中要安裝libwebp 0.6.0版本,而在下載該版本時(shí)根时,可能遇到超時(shí)問題:
解決該問題的步驟為:
? ? 6.1.1?查看cocoapods本地庫路徑:
? ? ? ? ? ? pod repo
? ? 6.1.2?在本地庫中瘦赫,找到對應(yīng)的libwebp版本的文件
? ? 6.1.3?進(jìn)入libwebp目錄,可以查看對應(yīng)的版本
? ? 6.1.4?由于SDWebImage依賴的libwebp版本為0.6.0蛤迎,所以進(jìn)入該版本确虱,并做修改
? ??????????sudo vim libwebp.podspec.json
????????????將其中的”git”對應(yīng)的url替換為:https://github.com/webmproject/libwebp.git,并保存退出替裆,后再次進(jìn)行pod install即可
7. 在實(shí)際項(xiàng)目中的運(yùn)用
? ? 我們項(xiàng)目采用了統(tǒng)一的宏來加載圖片校辩,所以只要替換宏就達(dá)到目的
8. 文件大小對比
結(jié)束:以上就是我在實(shí)際項(xiàng)目中對圖片資源進(jìn)行初步優(yōu)化的結(jié)果窘问,當(dāng)然還有很多要優(yōu)化的方面,比如放入asserts里面宜咒,比如去重等等惠赫,暫且先這樣吧...