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
メモリリークを気軽に確認するLeakCheckerの話
Search
yagi
April 09, 2014
Technology
640
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
メモリリークを気軽に確認するLeakCheckerの話
メモリリークのチェックって大変だなぁと思って
yagi
April 09, 2014
More Decks by yagi
See All by yagi
医療現場の解像度を上げるために 開発チームが行っている取り組み
sys1yagi
0
920
これどうやって動いてるんだ? Spring Framework/Bootのソースを読む
sys1yagi
1
1.4k
Kotlin コルーチンを 理解しよう 2019 - KotlinFest2019 -
sys1yagi
40
32k
5分でわかるKotlin Coroutines Flow
sys1yagi
21
19k
Androidと非同期処理 とCoroutine1.0.0
sys1yagi
12
14k
Kotlin コルーチンを 理解しよう
sys1yagi
41
26k
アーキテクチャと Scaffolding Template
sys1yagi
8
1.5k
Androidの非同期処理をKotlinコルーチンで行う
sys1yagi
3
24k
解剖Kotlin ~バイトコードを読み解く~
sys1yagi
18
11k
Other Decks in Technology
See All in Technology
Amazon Quick on DesktopがIAM Identity Centerで動かない理由
yukiogawa
0
110
GoCon2026 - Open Source, Open World
sanposhiho
2
560
AI-DLCって実際どう? 〜聞きたいこと全部聞いてみる〜
news_it_enj
0
240
Code4Lib JAPANカンファレンス2026 開会挨拶 / Code4Lib JAPAN Conference 2026: Opening Remarks
ykiyota
0
240
全員がプロダクトへ向き合う組織を持続成長させるために——組織づくりのフライホイールと4象限 / The Flywheel Model and Four Quadrants for Organizational Design
hiro_torii
4
920
The Agent Builder Loop from Daily Work to OSS
minorun365
PRO
3
100
PfEingのアプローチで働こう
rindrics
0
200
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
1
220
Snowflakeで実現する全社横断の顧客の声(VOC)分析・活用基盤@Snowflake World Tour Tokyo 2026
yuto16
0
120
ASTを使って影響範囲を特定する
nealle
0
110
GuardDuty 検知対応を DevOps Agent で効率化しようとしている話 / GuardDuty Investigations with DevOps Agent
masahirokawahara
1
340
AIに丸投げしないトイル削減 / Eliminating Toil Without Leaving It All to AI
kohbis
4
1k
Featured
See All Featured
Claude Code のすすめ
schroneko
67
230k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
310
[SF Ruby Conf 2025] Rails X
palkan
2
1.4k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
530
How STYLIGHT went responsive
nonsquared
100
6.3k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Faster Mobile Websites
deanohume
310
32k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
The agentic SEO stack - context over prompts
schlessera
0
910
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Paper Plane (Part 1)
katiecoart
PRO
1
11k
What's in a price? How to price your products and services
michaelherold
247
13k
Transcript
ϝϞϦϦʔΫΛؾܰʹ֬ ೝ͢Δ-FBL$IFDLFSͷ QPUBUPUJQT 5PTIJIJSP:BHJ
"CPVUNF 5XJUUFS!TZTZBHJ #MPHIUUQTZTZBHJDPN ! ! "OESPJE&OHJOFFSBU
ϝϞϦϦʔΫͷνΣο Ϋͬͯେมͩͳ͊
طଘπʔϧେม w 5SBDFWJFXͱ͔.FNPSZ"OBMZ[FSͳΜ͔ΊΜͲ ͍͘͞
ͬͱΧδϡΞϧʹ͍ͨ͠
ͬͱΧδϡΞϧʹ͠Α͏
-FBL$IFDLFS https://github.com/sys1yagi/leak-checker
.PEVMFT LeakCheker MemoryUsage ϦʔΫΛνΣοΫ͢Δਓ ΞϓϦͷϝϞϦ༻ঢ়گΛڭ͑ͯ͘ΕΔਓ W ILogger ϩάΛు͘ਓ
-FBL$IFDLFS LeakCheker MemoryUsage ILogger App add object start monitoring output
output
%&.0
4FUVQ apply plugin: 'android' ! repositories { mavenCentral() maven {
url 'https://raw.github.com/sys1yagi/leak-checker/master/repository' } } dependencies { compile 'com.sys1yagi:leak-checker:0.0.1' } 3FGFSFODF3FQPTJUPSZ %FQFOEFODJFT
.FNPSZ6TBHF @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); MemoryUsage.startPrintMemoryUsage(); }
! @Override public void onDestroy() { super.onDestroy(); MemoryUsage.stopPrintMemoryUsage(); } TUBSUTUPQ
-FBL$IFLFS LeakChecker.addLeakChecker(bitmap) LeakChecker.dump() SFHJTUFSPCKFDUT EVNQUIFPCKFDUPGPONFNPSZ
$VTUPN-PHHFS public class TextViewMonitorLogger implements ILogger { private TextView target;
! public TextViewMonitorLogger(TextView target) { this.target = target; } ! @Override public void print(String tag, String message) { target.setText(message); } } LeakChecker.setLogger(logger); MemoryUsage.setLogger(logger); JNQMFNFOU*-PHHFS VTFDVTUPNMPHHFS
·ͱΊ w .FNPSZ6TBHF w ΞϓϦͷϝϞϦ༻ঢ়گΛऔΕΔ w -FBL$IFDLFS w ΦϒδΣΫτΛࢹͰ͖Δ w
EVNQͯ͠ϦʔΫͯ͠Δ͔νΣοΫʂʂ w *-PHHFS w *-PHHFSΛ࣮͢ΕͲ͜ʹͰग़ͤΔ
͋Γ͕ͱ͏͍͟͝·ͨ͠
8FBSFIJSJOH IUUQTJOGPDPPLQBEDPNKPCTQPTJUJPOJPTBOESPJEBQQFOHJOFFS