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
Extracts from "Memory Management for Android Apps"
Search
David Wu
July 06, 2011
Programming
0
130
Extracts from "Memory Management for Android Apps"
Extracts from "Memory Management for Android Apps"
David Wu
July 06, 2011
Tweet
Share
More Decks by David Wu
See All by David Wu
Development with Vert.x: an event-driven application framework for the JVM
wuman
1
230
My Trip to Google I/O 2013
wuman
1
96
A Deep Dive into Open Source Android Development
wuman
18
1.3k
Fancy Rich Text on Android - Using Roguso as an Example
wuman
2
300
Fancy Rich Text Editing on Android - Invited Open Source Software Foundation Talk
wuman
1
680
Improving Android Application Performance (Invited Talk at National Taiwan University)
wuman
5
150
Challenges of Building HTC Sense (O'Reilly Android Open Conference 2011)
wuman
0
110
Extracts from "Android Protips: Advanced Topics for Expert Android App Developers"
wuman
0
280
GTK+ Programming using Vala
wuman
0
170
Other Decks in Programming
See All in Programming
Random\Randomizer クラスで日常のあれこれを解決しよう! / Random\Randomizer class solves familiar trouble
cocoeyes02
0
260
Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
unvalley
5
1.1k
Milestoner
bkuhlmann
1
410
Next.js App Router
quramy
3
260
GitHub Copilotのススメ
marcy731
1
210
Introducing Kotlin Multiplatform in an existing mobile app - Workshop Edition | AndroidMakers Paris
prof18
0
130
Sheets API使ってみた
toshi0383
2
140
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
890
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
510
Code Reviews
bkuhlmann
4
890
『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
free_world21
1
290
Ruby Pattern Matching
bkuhlmann
0
930
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
Done Done
chrislema
178
15k
What the flash - Photography Introduction
edds
64
11k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
Unsuck your backbone
ammeep
663
57k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
79
43k
Clear Off the Table
cherdarchuk
85
310k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Designing with Data
zakiwarfel
96
4.8k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Code Reviewing Like a Champion
maltzj
515
39k
Transcript
Extracts from "Memory Management for Android Apps" Taipei GTUG 20110706
Meetup (http://goo.gl/VdfLK) Original Presenter Patrick Dubroy @dubroy Extract Presenter David Wu @wuman blog.wu-man.com
2 @wuman David Wu
[email protected]
blog.wu-man.com
#tossug, #h4 HTC
3 In 10 Minutes...
4 Purpose Avoid OOM errors
5 Breakdown API Changes Heap size Garbage collection
Bitmap allocations Understanding heap usage Memory leaks Logcat Memory Analyzer (MAT)
6 Heap Size Heap size limits G1: 16MB
Droid: 24MB Nexus One: 32MB Xoom: 48MB ActivityManager.getMemoryClass()
7 Large Heaps <application android:name=”com.example.foobar” andorid:largeHeap=”true” … </application>
8 Garbage Collection
9 Garbage Collection
10 Garbage Collection
11 Garbage Collection
12 Garbage Collection < Gingerbread Stop-the-world Full
heap collection Pause times often > 100ms >= Gingerbread Concurrent (mostly) Partial collections Pause times usually < 5ms
13 Bitmaps (Old)
14 Bitmaps (New)
15 Memory Leaks
16 Logcat
17 Logcat
18 Logcat
19 Logcat
20 Logcat
21 Logcat
22 Heap Dumps Create with DDMS andorid.os.Debug.dumpHprofData()
Conversion hprof-conv orig.hprof converted.hprof Analyze with MAT
23 Shallow and Retained Heap
24 Dominator Tree
25 Demo Debugging a memory leak with MAT
26 Demo
27 References Video of the session http://goo.gl/KRrx7 Original
slides http://goo.gl/0RqIZ Patrick Dubroy's blog http://dubroy.com/blog/