Before we start
- Lot's medium.com page : https://medium.com/@duhroach
- Android Performance Patterns : https://goo.gl/4ZJkY1
- Understanding Compression : https://goo.gl/xZ4fE7
その他便利ツールなど
- Smaller PNGs : goo.gl/1yp3Bj
- PNG & AAPT : goo.gl/qr8z6n
- POTrace : goo.gl/TG5z
- ImgMin project : goo.gl/OSvkMS
- Butteraugli : goo.gl/1ehQOi
- ImageMagick : goo.gl/MgTR
- Smaller JPG files : goo.gl/7omMnm
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
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 件のコメント:
コメントを投稿