Smaller APKs : Android におけるAPKを小さく保つためのテクニック
Android Performance Patterns Session にいい動画が上がっていたので、備忘録として中身を書き出しておく
- Removing Unused Resources
- Multi Resources Support
- Vector Drawables
- Reuse Existing Resources
- Removing Unused Code
- Apk Analyzer
Removing Unused Resources
gradle file にて以下の minifyEnabled と shrinkResources をセットしておく。
android {
...
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
これらはアプリ内で使用していないリソースを除去してくれます。
Multi Resources Support
Android がサポートしているリソースサイズを全て揃えるとそれだけで結構な量になるので、必要なものだけ使う。
ldpi
mdpi から自動で作られる
mdpi
tvdpi
使わない
hdpi
xxhdpi から自動で作られる
xhdpi
xxhdpi から自動で作られる
xxhdpi
xxxhdpi
- mdpi
- xxhdpi
- xxxhdpi
のみ使用する
Vector Drawables
PNG や JPEGの代わりに vector 画像を使うようにする。
Reuse Existing Resources
可能であれば画像の再利用を行う、
例えば、下向きの矢印を上向き矢印に変更するなど。 他にもAndroid の機能を使って、以下のものを変更できる。
- color tint(色味)
- shapes(形)
Removing Unused Code
- ProGuard を使う
- ProGuard を使う時は、
minifyEnabled trueを使って ProGuard の仕事量を減らす。 - 必要なライブラリの軽いバージョンを見つける、どうしてもない場合は必要な箇所のソースだけ抜いてくる。
Apk Analyzer
Android Studio 2.2 から搭載された apk analyzer を使う。
Read other posts
日記
(11)
大晦日
(9)
読書メーター
(7)
impro
(6)
技術
(5)
Android
(2)
LMDE2
(2)
Linux
(2)
ORSC
(2)
RSGT
(2)
coaching
(2)
docker
(2)
写真
(2)
応用演劇
(2)
読書ノート
(2)
随想
(2)
Ansible
BLE
Bluetooth
Forum Theatre
GPU
INDIA
PostgreSQL
RSGT2016
Scrum Gathering
VISA
WFH
Windows 10
Windows 7
advent calendar
bash
blogger
book
coach
creative-process
docker registry
event
facilitation
feedback
git
goal
hello world
laos
laravel
linux mint
lmde2
microphone
phpunit
presentation
rsgt
rust
scrum
scrum fest osaka
serverside
speaker
sprint review
sqlite
sveltia-cms
trip
ubuntu16
vision
ゴール
デザイン思考
パターン・ランゲージ
ビジョン
ラオス
ラオ語
修理
創造プロセス
勉強会
演劇教育
課題解決