Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Image optimization for decreasing app size
Search
Aydar
September 07, 2017
Programming
83
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Image optimization for decreasing app size
Presentation for The Munich iOS Developer Meetup lightning talk hosted at Freeletics
Aydar
September 07, 2017
More Decks by Aydar
See All by Aydar
The Realities of A/B Testing
aydarin
0
120
Development on Kotlin/Native and Swift
aydarin
1
140
AppCode under the hood
aydarin
1
370
Bridging the gap between Kotlin and Swift
aydarin
0
150
A look into AB testing
aydarin
0
100
Exploring MVVM-C
aydarin
0
190
Coordinate your app
aydarin
1
120
Localization.pdf
aydarin
0
69
MVVM vs MVP
aydarin
1
320
Other Decks in Programming
See All in Programming
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
350
Workers Cache を知る
syumai
0
370
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
170
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
430
最近”作らせてる” ローカルAIアプリの話
akit37
0
470
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
130
Jetpack Compose Mechanisms
skydoves
3
820
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
260
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.5k
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
How to train your dragon (web standard)
notwaldorf
96
6.9k
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
How to Talk to Developers About Accessibility
jct
2
580
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
RailsConf 2023
tenderlove
30
1.6k
Designing for humans not robots
tammielis
254
26k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Transcript
IMAGE OPTIMIZATION FOR DECREASING APP SIZE Aydar Mukhametzyanov (Freeletics)
LET ME TELL THE STORY…
0 27.5 55 82.5 110 Before After THE STORY MB
THE STORY
THE STORY
THE STORY
OPTIMIZATION
OPTIMIZATION by Xcode
OPTIMIZATION Asset size 12.9 MB 197.3 MB 196.3 MB -1
MB by Xcode Bundle size
ImageOptim https://imageoptim.com OPTIMIZATION
Original PNG 1.8 MB Optimized PNG 1.2 MB OPTIMIZATION –
33%
OPTIMIZATION
Original PNG 1.8 MB Lossy optimized PNG 498 KB OPTIMIZATION
– 72%
OPTIMIZATION
Original JPG 1.4 MB Lossy optimized JPG 79 KB OPTIMIZATION
– 94%
OPTIMIZATION /Applications/ImageOptim.app/Contents/MacOS/ImageOptim *.png
PNG to JPG ? CONVERTING
CONVERTING
CONVERTING sips -s format jpeg -s formatOptions 100 “image.png" --out
"image.jpg" SIPS
{ "images" : [ { "idiom" : "universal", "filename" :
"welcome-photo-man.jpg", "scale" : "1x" }, … Content.json CONVERTING
PULL_REQUEST_TEMPLATE.md PROCESSES
0 27.5 55 82.5 110 Before After CONCLUSION MB
CONCLUSION
ImageOptim PULL_REQUEST_TEMPLATE.md CONCLUSION SIPS CONVERTING OPTIMIZATION PROCESSES Xcode +
aydarin
[email protected]
@aydarmukh QUESTIONS THANK YOU