leakcanary
leakcanary copied to clipboard
Plumber: flushing handler threads doesn't seem to work on Android 8
Example trace:
┬───
│ GC Root: Java local variable
│
├─ android.os.HandlerThread thread
│ Leaking: UNKNOWN
│ Retaining 3.8 MB in 42126 objects
│ Thread name: 'Sq-LCR'
│ ↓ HandlerThread.<Java Local>
│ ~~~~~~~~~~~~
├─ android.os.Message instance
│ Leaking: UNKNOWN
│ Retaining 3.8 MB in 42115 objects
│ Library leak match: instance field android.os.Message#obj
│ Message.what = 67
│ Message.when = 0 (1681316 ms before heap dump)
│ Message.obj = instance @362438672 of com.squareup.container.inversion.DialogCoverViewKt$coverView$1
│ Message.callback = null
│ ↓ Message.obj
│ ~~~
├─ com.squareup.container.inversion.DialogCoverViewKt$coverView$1 instance
│ Leaking: UNKNOWN
│ Retaining 3.8 MB in 42112 objects
│ Anonymous class implementing android.content.DialogInterface$OnDismissListener
│ ↓ DialogCoverViewKt$coverView$1.$view
│ ~~~~~
├─ com.squareup.container.inversion.PosSheetContainer instance
│ Leaking: YES (View.mContext references a destroyed activity)