Android Studio 2.3 對 WebP 支持

摘要:

Android Studio 2.3 正式版發(fā)布了,該版本包含一些新特性,包括

  • 對 WebP 支持的更新镣煮;
  • ConstraintLayout 庫支持更新和布局編輯器的部件面板割以。
  • 提供一個新的 App Link 助手可以幫助你在應用中構建 URI 的統(tǒng)一視圖。
  • 新的運行按鈕提供更直觀和可靠的立即運行體驗并鸵。
  • 最后是 Android 模擬器的測試,支持文本的復制和粘貼扔涧。

這次就說說 Android Studio 對 webP的支持

關于 webP

什么是 WebP园担?

WebP(發(fā)音 weppy,項目主頁)枯夜,是一種支持有損壓縮和無損壓縮的圖片文件格式弯汰,派生自圖像編碼格式 VP8。根據(jù) Google 的測試湖雹,無損壓縮后的 WebP 比 PNG 文件少了 45% 的文件大小咏闪,即使這些 PNG 文件經過其他壓縮工具壓縮之后,WebP 還是可以減少 28% 的文件大小摔吏。
2010 年發(fā)布的 WebP 已經不算是新鮮事物了鸽嫂,在 Google 的明星產品如 Youtube、Gmail征讲、Google Play 中都可以看到 WebP 的身影据某,而 Chrome 網(wǎng)上商店甚至已完全使用了 WebP。國外公司如 Facebook诗箍、ebay 和國內公司如騰訊癣籽、淘寶、美團等也早已嘗鮮。目前 WebP 也在我廠很多的項目中得到應用筷狼,如騰訊新聞客戶端瓶籽、騰訊網(wǎng)、QQ空間等埂材,同時也有一些針對 WebP 的圖片格式轉換工具塑顺,如 智圖iSparta 等楞遏。

WebP 的優(yōu)勢

WebP 在各大互聯(lián)網(wǎng)公司已經使用得很多了茬暇,國外的有 Google(自家的東西肯定要用啦,Chrome Store 甚至已全站使用 WebP)寡喝、Facebook 和 ebay糙俗,國內的有淘寶、騰訊和美團等预鬓。
優(yōu)勢主要有以下:

  • PNG 轉 WebP 的壓縮率要高于 PNG 原圖壓縮率巧骚,同樣支持有損與無損壓縮
  • 轉換后的 WebP 支持 Alpha 透明和 24-bit 顏色數(shù),不存在 PNG8 色彩不夠豐富和在瀏覽器中可能會出現(xiàn)毛邊的問題
  • WebP為網(wǎng)絡圖片提供了無損和有損壓縮能力格二,同時在有損條件下支持透明通道劈彪。據(jù)官方實驗顯示:無損WebP相比PNG減少26%大小顶猜;有損WebP在相同的SSIM(Structural Similarity Index沧奴,結構相似性)下相比JPEG減少25%~34%的大小长窄;有損WebP也支持透明通道滔吠,大小通常約為對應PNG的1/3。(同時肉眼幾乎無法看出差異)

更進一步了解可以查閱下面的相關博客

相關博客:

WebP 探尋之路
WebP原理和Android支持現(xiàn)狀介紹

Android Studio 2.3 對 WebP 支持

Android Studio 2.3使用有一段時間了挠日,在工作之余也嘗試了一把將目前項目中的圖片利用 Android Studio 提供的工具將項目中的 png 圖片轉化成 webp疮绷,最終項目瘦身成功。最初的10M 左右減到了 8點多 M嚣潜,成果顯著冬骚。建議項目比較龐大的可以去替換下。

如何將 png 轉化成 webp?

在之前常用的webp轉換工具有:XnConvet懂算,智圖只冻,ISparta

而現(xiàn)在我們可以
Google在新版本的Android studio 2.3中加入了對圖片壓縮的工具计技,可以直接將PNG,BMP,JPG和靜態(tài)的Gif圖片文件轉成Webp格式喜德,占用更少的空間資源,可以極大的縮小apk的大小酸役。
在新版本如何使用:
1.選擇你要修改格式的圖片住诸,然后右擊,在列表的最下端有個Convert to WebP...按鈕涣澡,如下圖所示:

Convert to WebP

2.點擊后彈出如下圖內容贱呐,有需要更改設置可以進行更改,沒有可直接點擊ok入桂。

可以自己的需要去更改這些狀態(tài)

3.最后就出現(xiàn)如下圖所示內容:

圖片小了很多奄薇,(≧▽≦)/激動

通過拖動Quality那個軸改吧圖片的壓縮質量,
中間的Difference表示原圖和壓縮后的圖的一個差異抗愁。壓縮的越多馁蒂,difference顯示的越清楚。

同時也支持將webp轉成png蜘腌。

APP瘦身

  • 趕緊把項目中的圖片按照默認方式去轉換下
1000多張沫屡,全選一起轉
  • 對比下前后 APP 的大小
png 的大小
webp 的大小

前后減少了大約1M 多。

其實我們的項目本身就已經很小了撮珠,才十左右沮脖,這點我們還是一直會去注意的,一直會做重構和瘦身芯急,保持 APP 的苗條身材勺届。

目前這個轉化我是按照系統(tǒng)默認的直接將 png 轉成 webp。其實針對很多圖片可以更大壓縮值的娶耍,比如Splash的大圖片免姿。這樣也可以加快 app 的啟動速度。

嗯榕酒。我又把 webp 換成 png了胚膊,蛋疼的兼容性問題。

問題原因

從官方文檔中可以看到在Android4.0到Android4.2.1之間的版本不支持無損壓縮和透明格式的WebP圖片的編解碼奈应。所以如果從要解析的WebP圖片中包含無損壓縮或透明格式澜掩,且當前是Android4.0到Android4.2.1之間的系統(tǒng),則BitmapFactory解碼時就會出錯杖挣。
Android 中不同格式圖片支持

此外肩榕,個別Android機型雖然是Android4.0及以上的版本,但是在原生ROM基礎上去掉了WebP功能惩妇。

分析

Android官方文檔中說明了在Android4.0的機器上開始支持了webp圖片格式株汉,不過對于無損、透明的圖片(設置了setAlpha)歌殃,圖像進行編碼時會出錯乔妈,導致圖像無法顯示。該問題在Android 4.2.1+解決了氓皱,詳見官方文檔:http://developer.android.com/intl/zh-cn/guide/appendix/media-formats.html路召。

解決方案

雖然在4.0以上都支持了勃刨,但是4.0-4.2版本的不支持
Google 爹這點沒有做的很好,批評下股淡。

既然不支持Alpha身隐,那么不要Alpha肯定是可以的。
然而在我們項目中幾乎所有的圖片都是帶有Alpha的唯灵。
這個時候我用命令把 png轉webp贾铝。
命令:
cwebp abc.png -noalpha -o abc.web

不要Alpha,效果是這樣的:

原圖
失去Alpha

這怎么玩埠帕。垢揩。。

然后還有另外一種方式敛瓷,就是兼容低版本叁巨,需要使用 so 包,看了下挺麻煩的呐籽。我決定俘种,等我們項目最低支持到4.2的時候再換成 webp。

嗯绝淡,
看了下4.0-4.2的用戶還有幾百個宙刘,堅持就好!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末牢酵,一起剝皮案震驚了整個濱河市悬包,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌馍乙,老刑警劉巖布近,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異丝格,居然都是意外死亡撑瞧,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門显蝌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來预伺,“玉大人,你說我怎么就攤上這事曼尊〕昃鳎” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵骆撇,是天一觀的道長瞒御。 經常有香客問我,道長神郊,這世上最難降的妖魔是什么肴裙? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任趾唱,我火速辦了婚禮,結果婚禮上蜻懦,老公的妹妹穿的比我還像新娘鲸匿。我一直安慰自己,他們只是感情好阻肩,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著运授,像睡著了一般烤惊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上吁朦,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天柒室,我揣著相機與錄音,去河邊找鬼逗宜。 笑死雄右,一個胖子當著我的面吹牛,可吹牛的內容都是我干的纺讲。 我是一名探鬼主播擂仍,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼熬甚!你這毒婦竟也來了逢渔?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤乡括,失蹤者是張志新(化名)和其女友劉穎肃廓,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诲泌,經...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡盲赊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了敷扫。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哀蘑。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖葵第,靈堂內的尸體忽然破棺而出递礼,到底是詐尸還是另有隱情,我是刑警寧澤羹幸,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布脊髓,位于F島的核電站,受9級特大地震影響栅受,放射性物質發(fā)生泄漏将硝。R本人自食惡果不足惜恭朗,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望依疼。 院中可真熱鬧痰腮,春花似錦、人聲如沸律罢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽误辑。三九已至沧踏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間巾钉,已是汗流浹背翘狱。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留砰苍,地道東北人潦匈。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像赚导,于是被迫代替她去往敵國和親茬缩。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內容