關(guān)于圖片資源
ios 程序會(huì)把圖片資源編譯成二進(jìn)制文件,程序運(yùn)行時(shí)會(huì)把這些圖片從磁盤加載直接到內(nèi)存,如果圖片很大,加載速度就會(huì)很慢。
為了優(yōu)化提高性能,需要盡量壓縮圖片資源。(ps 蘋果公司的UIKit 開發(fā)者Andy Matuschak指出:使用resizable image是最快的方法。)
關(guān)于圖片資源的壓縮
如果不需要用半透明的圖片 則盡量不要用png 格式的圖片。相應(yīng)的可以用jpg格式的。另外谷歌最新推出的一種格式webp
1 WebP是什么
WebP是Google推出的一種同時(shí)提供了有損壓縮與無損壓縮的圖片格式。目前互聯(lián)網(wǎng)上傳輸?shù)臄?shù)據(jù)有65%都是圖片,WebP就是出于減少數(shù)據(jù)量、加速網(wǎng)絡(luò)傳輸?shù)哪康亩_發(fā)的。WebP希望能夠達(dá)到和JPEG同水平的圖片質(zhì)量,但是更小的文件,以減少圖片的傳送時(shí)間。
在有損壓縮的狀況下,WebP比同樣畫質(zhì)的JPEG少了25% ~ 34%的文件大小 。而在無損壓縮的情形中,比起用libpng產(chǎn)生的PNG圖片,WebP少了34%的文件大小,也比用pngout再處理過的PNG圖片少了26%的文件大小。
2 WebP的使用
webp圖片壓縮率會(huì)比jpeg、png更高,因此下載圖片會(huì)更省流量,特別適合在mobile app上使用。 比如iOS app上,可以把webp編譯生成framework,然后加入引用就可以是使用了。強(qiáng)烈推薦。
這iOS解析時(shí),可以直接使用 WebPImage。
NSData imageData = [NSData dataWithContentsOfURL:url];
UIImage tmpImage = [[WebPImage alloc] loadWebPFromData:imageData];
SDWebImage最近也提供了對webp的支持,起先不支持自己寫了一個(gè)分類,現(xiàn)在可以直接用他的UIImage+WebP
|