怎么在Android中圖片的性能進(jìn)行優(yōu)化?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
創(chuàng)新互聯(lián)建站憑借在網(wǎng)站建設(shè)、網(wǎng)站推廣領(lǐng)域領(lǐng)先的技術(shù)能力和多年的行業(yè)經(jīng)驗(yàn),為客戶(hù)提供超值的營(yíng)銷(xiāo)型網(wǎng)站建設(shè)服務(wù),我們始終認(rèn)為:好的營(yíng)銷(xiāo)型網(wǎng)站就是好的業(yè)務(wù)員。我們已成功為企業(yè)單位、個(gè)人等客戶(hù)提供了網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)服務(wù),以良好的商業(yè)信譽(yù),完善的服務(wù)及深厚的技術(shù)力量處于同行領(lǐng)先地位。
1. 圖片的格式
目前移動(dòng)端Android平臺(tái)原生支持的圖片格式主要有:JPEG、PNG、GIF、BMP、和WebP(自從Android 4.0開(kāi)始支持),但是在Android應(yīng)用開(kāi)發(fā)中能夠使用的編解碼格式只有三種:JPEG、PNG、WebP,圖片格式可以通過(guò)查看Bitmap類(lèi)的CompressFormat枚舉值來(lái)確定。
public static enum CompressFormat { JPEG、 PNG、 WebP; private CompressFormat() { } }
如果要在應(yīng)用層使用GIF格式圖片,那么需要自己引用第三方函數(shù)庫(kù)進(jìn)行支持。
1.1 JPEG
JPEG是一種廣泛使用的有損壓縮圖像標(biāo)準(zhǔn)格式,它不支持透明和多幀動(dòng)畫(huà),一般攝像類(lèi)作品最終都是以JPEG格式展示。通過(guò)控制壓縮比,可以調(diào)整圖片的大小。
1.2 PNG
PNG是一種無(wú)損壓縮圖片格式,它支持完整的透明通道,從圖像處理領(lǐng)域?qū)ⅲ琂PEG只有RGB三個(gè)通道,而PNG有ARGB四個(gè)通道。由于是無(wú)損壓縮,因此PNG圖片占用空間一般比較大,會(huì)無(wú)形中增加最終APP的大小,在做APP瘦身時(shí)一般都要對(duì)PNG圖片進(jìn)行處理以減小其占用的體積。
1.3 GIF
GIF是一種古老的圖片格式,它誕生于1987年,它的特點(diǎn)是支持多幀動(dòng)畫(huà)。
1.4 WebP
WebP由Google在2010年發(fā)布,它支持有損和無(wú)損壓縮、支持完整的透明通道、也支持多幀動(dòng)畫(huà),是一種比較理想的圖片格式。在既保證圖片質(zhì)量又要限制圖片大小的需求下,WebP應(yīng)該是首選。
2. 圖片的壓縮
目前大多數(shù)APP都是PNG格式圖片資源,我們可以通過(guò)幾個(gè)工具對(duì)PNG圖片進(jìn)行壓縮來(lái)達(dá)到瘦身的目的。
2.1 無(wú)損壓縮ImageOptim
ImageOptim是一個(gè)無(wú)損的壓縮工具,它通過(guò)優(yōu)化PNG壓縮參數(shù),移除冗余元數(shù)據(jù)以及非必需的顏色配置文件等方式,在不犧牲圖片質(zhì)量的前提下,既減少了PNG圖片占用的空間,又提高了加載的速度。
2.2 有損壓縮ImageAlpha
ImageAlpha是ImageOptim作者開(kāi)發(fā)的一個(gè)有損的PNG壓縮工具,相比較而言,圖片大小得到極大的降低,當(dāng)然圖片質(zhì)量同事也會(huì)受到一定程度的影響,經(jīng)過(guò)該工具壓縮的圖片,需要經(jīng)過(guò)設(shè)計(jì)師的確認(rèn)才能最終上線(xiàn),否則可能回影響整個(gè)APP的視覺(jué)效果。
2.3 有損壓縮TinyPNG
TinyPNG也是比較知名的有損PNG壓縮工具,它以Web站點(diǎn)的形式提供,沒(méi)有獨(dú)立的APP安裝包,同所有的有損壓縮工具一樣,經(jīng)過(guò)壓縮的圖片,需要經(jīng)過(guò)設(shè)計(jì)師的確認(rèn)才能最終上線(xiàn),否則可能回影響整個(gè)APP的視覺(jué)效果。
還有很多無(wú)損壓縮工具,例如JPEGMini、MozJPEG等,大家自行選擇適合自己項(xiàng)目的一個(gè)就行,主要是在圖片大小和圖片質(zhì)量之間找到一個(gè)折中點(diǎn)。
2.4 PNG/JPEG 轉(zhuǎn)換為WebP
如果你的APP最低支持到Android4.0,那么可以直接使用系統(tǒng)提供的能力來(lái)支持WebP,如果是4.0以下的系統(tǒng),也可以通過(guò)在APP中集成第三方函數(shù)庫(kù)例如webp-android-backport來(lái)實(shí)現(xiàn)對(duì)WebP的支持。根據(jù)Google測(cè)試,無(wú)損壓縮后的WebP比PNG文件少了45%的文件大小,即使這些PNG文件經(jīng)過(guò)其他壓縮工具例如ImageOptim壓縮后,WebP依然可以減少約28%的文件大小。
WebP轉(zhuǎn)換的工具可以選擇智圖和iSparta等
2.5 盡量使用NinePatch格式的PNG圖
.9.png圖片格式簡(jiǎn)稱(chēng)NinePatch圖,本質(zhì)上仍然是PNG格式圖片,它是針對(duì)Android平臺(tái)的一種特殊PNG格式圖片,可以在圖片指定位置拉伸或者填充內(nèi)容。NinePatch圖的優(yōu)點(diǎn)是體積小,拉伸不變形,能夠很好地適配Android各種機(jī)型。Android SDK自帶了NinePatch圖的編輯工具,位于sdk/tools/draw9patch,點(diǎn)擊即可啟動(dòng);當(dāng)然,Android Studio也集成了PNG轉(zhuǎn)NinePatch的功能,我們只需右鍵點(diǎn)擊某個(gè)需要轉(zhuǎn)換的PNG圖片,在彈出的對(duì)話(huà)框中選擇Create 9-Patch File…即可自動(dòng)完成轉(zhuǎn)換。
3. 圖片的緩存
圖片的緩存框架有很多,常見(jiàn)的有四種
Android-Universal-Image-Loader
Picasso
Glide
Fresco
看完上述內(nèi)容,你們掌握怎么在Android中圖片的性能進(jìn)行優(yōu)化的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)頁(yè)名稱(chēng):怎么在Android中圖片的性能進(jìn)行優(yōu)化
網(wǎng)站地址:http://m.newbst.com/article18/jheidp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、用戶(hù)體驗(yàn)、網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)