精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

醉酒壮男gay强迫野外xx| 国产免费xxx| 久久精品五月天| 精品国产一区二区三区久久久樱花| 色综合久久久网| 日韩videos| 国产绿帽刺激高潮对白| 欧美三级黄美女| 日韩av在线播放资源| 日本成人在线免费视频| av国产在线观看| 国产不卡视频在线观看| 欧美专区中文字幕| 91麻豆精品成人一区二区| 成人三级毛片| 欧美性猛交xxxxxxxx| 欧洲精品视频在线| 国际av在线| 国产精品99久| 国产精品ⅴa在线观看h| 久草中文在线视频| 九九久久成人| 日韩欧美一级在线播放| 欧美成人黑人猛交| 国产蜜臀一区二区打屁股调教| 国产日产亚洲精品系列| 99国产在线视频| 中文字幕 日韩有码| 国产精品99免费看| 色偷偷av一区二区三区乱| 亚洲激情 欧美| 亚洲欧洲专区| 色老汉一区二区三区| 男女激情免费视频| 久热国产在线| 欧美国产视频在线| 久久久久久久有限公司| 99久久精品国产色欲| 日韩成人精品在线| 97激碰免费视频| 中文字幕av播放| 欧美手机在线| 亚洲毛茸茸少妇高潮呻吟| 91人人澡人人爽| 色综合久久久| 色欲综合视频天天天| 亚洲熟妇无码一区二区三区导航| 老司机精品影院| 国产丝袜在线精品| 乱一区二区三区在线播放| 欧美熟妇乱码在线一区| 国产精品456露脸| 91久久久精品| 一区二区日韩在线观看| 美国一区二区三区在线播放| 日韩美女毛茸茸| 免费av网站在线| 在线综合亚洲| 91超碰中文字幕久久精品| 豆国产97在线 | 亚洲| 欧美精品大片| 欧美区二区三区| 黄色一级视频免费观看| 欧美视频成人| 久久久欧美一区二区| 激情小说中文字幕| 在线看片欧美| 97婷婷大伊香蕉精品视频| 国产一级生活片| 亚洲人体偷拍| 国产91精品久久久久| 好看的av在线| 久久亚洲二区| 国产精品嫩草影院久久久| 中文字幕乱码视频| 麻豆传媒一区二区三区| 91精品国产自产在线老师啪 | 久久99亚洲精品| 久久久精品91| 亚洲精品乱码| 欧美有码在线观看| 国产九色91回来了| 国产在线观看一区二区| 国产精品 日韩| 亚洲AV第二区国产精品| 国产欧美中文在线| 精品国产无码在线| av日韩国产| 色噜噜狠狠色综合中国| 爱爱爱爱免费视频| 亚洲一区二区三区四区电影 | 日韩美女毛茸茸| 最新中文字幕免费| 国产米奇在线777精品观看| 不卡一区二区三区视频| 日本天堂在线| 国产精品理伦片| 欧美一区二区激情| 欧亚一区二区| 欧美一区二区免费视频| 亚洲成人日韩在线| 希岛爱理一区二区三区| 久久免费视频这里只有精品| 中文人妻av久久人妻18| 国产精品一区一区| 免费在线一区二区| av网站在线免费看推荐| 欧美性少妇18aaaa视频| 亚洲精品永久视频| 香蕉一区二区| 久久视频在线播放| 亚洲欧美一二三区| 国产成人av一区二区三区在线 | 日本久久黄色| 欧美黑人巨大精品一区二区| 在线永久看片免费的视频| 国产电影精品久久禁18| 少妇精品久久久久久久久久| 丰满的护士2在线观看高清| 欧美色窝79yyyycom| 男女一区二区三区| 亚洲精品二区三区| 国产ts一区二区| 亚洲高清精品视频| 国产精品久久久久精k8| 欧美视频第一区| 8x国产一区二区三区精品推荐| 伊人久久男人天堂| 亚洲精品男人天堂| 国产成人av福利| 一区二区三区在线视频111| 欧美极度另类| 亚洲国产精品人人爽夜夜爽| 91高清免费观看| 青青国产91久久久久久| 久久综合九色综合网站| xxxx视频在线| 日韩美一区二区三区| 91制片厂在线| 免费观看一级特黄欧美大片| 欧美高清视频一区| 国产精品一区二区日韩| 精品三级av在线| 91精品国产高清一区二区三蜜臀| 欧美a级理论片| 日本不卡二区| 怡红院成人在线| 亚洲欧美国产制服动漫| 欧美日韩综合在线观看| 99久久久国产精品免费蜜臀| 国产成人一区二区三区别| 国产乱码精品一区二区三区亚洲人| 一区二区三区视频免费在线观看 | 成人午夜电影在线观看| 日韩欧美在线免费| 极品粉嫩小仙女高潮喷水久久 | av毛片在线免费观看| 不卡免费追剧大全电视剧网站| 男人的天堂avav| 最新精品在线| 久久久久久18| 人妻夜夜爽天天爽| 午夜精品福利在线| 国产精品一级黄片| 香蕉国产精品偷在线观看不卡| 精品国产乱码久久久久久蜜柚| 超级碰碰不卡在线视频| 亚洲成年人在线| 色婷婷在线观看视频| 99久久国产综合精品女不卡| 久久久久久久午夜| 亚洲第一福利专区| 国产精品丝袜视频| 黄色成人在线| 精品日韩在线一区| 男人日女人网站| 欧美高清在线视频| 五月天六月丁香| 亚洲激情欧美| 欧美一区二区高清在线观看| 草莓视频成人appios| 久久亚洲一区二区三区四区五区高| 国产富婆一级全黄大片| 亚洲成人免费电影| 伊人网伊人影院| 麻豆成人久久精品二区三区红 | 精品欧美aⅴ在线网站| 美女又爽又黄视频毛茸茸| 视频一区二区不卡| 久久久久久久久影视| 欧美sss在线视频| 国产精品av网站| 黄色av电影在线观看| 亚洲成人xxx| 一级黄色在线观看| 亚洲激情av在线| 国产成人av一区二区三区不卡| 久久国内精品视频| av之家在线观看| 日韩电影免费在线观看| 成人在线免费网站| av免费在线一区| 欧美激情久久久久| av在线免费播放网站| 精品国产免费久久 | 黄色网在线播放| 日韩成人在线观看| 99国产精品久久久久久久成人| 黄网站色欧美视频| 91嫩草丨国产丨精品| 26uuu久久综合| 久久精品一二三四| 青青草精品视频| www.射射射| 99视频精品视频高清免费| 久久av一区二区三区漫画| 高清一区二区中文字幕| 日韩av电影院| 国产精品69xx| 久久久91精品| 黄色在线小视频| 亚洲国产一区二区三区在线观看| 91麻豆一区二区| 色综合天天性综合| 免费毛片在线播放免费| 国产精品久久久久久亚洲毛片| 亚洲永久无码7777kkk| 国产真实乱对白精彩久久| 国产一级不卡毛片| 国产亚洲一级| 国产高清www| 中文字幕乱码亚洲无线精品一区 | 91精品国产乱码久久久久久蜜臀| 毛片在线看网站| 国产亚洲综合久久| 欧美日韩国产中文字幕在线| 欧美大片在线观看一区| 国产精品丝袜黑色高跟鞋| 精品婷婷伊人一区三区三| 亚洲欧美偷拍一区| 精品久久久久久久久久久久| 久久成人在线观看| 亚洲精品成人少妇| 国产大片免费看| 亚洲人一二三区| 99久久久免费精品| 1024成人网色www| 精品亚洲乱码一区二区| 国产精品成人免费精品自在线观看 | 永久免费的av网站| 日韩不卡一区二区| 999在线免费视频| 久久尤物视频| 黄色国产小视频| 日产欧产美韩系列久久99| 久久久久久久少妇| 日本中文字幕一区二区视频| 国产精品入口免费软件| 日av在线不卡| www.色欧美| 国产一区在线观看视频| 午夜影院免费观看视频| 国产精品1区2区| 免费观看污网站| 成a人片亚洲日本久久| 中文乱码人妻一区二区三区视频| bt欧美亚洲午夜电影天堂| 国产精品一级黄片| 欧美国产欧美综合| 成人做爰视频网站| 一区二区三区在线播| 久久精品视频久久| 欧美日韩中文在线| 波多野结衣在线电影| 欧美日韩激情一区二区三区| 国产一区二区小视频| 日韩欧美在线不卡| 特级丰满少妇一级aaaa爱毛片| 精品无人区太爽高潮在线播放 | 成人污污视频在线观看| 粉嫩av懂色av蜜臀av分享| 久久一区二区三区国产精品| 色综合99久久久无码国产精品| 国产精品免费视频观看| 欧美日韩免费一区二区| 五月激情六月综合| 久久精品国产亚洲av麻豆蜜芽| 337p亚洲精品色噜噜| 蜜桃久久一区二区三区| 亚洲久久久久久久久久| 天天综合视频在线观看| 欧美激情一区二区三区在线视频观看| 女厕盗摄一区二区三区| 国产精品三级久久久久久电影| 免费精品一区| 欧美精品国产精品久久久| 国产精品成人av| 国产免费黄色一级片| 日韩成人一区二区三区在线观看| 性高潮久久久久久| 国产日韩亚洲欧美综合| 青娱乐国产在线视频| 色先锋aa成人| 亚洲av无码一区二区乱子伦 | 99视频在线观看地址| 欧美国产在线视频| 日韩电影精品| 精品午夜一区二区| 91精品婷婷色在线观看| 日韩av资源在线| 国产美女一区二区| 日韩女同一区二区三区| 亚洲高清免费一级二级三级| 中文字幕永久免费视频| 日韩av中文字幕在线| sm国产在线调教视频| 日韩免费av在线| 国产成人在线中文字幕| 三年中文高清在线观看第6集| 国产精品久久久亚洲一区| 特种兵之深入敌后| 国产精品妹子av| 日日骚av一区二区| 亚洲福利在线视频| 2024最新电影在线免费观看| 国产精品久久久久高潮| 性欧美lx╳lx╳| a天堂资源在线观看| 精品一区二区在线视频| 三上悠亚影音先锋| 婷婷久久综合九色综合绿巨人 | 日韩av网站在线| 色综合999| 91老司机精品视频| 久久中文视频| 亚欧在线免费观看| 久久这里都是精品| 天天操天天摸天天干| 精品成人私密视频| 日本性爱视频在线观看| 91系列在线观看| 99精品视频在线观看免费播放| 黄色一级免费大片| 久久久综合九色合综国产精品| 天海翼一区二区| 亚洲第一精品夜夜躁人人爽| 人妖欧美1区| av成人在线电影| 欧美日韩国产欧| www日本在线观看| 一区二区三区精品视频在线| 91麻豆国产在线| 久久久www成人免费精品| 亚洲人体在线| 国产专区在线视频| 大尺度一区二区| 国产精品白浆一区二小说| 日韩欧美国产wwwww| 欧美黑人猛交| 国产一区二区黄色| 一区二区三区高清视频在线观看| 91九色蝌蚪porny| 精品久久久久久久久久国产| 理论视频在线| 国产精品女人久久久久久| 97视频热人人精品免费| 色婷婷一区二区三区在线观看| 亚洲欧美激情插| 亚洲国产福利视频| 97视频免费在线观看| 亚洲v天堂v手机在线| 国产v亚洲v天堂无码久久久| 日本一区二区三区dvd视频在线| 影音先锋国产资源| 美日韩精品视频免费看| 久久视频在线观看| aaa毛片在线观看| 18欧美乱大交hd1984| www.天堂在线| 欧美在线视频一二三| 欧美日韩有码| 久久久福利影院| 婷婷亚洲久悠悠色悠在线播放 | 久久伊人91精品综合网站| av综合网址| 欧美视频第三页| 亚洲欧美日韩国产成人精品影院 | 喷白浆一区二区| 亚洲av无码一区二区三区在线| 精品国产欧美一区二区| 欧美xnxx| 在线观看污视频| 久久夜色精品国产欧美乱极品| 亚洲一区二区三区高清视频| 欧美大片欧美激情性色a∨久久| 西瓜成人精品人成网站| 黄色一级片免费播放| 天天影视涩香欲综合网| 免费在线观看黄色网| 精品免费二区三区三区高中清不卡 |