google webp在iOS上的使用

前段時間比較充裕,大家都說需要對APP的ipa包進行瘦身,想到了幾點:

1、對部分組件代碼打包成靜態(tài)庫

2、對APP內(nèi)的資源文件進行過濾以及對圖片進行再次壓縮

3、利用google開源的webp工具,對圖片進行壓縮,然后再加載webp后綴的圖片

其中第一點和第二點都使用過了,APP的ipa包也得到了明顯的減小,但是由于工程內(nèi)需要預加載的圖片過多,以及很多圖片都是一些較大的高清圖片,圖片壓縮已經(jīng)到了極致,不能再次進行壓縮,否則會讓圖片顯得模糊不清,故使用google的webp工具對圖片進行壓縮,這個工具可以讓幾百K的圖片壓縮后變成幾K,而且圖片不會變的模糊。

在github上我們可以查詢到前人已經(jīng)有人封裝好了庫給我們使用,但是我們pod的時候libwebp.a我們無法pod下來,這個就需要我們自己去google網(wǎng)站https://chromium.googlesource.com/webm/libwebp去下載webp的c代碼,然后把這些基本導入到工程中,同時SDWebImage以前的版本因為集成了webp庫是可以直接拿來使用的,不知后面為啥又把這個庫給直接刪除了。

目前需要用加載webp后綴圖片的時候,我們還是需要SDWebImage這個框架中的一些方法的,這里就不多說,后面大家自己看源代碼。下面我把webp的c語言代碼直接封裝成了webp.framework 靜態(tài)庫供自己使用,同時配合SDWebImage進行封裝加載webp圖片。具體使用如下:

1、cocoapod管理

pod 'WebpiOS'

2、手動導入

把webp文件下的文件導入到工程,同時工程依賴SDWebImage第三方框架

導入頭文件 #import "UIImage+WebP.h"

@interface UIImage (WebP)

(nullable UIImage *)sd_imageWithWebPData:(nullable NSData *)data;

@end

圖片轉(zhuǎn)換工具下載地址?https://github.com/mymirror/webp-.git

such as:

UIImage *img = [UIImage sd_imageWithWebPData:[NSData dataWithContentsOfFile:[[NSBundle mainBundle]pathForResource:@"bg_third@3x" ofType:@"webp"]]];

UIImageView?imageview = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, img.size.height320/img.size.width)];

[self.view addSubview:imageview];

[imageview setImage:img];

具體demo地址:

https://github.com/mymirror/WebpiOS

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容