今天給大家介紹的是一款Android Studio上的gradle插件:img-optimizer-gradle-plugin(歡迎star給予支持)促煮,該插件的作用歸結為一句話:
一款用于優(yōu)化png圖片的gradle插件,有效減少APK體積菠齿,支持極限壓縮和無損壓縮佑吝。
如何使用
在Project的build.gradle文件中:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0-alpha5'
classpath 'com.chenenyu:img-optimizer:版本號'
}
}
然后在你想要優(yōu)化的module的build.gradle文件中:
apply plugin: 'img-optimizer'
然后在task tree里面就可以看到對應的task:
雙擊即可執(zhí)行泞当。task的名字受當前module的命名影響迹蛤。
支持的配置項
可以在module的build.gradle文件中添加配置選項盗飒,來自定義任務:
optimizerOptions {
triggerSize 5
type "lossy"
suffix "_opt"
}
-
triggerSize
用于過濾圖片逆趣,小于該值的圖片不會進行優(yōu)化嗜历。默認為0宣渗,即每張圖片都進行優(yōu)化田轧。 -
type
優(yōu)化類型,目前支持"lossy"
和"lossless"
鞍恢。"lossy"
為極限壓縮(推薦傻粘,速度快,壓縮率高)帮掉,"lossless"
為無損壓縮(速度慢弦悉,壓縮率低,與原圖無差別)蟆炊。 -
suffix
優(yōu)化后的圖片后綴稽莉。假如配置為"_opt"
,ic_launcher.png
經過優(yōu)化后涩搓,將會生成ic_launcher_opt.png
污秆。默認為空,即覆蓋原圖缩膝。
效果預覽
原圖 | 極限壓縮(lossy) | 無損壓縮(lossless) |
---|---|---|
526K | 195K(減少63%) | 473K(減少10%) |
說明
如果項目有多個module混狠,請在相應的build.gradle中配置plugin岸霹,每個module相互獨立疾层。執(zhí)行task后會在module根目錄下生成log文件,詳細記錄了每張圖片的優(yōu)化情況贡避,方便查看痛黎。
最后,再貼一下源碼地址刮吧,希望大家試用之后都能star支持一下湖饱。