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
Extracts from "Memory Management for Android Apps"
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
David Wu
July 06, 2011
Programming
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
280
My Trip to Google I/O 2013
wuman
1
150
A Deep Dive into Open Source Android Development
wuman
18
1.5k
Fancy Rich Text on Android - Using Roguso as an Example
wuman
2
390
Fancy Rich Text Editing on Android - Invited Open Source Software Foundation Talk
wuman
1
770
Improving Android Application Performance (Invited Talk at National Taiwan University)
wuman
5
220
Challenges of Building HTC Sense (O'Reilly Android Open Conference 2011)
wuman
0
200
Extracts from "Android Protips: Advanced Topics for Expert Android App Developers"
wuman
0
340
GTK+ Programming using Vala
wuman
0
340
Other Decks in Programming
See All in Programming
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.5k
Goコンパイラを作ってGoをもっと理解する / Build a Go compiler to better understand Go
ikura_hamu
0
120
Spec-driven Development with AI
simas
PRO
0
2.3k
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
410
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
360
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
290
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
1.8k
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.2k
作れるエンジニアから、価値を届けるエンジニアへ
ryunakayama
1
230
baseline으로 마이그레이션, 리팩토링 안전하게 맡기기
fornewid
1
910
Enforcing Your Architecture with Unit Tests in the AI Era (Swift Connection X)
steliosf
PRO
1
150
ChromeでローカルLLM
ryu1013
0
200
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.6k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
How Software Deployment tools have changed in the past 20 years
geshan
3
35k
Designing Powerful Visuals for Engaging Learning
tmiket
1
650
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Balancing Empowerment & Direction
lara
6
1.4k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
390
New Earth Scene 8
popppiees
4
2.8k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
560
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
670
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
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/