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
170
0
Share
Extracts from "Memory Management for Android Apps"
Extracts from "Memory Management for Android Apps"
David Wu
July 06, 2011
More Decks by David Wu
See All by David Wu
Development with Vert.x: an event-driven application framework for the JVM
wuman
1
260
My Trip to Google I/O 2013
wuman
1
110
A Deep Dive into Open Source Android Development
wuman
18
1.5k
Fancy Rich Text on Android - Using Roguso as an Example
wuman
2
340
Fancy Rich Text Editing on Android - Invited Open Source Software Foundation Talk
wuman
1
740
Improving Android Application Performance (Invited Talk at National Taiwan University)
wuman
5
180
Challenges of Building HTC Sense (O'Reilly Android Open Conference 2011)
wuman
0
170
Extracts from "Android Protips: Advanced Topics for Expert Android App Developers"
wuman
0
310
GTK+ Programming using Vala
wuman
0
300
Other Decks in Programming
See All in Programming
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
160
How Swift's Type System Guides AI Agents
koher
0
190
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
330
AIと共にエンジニアとPMの “二刀流”を実現する
naruogram
0
130
PHP で mp3 プレイヤーを実装しよう
m3m0r7
PRO
0
180
Swift Concurrency Type System
inamiy
0
390
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
320
ハンズオンで学ぶクラウドネイティブ
tatsukiminami
0
110
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
420
事業会社でのセキュリティ長期インターンについて
masachikaura
0
230
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
2
260
ふりがな Deep Dive try! Swift Tokyo 2026
watura
0
140
Featured
See All Featured
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
140
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Building the Perfect Custom Keyboard
takai
2
720
Between Models and Reality
mayunak
3
260
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
So, you think you're a good person
axbom
PRO
2
2k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
510
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
110
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
160
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
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/