2016年5月22日日曜日

Image compression for Android developers - Google I/O 2016

(テンション高いし、聞き取りやすい英語なのでオススメです)

Before we start

その他便利ツールなど

Four formats you care about

  • PNG
  • VectorDrawable
  • JPG
  • WebP

PNG

144x144 の単色の I/O アイコンが github では 6k だがストアの apk では 2k。でもまだ 144x144 にしてはでかい。8 color indexed image にすれば 932bytes になる。
  • palette や indexed にできるように調整する
  • 透明なピクセルのRGBチャネルを処理する
  • preprocess するなら gradle で cruncherEnabled = false
詳しくは Smaller PNGs : goo.gl/1yp3Bj

VectorDrawable

  • VectorDrawable使おう
  • 特に単色のピクトグラムに最適
  • POTrace (goo.gl/TG5z) は画像から vector に変換するツール

JPEG

  • qualityには何を指定すればいいの?
  • ImgMin project (goo.gl/OSvkMS) が参考になる
  • Butteraugli (goo.gl/1ehQOi) も参考になる

JPG Optimizer

  • JPEGMini (Lossy)
  • MozJPEG (Lossy)
  • cJPEG (Lossless)
  • packJPG (Lossless, Custom format)
  • Web solutions
どれ使ってもいいからやろう

image format 選択フロー

VectorDrawable にできる - yes -> VectorDrawable
 |
 no
↓
WebP をサポートしてる? - yes -> WebP
 |
 no
↓
透明が必要? - yes -> PNG
 |
 no
↓
simple or complex ? - simple -> PNG
 |
 complex
↓
JPG

PNG -> Use a tool, Resuce Colors, Hand Optimize
JPG -> Use a tool, Correct Quality, Hand Optimize


PROFILE YOUR CODE!!

0 件のコメント:

コメントを投稿