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
99
A Deep Dive into Open Source Android Development
wuman
18
1.4k
Fancy Rich Text on Android - Using Roguso as an Example
wuman
2
310
Fancy Rich Text Editing on Android - Invited Open Source Software Foundation Talk
wuman
1
710
Improving Android Application Performance (Invited Talk at National Taiwan University)
wuman
5
160
Challenges of Building HTC Sense (O'Reilly Android Open Conference 2011)
wuman
0
130
Extracts from "Android Protips: Advanced Topics for Expert Android App Developers"
wuman
0
290
GTK+ Programming using Vala
wuman
0
250
Other Decks in Programming
See All in Programming
eBPF超入門「o11yに使える」とは (20250424_eBPF_o11y)
thousanda
1
110
Empowering Developers with HTML-Aware ERB Tooling @ RubyKaigi 2025, Matsuyama, Ehime
marcoroth
2
940
The Evolution of the CRuby Build System
kateinoigakukun
1
760
Contribute to Comunities | React Tokyo Meetup #4 LT
sasagar
0
590
Bedrock×MCPで社内ブログ執筆文化を育てたい!
har1101
7
1.4k
オープンソースコントリビュート入門
_katsuma
0
120
By the way Google Cloud Next 2025に行ってみてどうだった
ymd65536
0
110
Optimizing JRuby 10
headius
0
540
AI時代の開発者評価について
ayumuu
0
230
ComposeでのPicture in Picture
takathemax
0
130
SwiftDataのカスタムデータストアを試してみた
1mash0
0
140
RubyKaigi Dev Meeting 2025
tenderlove
1
1.2k
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
52
7.5k
Documentation Writing (for coders)
carmenintech
69
4.7k
Typedesign – Prime Four
hannesfritz
41
2.6k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Designing for humans not robots
tammielis
253
25k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
770
Building an army of robots
kneath
305
45k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Statistics for Hackers
jakevdp
798
220k
Building Applications with DynamoDB
mza
94
6.4k
Build your cross-platform service in a week with App Engine
jlugia
230
18k
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 david@wu-man.com 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/