WebP是什么
https://zh.wikipedia.org/wiki/WebP
image.png
使用不夠廣泛
-
使用AS轉換
image.png - 使用工具轉換
下載地址:http://isparta.github.io/ - 使用命令的方式進行轉換
cwebp -q quality in.png -o out.webp -q 質量,0-100之間押搪。google給出75是最佳質量
libwebp下載地址
https://storage.googleapis.com/downloads.webmproject.org/releases/webp/index.html
https://pan.baidu.com/s/1DSNlyvT3kCNoEbp8A5aCrA -
編碼速度
時間與空間的妥協盒使?
時間:
image.png
空間:
image.pngimage.png - 兼容現狀
https://developer.android.com/guide/topics/media/media-formats.html
image.png
4.2.1+對于webp的decode和encode是完全支持的险耀,包括半透明圖片
4.0+到4.2.1,只支持完全不透明的decode、encode的webp圖
4.0 以下孕索,應該是默認不支持webp了
那么針對4.0以下的機型我們要使用webp咋辦呢,沒事躏碳,google提供了解決方案.
image.png
既然你不幫我這樣做搞旭,那我自己寫一套編碼解碼不就行了嗎?
https://developers.google.com/speed/webp/download
我們把文件下載下來之后,把它編譯成so包选脊,放入項目中即可使用相關接口
步驟:
- 解壓libwebp杭抠,找到Android.mk,Android.mk中增加 ENABLE_SHARED := 1
image.png - 添加 swig/libwebp_java_wrap.c
image.png - 創(chuàng)建Application.mk 。APP_ABI := armeabi-v7a x86 APP_PLATFORM = android-14
image.png -
目錄的名字改為jni恳啥,并在該目錄下執(zhí)行ndk-build偏灿,獲得jni/swig/libwebp.jar以及 libs/ABI/libwebp..so
image.png
下一章節(jié)實現自己解碼和編碼webp,解決上述兼容問題