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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
David Wu
July 06, 2011
Programming
0
160
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
250
My Trip to Google I/O 2013
wuman
1
100
A Deep Dive into Open Source Android Development
wuman
18
1.5k
Fancy Rich Text on Android - Using Roguso as an Example
wuman
2
330
Fancy Rich Text Editing on Android - Invited Open Source Software Foundation Talk
wuman
1
730
Improving Android Application Performance (Invited Talk at National Taiwan University)
wuman
5
170
Challenges of Building HTC Sense (O'Reilly Android Open Conference 2011)
wuman
0
160
Extracts from "Android Protips: Advanced Topics for Expert Android App Developers"
wuman
0
310
GTK+ Programming using Vala
wuman
0
290
Other Decks in Programming
See All in Programming
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
1.6k
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
110
AIに仕事を丸投げしたら、本当に楽になれるのか
dip_tech
PRO
0
180
AI活用のコスパを最大化する方法
ochtum
0
120
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
510
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
190
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
200
SourceGeneratorのマーカー属性問題について
htkym
0
130
Event Storming
hschwentner
3
1.3k
Agent Skills Workshop - AIへの頼み方を仕組み化する
gotalab555
14
7.8k
CSC307 Lecture 14
javiergs
PRO
0
450
Claude Codeセッション現状確認 2026福岡 / fukuoka-aicoding-00-beacon
monochromegane
4
380
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
The Curse of the Amulet
leimatthew05
1
9.5k
Mobile First: as difficult as doing things right
swwweet
225
10k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Fireside Chat
paigeccino
42
3.8k
Automating Front-end Workflow
addyosmani
1370
200k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
73
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
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/