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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
900
これどうやって動いてるんだ? 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
関数型の考えを TypeScript に持ち込んで、テストしやすい純粋関数を増やす / Pure at the Core, Effects at the Edge: Bringing Functional Thinking into TypeScript
kaminashi
2
130
発表と総括 / Presentations and Summary
ks91
PRO
0
130
なぜ私たちのSREプラクティスはなかなか機能しないのか 〜システムより先に組織を見る〜 / Why our SRE practices aren't really working
vtryo
4
3.9k
Foxgloveについて 実際にExtensionを開発して公開するまでの話 / About Foxglove: The Story of Developing and Releasing an Extension
ry0_ka
0
290
シンガポールで登壇してきます
yama3133
0
230
事業価値を⽣み出すSREへ SREが担うべき意思決定の5層
kenta_hi
2
3.8k
AIレビューはどこまで任せられるのか?自動化と人が背負うレビューの境界
sansantech
PRO
3
1k
あなたの『Site』はどこですか? — xREという考え方
miyamu
0
1.2k
ソニー銀行におけるビジネスアジリティ向上のためのクラウドシフト戦略
srenext
0
550
SoccerMaster: A Vision Foundation Model for Soccer Understanding
kzykmyzw
0
120
実践!既存 Project への AI-Driven Development 適用〜 一ヶ月で Project 唯一のフロントエンドエンジニアを作り出せ〜
lycorptech_jp
PRO
0
130
SREとQA 二人三脚で進めるSLO運用/sre-qa-slo
sugitak
0
760
Featured
See All Featured
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
240
Are puppies a ranking factor?
jonoalderson
1
3.7k
Building AI with AI
inesmontani
PRO
1
1.1k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
470
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Test your architecture with Archunit
thirion
1
2.3k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
590
Product Roadmaps are Hard
iamctodd
55
12k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
180
Between Models and Reality
mayunak
4
370
Scaling GitHub
holman
464
140k
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