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
140
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
320
Fancy Rich Text Editing on Android - Invited Open Source Software Foundation Talk
wuman
1
720
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
140
Extracts from "Android Protips: Advanced Topics for Expert Android App Developers"
wuman
0
300
GTK+ Programming using Vala
wuman
0
280
Other Decks in Programming
See All in Programming
開発生産性を上げるための生成AI活用術
starfish719
1
170
Advance Your Career with Open Source
ivargrimstad
0
340
XP, Testing and ninja testing ZOZ5
m_seki
2
300
CSC509 Lecture 06
javiergs
PRO
0
240
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
780
Serena MCPのすすめ
wadakatu
4
900
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
530
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
390
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
170
プロダクト開発をAI 1stに変革する〜SaaS is dead時代で生き残るために〜 / AI 1st Product Development
kobakei
0
490
株式会社 Sun terras カンパニーデック
sunterras
0
230
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
490
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
697
190k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Code Reviewing Like a Champion
maltzj
525
40k
Rails Girls Zürich Keynote
gr2m
95
14k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Done Done
chrislema
185
16k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Making Projects Easy
brettharned
119
6.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Designing Experiences People Love
moore
142
24k
For a Future-Friendly Web
brad_frost
180
9.9k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
960
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/