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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
David Wu
July 06, 2011
Programming
170
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
270
My Trip to Google I/O 2013
wuman
1
140
A Deep Dive into Open Source Android Development
wuman
18
1.5k
Fancy Rich Text on Android - Using Roguso as an Example
wuman
2
360
Fancy Rich Text Editing on Android - Invited Open Source Software Foundation Talk
wuman
1
750
Improving Android Application Performance (Invited Talk at National Taiwan University)
wuman
5
200
Challenges of Building HTC Sense (O'Reilly Android Open Conference 2011)
wuman
0
180
Extracts from "Android Protips: Advanced Topics for Expert Android App Developers"
wuman
0
320
GTK+ Programming using Vala
wuman
0
320
Other Decks in Programming
See All in Programming
yield再入門 #phpcon
o0h
PRO
0
860
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
200
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.7k
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
570
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
140
AIエージェントで 変わるAndroid開発環境
takahirom
2
760
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
220
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
0
1k
今さら聞けない .NET CLI
htkym
0
170
メールのエイリアス機能を履き違えない
isshinfunada
0
200
数百円から始めるRuby電子工作
tarosay
0
120
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.5k
Featured
See All Featured
How to Talk to Developers About Accessibility
jct
2
460
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
370
Are puppies a ranking factor?
jonoalderson
1
3.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Documentation Writing (for coders)
carmenintech
77
5.4k
The browser strikes back
jonoalderson
0
1.4k
We Are The Robots
honzajavorek
0
290
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
The untapped power of vector embeddings
frankvandijk
2
1.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
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/