Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
A journey to smaller apk size
Search
Dmytro Khmelenko
March 07, 2018
Technology
70
0
Share
A journey to smaller apk size
Dmytro Khmelenko
March 07, 2018
More Decks by Dmytro Khmelenko
See All by Dmytro Khmelenko
Securing Python Web Applications
dkhmelenko
0
37
Best of login experience
dkhmelenko
0
120
Best of sign in experience @ Droidcon Lisbon
dkhmelenko
0
120
Red or Green? Let us test
dkhmelenko
0
47
A journey to smaller APK size
dkhmelenko
1
120
How Git helps us with localization
dkhmelenko
0
110
Dagger.Android module
dkhmelenko
0
74
MVVM vs. MVP
dkhmelenko
0
57
Unit testing
dkhmelenko
0
50
Other Decks in Technology
See All in Technology
ESP32 IoTを動かしながらメモリ使用量を観測してみた話
zozotech
PRO
0
120
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.4k
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8k
AWS WAFの運用を地道に改善し、自社で運用可能にするプラクティス
andpad
1
170
Claude Code / Codex / Kiro に AWS 権限を 渡すとき、何を設計すべきか
k_adachi_01
5
1.4k
データモデリング通り #5オンライン勉強会: AIに『ビジネスの文脈』を教え込むデータモデリング
datayokocho
0
270
20260513_生成AIを専属DSに_AI分析結果の検品テクニック_ハンズオン_交通事故データ
doradora09
PRO
0
220
AWSアップデートから考える継続的な運用改善
toru_kubota
2
120
20260515 ログイン機能だけではないアカウント管理を全体で考える~サービス設計者向け~
oidfj
0
440
Purview 勉強会報告 Microsoft Purview 入門しようとしてみた
masakichixo
1
400
CyberAgent YJC Connect
shimaf4979
1
180
拝啓、あの夏の僕へ〜あなたも知っているApp Runnerの世界〜
news_it_enj
0
240
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
Building an army of robots
kneath
306
46k
Ethics towards AI in product and experience design
skipperchong
2
270
Evolving SEO for Evolving Search Engines
ryanjones
0
190
Accessibility Awareness
sabderemane
1
110
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.8k
Mobile First: as difficult as doing things right
swwweet
225
10k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
520
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
290
Transcript
A JOURNEY TO SMALLER APK SIZE Dmytro Khmelenko Software Engineer
7 March 2018
ONCE UPON A TIME… Release APK size is 63 MB
2
ONCE UPON A TIME… Release APK size is 63 MB
3
4 ANALYZE APK
ANALYZE APK 5
RESOURCES OPTIMIZATION 6 ✅ Shrink video files (- 10 MB)
7 Overall bit rate : 3 235 kb/s Bits/(Pixel*Frame) :
0.549 Stream size : 4.77 MiB (94%) File size : 5.3 MB Overall bit rate : 735 kb/s Bits/(Pixel*Frame) : 0.108 Stream size : 963 KiB (81%) File size: : 1.2 MB
RESOURCES OPTIMIZATION 8 ✅ Shrink video files (- 10 MB)
✅ Shrink audio files (- 4 MB)
AUDIO FILES 9 Before: Bit rate : 256 kb/s Channel(s)
: 2 channels Sampling rate : 44.1 kHz File size : 56.4 KB After: Bit rate : 32.0 kb/s Channel(s) : 1 channel Sampling rate : 16.0 kHz File size : 13.7 KB
RESOURCES OPTIMIZATION ✅ Shrink video files (- 10 MB) ✅
Shrink audio files (- 4 MB) ✅ Shrink and optimize drawables (- 25 MB) 10
11 525 KB, .png 75 KB, .jpg
DRAWABLES OPTIMIZATION ✅ Remove unused drawables (Lint, ProGuard) ✅ Support
only hdpi, xhdpi and xxhdpi ✅ Use .jpeg, when possible ✅ Use .webp instead of .png 12
DRAWABLES SIZE hdpi ~ 50 KB xhdpi ~ 100 KB
xxhdpi ~ 150 KB 13
TIME TO REVIEW 14
TIME TO REVIEW 15
LEARNINGS Pay attention to resources Collaborate with designers 16
MEANWHILE 17
WE NEED TO STOP IT 18
IT WORKS 19
FURTHER STEPS • Multiple APK split by screen density •
Multiple APK split by CPU architecture • Automatically check size for every new file 20
RESOURCES • https://developer.android.com/topic/performance/reduce-apk-size.html • https://developer.android.com/google/play/publishing/multiple-apks.html • https://gist.github.com/dkhmelenko/d74dbc6c9907c7a581bde0e1bee5c74b 21
QUESTIONS? @dkhmelenko