┬───
│ GC Root: Global variable in native code
│
├─ dalvik.system.PathClassLoader instance
│ Leaking: NO (ToastUtils↓ is not leaking and A ClassLoader is never leaking)
│ ↓ ClassLoader.runtimeInternalObjects
├─ java.lang.Object[] array
│ Leaking: NO (ToastUtils↓ is not leaking)
│ ↓ Object[].[3969]
├─ com.hjq.toast.ToastUtils class
│ Leaking: NO (a class is never leaking)
│ ↓ static ToastUtils.sToast
│ ~~
├─ com.hjq.toast.NormalToast instance
│ Leaking: YES (This toast is done showing (Toast.mTN.mWM != null && Toast.mTN.mView == null))
│ Retaining 5.0 kB in 45 objects
│ mContext instance of com.jingcai.apps.qualitydev.base.App
│ ↓ NormalToast.mMessageView
╰→ android.widget.TextView instance
Leaking: YES (ObjectWatcher was watching this because android.widget.TextView received
View#onDetachedFromWindow() callback)
┬─── │ GC Root: Global variable in native code │ ├─ dalvik.system.PathClassLoader instance │ Leaking: NO (ToastUtils↓ is not leaking and A ClassLoader is never leaking) │ ↓ ClassLoader.runtimeInternalObjects ├─ java.lang.Object[] array │ Leaking: NO (ToastUtils↓ is not leaking) │ ↓ Object[].[3969] ├─ com.hjq.toast.ToastUtils class │ Leaking: NO (a class is never leaking) │ ↓ static ToastUtils.sToast │
~~ ├─ com.hjq.toast.NormalToast instance │ Leaking: YES (This toast is done showing (Toast.mTN.mWM != null && Toast.mTN.mView == null)) │ Retaining 5.0 kB in 45 objects │ mContext instance of com.jingcai.apps.qualitydev.base.App │ ↓ NormalToast.mMessageView ╰→ android.widget.TextView instance Leaking: YES (ObjectWatcher was watching this because android.widget.TextView received View#onDetachedFromWindow() callback)