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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Dmytro Khmelenko
March 07, 2018
Technology
76
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
A journey to smaller apk size
Dmytro Khmelenko
March 07, 2018
More Decks by Dmytro Khmelenko
See All by Dmytro Khmelenko
Securing High-Risk Django Applications: Lessons from the Payment Domain
dkhmelenko
0
45
Securing Python Web Applications
dkhmelenko
0
41
Best of login experience
dkhmelenko
0
120
Best of sign in experience @ Droidcon Lisbon
dkhmelenko
0
130
Red or Green? Let us test
dkhmelenko
0
51
A journey to smaller APK size
dkhmelenko
1
130
How Git helps us with localization
dkhmelenko
0
110
Dagger.Android module
dkhmelenko
0
78
MVVM vs. MVP
dkhmelenko
0
60
Other Decks in Technology
See All in Technology
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
290
Genie Codeハンズオン基礎編
taka_aki
1
130
【GCC2026】大規模言語モデルを活用した内製検索サービスの社内展開や業務活用
bandainamcostudios
PRO
0
270
私がブラウザを自作したくなった理由
supurazako
1
270
ボトムアップ文化が強い組織で セキュリティをどう根付かせていくかの現在進行形の話 / Making Security Stick in a Bottom-Up Organization
yamaguchitk333
0
240
SmartHR Engineering Team Deck
smarthr
1
2.8k
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
1k
ホームラボ紹介
y_sera15
0
210
LanceDB入門
mocobeta
9
600
コーチングの奥義 何もしないテクニック
jinwatanabe
0
110
案件に一番詳しいAIを Amazon Bedrock AgentCore で作る ― 知見が知見を生むチームへ / Compounding Knowledge with AgentCore
yusukeshimizu
1
150
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
9.2k
Featured
See All Featured
Practical Orchestrator
shlominoach
191
12k
Skip the Path - Find Your Career Trail
mkilby
1
190
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Fireside Chat
paigeccino
42
4k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
500
Test your architecture with Archunit
thirion
1
2.3k
How to Talk to Developers About Accessibility
jct
2
520
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Color Theory Basics | Prateek | Gurzu
gurzu
0
430
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
250
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