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
日記
(84)
読書メーター
(36)
worklog
(34)
google
(13)
大晦日
(13)
android
(11)
blogger
(9)
dynamicsax2009
(8)
mac
(8)
signature
(6)
baby
(5)
flash
(5)
impro
(5)
写真
(5)
技術
(5)
javascript
(4)
一眼レフ
(4)
4.2
(3)
biztalk2009
(3)
eclipse
(3)
jb
(3)
jb_mr1
(3)
lmde2
(3)
oracle
(3)
rsgt
(3)
web
(3)
windows
(3)
4.1
(2)
4.3
(2)
ant
(2)
coaching
(2)
docker
(2)
essay
(2)
factoryreset
(2)
game
(2)
ics
(2)
java
(2)
jb_mr2
(2)
linux
(2)
orsc
(2)
vb.net
(2)
vbscript
(2)
wtcc
(2)
スーパー耐久
(2)
勉強会
(2)
応用演劇
(2)
読書ノート
(2)
資格
(2)
随想
(2)
4.4
a77
advent-calendar
amazon
ansible
azure
bash
ble
bluetooth
book
c++
camera
coach
cp+
creative-process
docker-registry
event
facilitation
feedback
firefox
flickr
forum-theatre
galaxy
gingerbread
git
gpu
hello-world
india
kitkat
laos
laravel
linux-mint
microphone
misstake
opengrok
pdm
phpunit
postgresql
presentation
rsgt2016
rust
scrum
scrum-fest-osaka
scrum-gathering
security
serverside
smartphone
speaker
sprint-review
sqlite
ssh
tomcat
tool
trip
ts
twitter
ubuntu
ubuntu16
vb6
visa
weblogic
wfh
wikka
windows-10
windows-7
windows2008server
x++
デザイン思考
パターンランゲージ
ラオス
ラオ語
修理
演劇教育