Slide 1

Slide 1 text

Faucet ~Fight against memory leak~ potatotips #7 2014/05/15 in DeNA https://www.flickr.com/photos/aisforangie/151880317/

Slide 2

Slide 2 text

ABOUT ME Twitter : @sys1yagi Blog : http://sys1yagi.com ! Android Engineer at Cookpad https://www.flickr.com/photos/eilonwy77/9235707878/

Slide 3

Slide 3 text

Previous Potatotips #6 Casual checking of the memory leak.

Slide 4

Slide 4 text

INSUFFICIENT https://www.flickr.com/photos/nostaw21/3335955287/

Slide 5

Slide 5 text

MORE CASUAL https://www.flickr.com/photos/centralasian/5565136539/

Slide 6

Slide 6 text

https://www.flickr.com/photos/dhendrix/6644037141/

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

Faucet is … https://www.flickr.com/photos/vinothchandar/4415664247/ ✤ Auto track to fields by AOP. ✤ Dump automatically when onDestroy() is called. ✤ Ignore primitive types and static fields.

Slide 9

Slide 9 text

DEMO

Slide 10

Slide 10 text

Mechanism https://www.flickr.com/photos/telemax/3209887483/

Slide 11

Slide 11 text

Compile Faucet Classes Inject Dex

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

Usage https://www.flickr.com/photos/isherwoodchris/4238118748/

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

Milestone

Slide 16

Slide 16 text

v0.0.1 • Auto object tracking. • dump automatically when onDestroy() is called. • Ignore primitive types • Ignore static fields • Support Ignore Annotation(WIP) https://www.flickr.com/photos/tambako/6124292403

Slide 17

Slide 17 text

v0.0.2 • More intelligent leak check. • Report dialog. https://www.flickr.com/photos/strollers/164785542/

Slide 18

Slide 18 text

v0.0.3 • Send report to server. • Tracking and detection on the server side. https://www.flickr.com/photos/tambako/4006576672/

Slide 19

Slide 19 text

https://github.com/sys1yagi/faucet Be Together! https://www.flickr.com/photos/katharina_90/4095571066/