當(dāng)今互聯(lián)網(wǎng),無論網(wǎng)頁還是APP,流量占用最大的,多數(shù)都是因?yàn)閳D片,越是良好的用戶體驗(yàn),對圖片的依賴度越高。但是圖片是一把雙刃劍,帶來了用戶體驗(yàn),吸引了用戶注意,卻影響了性能,因?yàn)榫W(wǎng)絡(luò)請求時(shí)間會(huì)相對比較長。

圖片分很多種,比較主流的就是:位圖(BMP),jpg(JPEG,有損壓縮格式),png(無損壓縮格式)等,這三種,按照圖片大小和清晰度來看,依次是:BMP > png > jpg。因?yàn)閖pg是有損壓縮格式,所以jpg圖片相對最小。iOS普遍選擇的是png來作為最優(yōu)先選擇的圖片(蘋果官方也是這樣建議的)。

不過,有一種圖片格式,在大小上比png小,圖片質(zhì)量上跟png差不多,就是WebP。

什么是WebP?

簡單描述一下,WebP是google創(chuàng)造出的一種圖片格式,圖片的壓縮和解碼都由google提供的API完成(各種語言都有,不過目前好像沒看到j(luò)s可以解碼WebP的),在無損壓縮的情況下,比png要小28%左右

現(xiàn)在已經(jīng)被各大瀏覽器廠商兼容(如:Chrome,F(xiàn)irefox等),不過蘋果的Safri還沒有兼容這種格式,所以如果UIWebView里面含有WebP的圖片的話,就會(huì)顯示不出來(但是我們可以通過NSUrlProtocol來做處理)。如果要在APP中使用得話,我們需要引入SDWebImage這個(gè)第三方庫。

SDWebImage使用WebP

這個(gè)第三方庫封裝得很好,使用起來與我們以前用他來加載網(wǎng)絡(luò)圖片方式一樣,如下:

[imageView sd_setImageWithURL:[NSURL URLWithString:圖片路徑] placeholderImage:[UIImage imageNamed:@"默認(rèn)圖片"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *ima