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
98
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
220
Other Decks in Programming
See All in Programming
Learning Kotlin with detekt
inouehi
1
210
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
1
660
iOSでQRコード生成奮闘記
ktcryomm
2
140
オレを救った Cline を紹介する
codehex
15
14k
Jakarta EE meets AI
ivargrimstad
0
720
Kotlinの開発でも AIをいい感じに使いたい / Making the Most of AI in Kotlin Development
kohii00
5
2k
LINE messaging APIを使ってGoogleカレンダーと連携した予約ツールを作ってみた
takumakoike
0
140
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
210
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
1
250
クックパッド検索システム統合/Cookpad Search System Consolidation
giga811
0
170
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
160
若手バックエンドエンジニアが Elasticsearch を使ってみた話
hott0mott0
1
100
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
44
14k
For a Future-Friendly Web
brad_frost
176
9.6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
11
550
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
The Language of Interfaces
destraynor
156
24k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
Navigating Team Friction
lara
183
15k
Gamification - CAS2011
davidbonilla
80
5.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Music & Morning Musume
bryan
46
6.4k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Done Done
chrislema
182
16k
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/