精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

為什么Android的圖片質量沒有iOS的高?

移動開發
經常看到有人問:“安卓版微信發出去的圖片怎么那么渣!比iPhone的差遠了!”。不只是微信,很多應用安卓版的圖片質量就是要比iPhone版遜色很多,這到底是怎么回事?

經常看到有人問:“安卓版微信發出去的圖片怎么那么渣!比iPhone的差遠了!”。不只是微信,很多應用安卓版的圖片質量就是要比iPhone版遜色很多,這到底是怎么回事?

我們團隊最初也糾結過這個問題,費了半天勁、繞了好大圈,直到***才發現,原來這是谷歌犯得一個“小”錯誤,而且一直錯到了今天。

[[132512]]

谷歌的錯就在于:libjpeg。

libjpeg是廣泛使用的開源JPEG圖像庫(參考 http://en.wikipedia.org/wiki/Libjpeg ),安卓也依賴libjpeg來壓縮圖片。通過查看源碼,我們會發現安卓并不是直接封裝的libjpeg,而是基于了另一個叫Skia的開源項目(http://en.wikipedia.org/wiki/Skia_Graphics_Engine)來作為的圖像處理引擎。Skia是谷歌自己維護著的一個大而全的引擎,各種圖像處理功能均在其中予以實現,并且廣泛的應用于谷歌自己和其它公司的產品中(如:Chrome、Firefox、Android等)。Skia對libjpeg進行了良好的封裝,基于這個引擎可以很方便為操作系統、瀏覽器等開發圖像處理功能。

ibjpeg在壓縮圖像時,有一個參數叫optimize_coding,關于這個參數,libjpeg.doc有如下解釋:

boolean optimize_coding
TRUE causes the compressor to compute optimal Huffman coding tables
for the image. This requires an extra pass over the data and
therefore costs a good deal of space and time. The default is
FALSE, which tells the compressor to use the supplied or default
Huffman tables. In most cases optimal tables save only a few percent
of file size compared to the default tables. Note that when this is
TRUE, you need not supply Huffman tables at all, and any you do
supply will be overwritten.

這段話大概的意思就是如果設置optimize_coding為TRUE,將會使得壓縮圖像過程中基于圖像數據計算哈弗曼表(關于圖片壓縮中的哈弗曼表,請自行查閱相關資料),由于這個計算會顯著消耗空間和時間,默認值被設置為FALSE。

這段解釋乍看起來沒有任何問題,libjpeg的代碼也經受了十多年的考驗,健壯而高效。但很多人忽略了這一點,那就是,這段解釋是十多年前寫的,對于當時的計算設備來說,空間和時間的消耗可能是顯著的,但到今天,這似乎不應再是問題,相反,我們應該更多的考慮圖片的品質(越來越好的顯示技術)和圖片的大小(越來越依賴于云服務)。

谷歌的Skia項目工程師們最終沒有設置這個參數,optimize_coding在Skia中默認的等于了FALSE,這就意味著更差的圖片質量和更大的圖片文件,而壓縮圖片過程中所耗費的時間和空間其實反而是可以忽略不計的。那么,這個參數的影響究竟會有多大呢?

經我們實測,使用相同的原始圖片,分別設置optimize_coding=TRUE和FALSE進行壓縮,想達到接近的圖片質量(用Photoshop放大到像素級逐塊對比),FALSE時的圖片大小大約是TRUE時的5-10倍。換句話說,如果我們想在FALSE和TRUE時壓縮成相同大小的JPEG圖片,FALSE的品質將大大遜色于TRUE的(雖然品質很難量化,但我們不妨說成是差5-10倍)。

我們又對Android和iOS進行了對比(均使用標準的JPEG壓縮方法),兩個系統都沒有提供設置optimize_coding的接口(通過閱讀源碼,我們已經知道Android是FALSE,iOS不詳),當壓縮相同的原始圖片時,結果也是一樣,iOS完勝。想要品質接近,文件大小就會差出5-10倍,而如果要壓縮出相同大小的文件,Android的壓縮品質簡直就是慘不忍睹。

結果說明,蘋果很清楚optimize_coding參數和哈弗曼表的意義,這里需要特別指出,蘋果使用的哈弗曼表算法與libjpeg(及我們后來自行采用的libjpeg-turbo)不同,像素級可以看出區別,蘋果似乎基于libjpeg又進行了進一步的優化,壓縮出來的圖片細節上更柔和、更平滑。

以上試驗,我們嘗試過多個原圖、多種壓縮比例,試驗結果均類似,如有興趣,您不妨也自行進行嘗試。

最終我們決定,不再使用安卓系統原生的JPEG壓縮方法,而是基于libjpeg-turbo自行編譯了一版native的安卓庫,專門用來壓縮圖片,這樣在我們的產品中,就做到了僅僅用1/5的圖片大小,就能讓用戶得到不遜色甚至更優的圖片品質,對于我們團隊來說,費了半天勁、繞了好大圈是非常值得的。(使用libjpeg-turbo還有性能上的好處,這里就不再贅述了)

***,附上我們團隊在github上的開源項目地址,供參考:https://github.com/bither

責任編輯:林師授 來源: 博客園
相關推薦

2015-04-23 10:15:53

AndroidiOS圖片

2024-07-25 14:44:18

2022-06-12 21:36:57

Hooksreact

2021-07-21 09:35:36

switchbreakJava

2025-06-30 00:00:00

2023-11-07 15:11:46

Kafka技巧

2021-09-28 06:57:22

JWT過期生效

2019-04-03 15:46:55

中國編程語言

2023-08-28 09:05:46

LinuxJVM開源

2020-07-22 07:55:12

Python開發函數

2021-08-03 22:53:38

大數據存儲互聯網

2013-02-01 13:51:48

2019-09-11 09:09:56

++ii++編程語言

2012-05-11 09:50:49

iOSAndroid移動應用

2025-06-26 08:24:11

AndroidView尺寸消失術

2018-12-19 12:03:02

操作系統WindowsLinux

2012-05-04 20:29:36

2019-07-11 08:43:55

IOT大數據物聯網

2021-08-31 23:33:50

AndroidiOS功能

2019-05-07 09:44:45

Redis高并發模型
點贊
收藏

51CTO技術棧公眾號

91超碰国产在线| 精品久久久久久亚洲综合网站| 国产一区二区三区日韩精品| 欧美性受极品xxxx喷水| 男女h黄动漫啪啪无遮挡软件| 精品国产乱码久久久久久蜜臀网站| 激情婷婷久久| 国产一区二区日韩| 女人扒开腿免费视频app| 女人让男人操自己视频在线观看| 国产精品久久毛片a| 国产高清精品一区| 国产一区免费看| 欧美黄污视频| 一个人看的www久久| 亚洲AV成人精品| 国产亚洲一区二区手机在线观看 | 激情国产一区二区| 欧美性受xxxx白人性爽| 欧美做爰爽爽爽爽爽爽| 精品大片一区二区| 精品乱人伦小说| 手机看片一级片| 女厕盗摄一区二区三区| 亚洲精品久久久久久国产精华液| 欧美中文娱乐网| 色屁屁草草影院ccyycom| 狠狠色狠狠色综合| 国产精品第8页| 精品国产乱码一区二区| 欧美精品97| 日韩在线观看精品| 免费看黄色的视频| 嫩草国产精品入口| 欧美一区二区性放荡片| 亚洲一区在线不卡| 欧美成人a交片免费看| 亚洲国产精品自拍| 男女啪啪免费观看| 91蜜桃在线视频| 亚洲欧洲在线观看av| 欧美一区2区三区4区公司二百| 天天色综合久久| 不卡一区在线观看| 成人毛片网站| 性一交一乱一伧老太| 精品一区二区在线观看| 国产欧美一区二区| 一级二级三级视频| 美女网站色91| 91精品国产综合久久香蕉最新版 | 欧美精品一卡二卡| 一级片视频免费观看| 怡红院成人在线| 色视频欧美一区二区三区| 日韩久久一级片| 中文字幕这里只有精品| 欧美午夜无遮挡| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 蜜桃视频m3u8在线观看| 岛国精品视频在线播放| 亚洲自偷自拍熟女另类| 欧美无毛视频| 欧美日韩一区精品| 久国产精品视频| 97久久中文字幕| 4438x亚洲最大成人网| 九九久久久久久| 欧美日本三级| 亚洲国产精品久久91精品| 亚洲 欧美 日韩在线| 妖精视频一区二区三区免费观看| 亚洲另类激情图| 美国美女黄色片| 久久精品免费一区二区三区| 色综合久久久久久中文网| 久久精品视频8| 久久久国产精品一区二区中文| 国产精品扒开腿做爽爽爽的视频| 在线视频你懂得| 国产成人在线观看| 久久精品国产理论片免费| 国产免费a∨片在线观看不卡| 国产精品每日更新| 男女日批视频在线观看| 一二三四视频在线中文| 欧美日韩一区 二区 三区 久久精品| 蜜臀一区二区三区精品免费视频 | 色欲人妻综合网| 亚洲人成人一区二区三区| 国产精品∨欧美精品v日韩精品| 一本色道久久综合熟妇| 99视频在线观看一区三区| 日本高清视频一区二区三区| 国产精品一卡二卡三卡| 性做久久久久久免费观看欧美| 粉嫩虎白女毛片人体| 国产69精品久久| 日韩精品资源二区在线| 亚洲AV无码国产成人久久| 亚洲91中文字幕无线码三区| 久久免费少妇高潮久久精品99| 午夜精品免费观看| 国产成a人无v码亚洲福利| 日本一区二区不卡高清更新| 在线播放免费av| 色婷婷av一区二区三区软件| 91精品国产高清91久久久久久| 国产成人精品999在线观看| 久久成人一区二区| 亚洲天堂视频在线播放| 岛国av在线一区| 中文字幕在线中文字幕日亚韩一区| 久久男人av资源站| 91麻豆精品国产自产在线 | 天天干天天操天天做| 久久99国产精品久久99大师| 久久久91精品国产| 无码人妻精品一区二区三区蜜桃91 | 国产女人高潮时对白| 2022国产精品视频| 欧美视频在线第一页| 日本在线一区二区| 亚洲欧美制服丝袜| 99久在线精品99re8热| 国产一区欧美二区| 亚洲欧美日韩精品综合在线观看| 亚洲天堂手机| 亚洲电影中文字幕| 国产亚洲欧美精品久久久www| 精品一区二区三区免费毛片爱| 日本一区视频在线观看免费| 天堂8中文在线最新版在线| 日韩视频在线观看一区二区| 最新黄色av网址| 日韩中文字幕亚洲一区二区va在线| 国产综合精品一区二区三区| 日本无删减在线| 日韩午夜在线观看| 日韩欧美国产成人精品免费| 免费观看久久久4p| 亚洲欧美日韩国产成人综合一二三区| 日韩精品免费观看视频| 亚洲欧美日韩图片| 五月婷婷激情网| 99久久国产综合精品女不卡| 蜜臀av无码一区二区三区| 136国产福利精品导航网址应用| 久久夜色精品国产亚洲aⅴ| 国产精品天天操| 亚洲日本乱码在线观看| 999久久久精品视频| 婷婷久久一区| 999国产视频| 美洲精品一卡2卡三卡4卡四卡| 日韩视频免费观看高清完整版 | 手机在线免费av| 日韩手机在线导航| 日产欧产va高清| 不卡的电视剧免费网站有什么| 亚洲色成人www永久在线观看| 成人av资源网址| 欧美一级黑人aaaaaaa做受| 日韩电影网址| 欧美色综合影院| 国产美女福利视频| 成人一区在线看| 国产亚洲综合视频| 精品国产精品国产偷麻豆| 国产精品亚洲第一区| 国产午夜精品久久久久免费视| 欧美一区二区三级| 日韩污视频在线观看| 久久精品人人爽人人爽| 永久免费的av网站| 国产精品啊啊啊| 免费不卡亚洲欧美| 成人看片毛片免费播放器| 精品国模在线视频| 婷婷久久久久久| 欧美丝袜丝交足nylons图片| 2018天天弄| 2020国产精品久久精品美国| 最新中文字幕2018| 一区在线视频| 日韩免费一区二区三区| 欧美日本三级| 国产精品∨欧美精品v日韩精品| 精品国产99久久久久久| 亚洲精品国产精品国自产在线| 天干夜夜爽爽日日日日| 亚洲精品自拍动漫在线| 成人精品999| 国产乱一区二区| 大肉大捧一进一出好爽视频| 久久精品青草| 欧美综合77777色婷婷| 欧美9999| 国产精品美女在线| segui88久久综合9999| 日韩中文在线观看| 日本福利片在线| 日韩色视频在线观看| 日本黄色中文字幕| 亚洲高清久久久| 黄色录像二级片| 国产亚洲午夜高清国产拍精品| 91亚洲一线产区二线产区| 免费成人av资源网| 免费欧美一级视频| 欧美午夜a级限制福利片| 亚洲一区在线直播| 你懂的一区二区三区| 国产精品jizz视频| 96sao精品免费视频观看| 日本久久久久久久| 国产免费拔擦拔擦8x高清在线人| xxx成人少妇69| 国产精品无码2021在线观看| 亚洲国产精品va在线| 精品国自产在线观看| 欧美日韩黄色影视| 亚洲中文无码av在线| 欧美日韩裸体免费视频| 国产精品19乱码一区二区三区| 亚洲视频图片小说| 我要看一级黄色录像| 日本一区二区三区四区在线视频| 国产福利短视频| av电影在线观看不卡 | 久久免费电影网| 一本色道久久hezyo无码| 韩国一区二区三区| 亚洲黄色av片| 激情五月激情综合网| 污版视频在线观看| 蜜桃视频一区二区| www午夜视频| 美女脱光内衣内裤视频久久影院| 久久精品网站视频| 日韩中文字幕1| 欧在线一二三四区| 首页亚洲欧美制服丝腿| 37pao成人国产永久免费视频| 亚洲深夜激情| 国产性xxxx18免费观看视频| 国产免费成人| 免费日韩视频在线观看| 久久一二三四| 精品www久久久久奶水| 丝袜脚交一区二区| 久久99999| 国产一区二区福利视频| 久久出品必属精品| 国产成人综合在线观看| 69亚洲乱人伦| 91美女视频网站| 国产色视频一区二区三区qq号| 久久久精品国产99久久精品芒果| 美女久久久久久久久久| 国产性做久久久久久| 国产成人精品视频免费| 亚洲少妇30p| 久久久精品国产sm调教网站| 偷拍日韩校园综合在线| 国产成人精品777777| 欧美日韩视频在线观看一区二区三区 | 国产三级在线观看完整版| 国产精品理伦片| 午夜少妇久久久久久久久 | 成人黄色免费网| 91精品欧美福利在线观看| 99视频在线观看免费| 亚洲成人激情视频| 国产在线黄色| 久久天堂电影网| av资源在线播放| 国产精品成人观看视频国产奇米| 亚洲精品大片| 国产伦精品一区二区三区免| 国产精品羞羞答答在线观看| 在线观看日韩羞羞视频| 激情久久久久久| 激情五月亚洲色图| 国产成人午夜精品5599| 在线不卡av电影| 亚洲欧美另类久久久精品2019| 日本熟伦人妇xxxx| 欧美日韩在线亚洲一区蜜芽| 精品国产乱码一区二区三| 亚洲美女激情视频| 中文在线字幕免费观看| 日本道色综合久久影院| 成人在线视频国产| 麻豆视频成人| 91精品福利| 四虎永久在线精品无码视频| 国产精品一区二区你懂的| 97伦伦午夜电影理伦片| 亚洲精品高清在线| 亚洲av无码乱码国产精品fc2| 日韩精品一区二区三区在线观看 | 亚洲网中文字幕| 91在线观看一区二区| 国产午夜手机精彩视频| 色哟哟国产精品| 性生交大片免费看女人按摩| 最好看的2019年中文视频| 国产h片在线观看| 91香蕉国产在线观看| 精品久久久久久久| 一区二区传媒有限公司| 国产精品一卡二| 呻吟揉丰满对白91乃国产区| 黑人狂躁日本妞一区二区三区| 国产草草影院ccyycom| 中文字幕欧美国内| 亚洲天堂av影院| 国产精品欧美久久| 欧美+日本+国产+在线a∨观看| 看欧美ab黄色大片视频免费| 久久综合九色综合欧美亚洲| 久久久久无码国产精品不卡| 欧美日韩成人在线一区| 国产在线网站| 亲爱的老师9免费观看全集电视剧| jizzjizzjizz欧美| 日本中文字幕在线视频观看 | 欧美日韩一区成人| 国产69精品久久app免费版| 91av在线免费观看| 久久97精品| 每日在线更新av| 99在线精品观看| 久久久国产高清| 精品视频在线播放色网色视频| av2020不卡| 精品国产免费久久久久久尖叫 | 亚洲一区二区高清| 亚洲va久久久噜噜噜无码久久| 久久成人这里只有精品| 人人九九精品视频| 免费观看亚洲视频| 国产成人精品在线看| 国产亚洲精品女人久久久久久| 日韩精品一区二区三区视频| 一区二区三区伦理| 国产精品10p综合二区| 好看的日韩av电影| 亚洲啪av永久无码精品放毛片| 亚洲福利国产精品| 天堂在线免费av| 日韩av电影在线免费播放| 精品国产一区一区二区三亚瑟| 国产三级国产精品国产专区50| 国产精品久久久久影院亚瑟 | 成人手机在线视频| 日本三级2019| 日韩精品在线免费观看视频| 欧美xoxoxo| 国产又爽又黄ai换脸| 国产伦理精品不卡| 国产成人自拍视频在线| 亚洲人成在线观| 四虎视频在线精品免费网址| 欧美少妇一区二区三区| av综合在线播放| www毛片com| 日韩在线高清视频| 国产另类在线| 国产理论在线播放| 亚洲乱码日产精品bd| 香蕉人妻av久久久久天天| 国产福利视频一区二区| 亚洲天堂一区二区三区四区| 免费不卡的av| 欧美综合天天夜夜久久| 影音先锋男人资源在线| 欧美另类网站| 国产乱子伦视频一区二区三区| 永久免费看片在线播放| 视频在线观看99| 国产一区二区三区亚洲| 91看片在线免费观看| 亚洲愉拍自拍另类高清精品| 日本人妖在线| 超碰97网站| 青青草一区二区三区| 久久久久久久久久久网| 国产一区二区激情| jazzjazz国产精品久久| 久久精品影视大全| 亚洲地区一二三色| 亚洲图片88| 久久精品国产第一区二区三区最新章节 | 国内自拍一区| 自拍偷拍你懂的| 亚洲精品狠狠操| 精品中文字幕一区二区三区| 国产激情在线观看视频|