square / leakcanary

A memory leak detection library for Android.
https://square.github.io/leakcanary
Apache License 2.0
29.45k stars 3.97k forks source link

Autofill leaks aren't ignored on Android O dev preview 2 #776

Closed SUPERCILEX closed 7 years ago

SUPERCILEX commented 7 years ago

I'm constantly getting autofill leaks and it would be nice if LeakCanary auto excluded them.

Here's a sample leak:

In com.supercilex.robotscouter.debug:1.1.2-DEBUG:1.
* com.supercilex.robotscouter.ui.scout.ScoutActivity has leaked:
* GC ROOT android.app.assist.AssistStructure$SendChannel.mAssistStructure
* references android.app.assist.AssistStructure.mWindowNodes
* references java.util.ArrayList.elementData
* references array java.lang.Object[].[0]
* references android.app.assist.AssistStructure$WindowNode.mRoot
* references android.app.assist.AssistStructure$ViewNode.mChildren
* references array android.app.assist.AssistStructure$ViewNode[].[0]
* references android.app.assist.AssistStructure$ViewNode.mChildren
* references array android.app.assist.AssistStructure$ViewNode[].[1]
* references android.app.assist.AssistStructure$ViewNode.mChildren
* references array android.app.assist.AssistStructure$ViewNode[].[0]
* references android.app.assist.AssistStructure$ViewNode.mChildren
* references array android.app.assist.AssistStructure$ViewNode[].[1]
* references android.app.assist.AssistStructure$ViewNode.mChildren
* references array android.app.assist.AssistStructure$ViewNode[].[0]
* references android.app.assist.AssistStructure$ViewNode.mChildren
* references array android.app.assist.AssistStructure$ViewNode[].[12]
* references android.app.assist.AssistStructure$ViewNode.mText
* references android.app.assist.AssistStructure$ViewNodeText.mText
* references android.text.SpannableString.mSpans
* references array java.lang.Object[].[0]
* references android.widget.TextView$ChangeWatcher.this$0
* references android.support.v7.widget.AppCompatTextView.mContext
* leaks com.supercilex.robotscouter.ui.scout.ScoutActivity instance

* Retaining: 2.2 kB.
* Reference Key: dba85c80-2b4e-45fb-ab40-d5e8fdb573a0
* Device: Google google Pixel XL marlin
* Android Version: O API: 25 LeakCanary: 1.5.1 1be44b3
* Durations: watch=5031ms, gc=155ms, heap dump=1433ms, analysis=131962ms

* Details:
* Instance of android.app.assist.AssistStructure$SendChannel
|   static $classOverhead = byte[224]@319029505 (0x13040101)
|   mAssistStructure = android.app.assist.AssistStructure@319035824 (0x130419b0)
|   mDescriptor = null
|   mObject = 493717497232
|   mOwner = null
|   shadow$_klass_ = android.app.assist.AssistStructure$SendChannel
|   shadow$_monitor_ = 0
* Instance of android.app.assist.AssistStructure
|   static DESCRIPTOR = java.lang.String@1885650824 (0x7064bf88)
|   static VALIDATE_WINDOW_TOKEN = 286331153
|   static $classOverhead = byte[267]@318550153 (0x12fcb089)
|   static DEBUG_PARCEL_TREE = false
|   static CREATOR = android.app.assist.AssistStructure$1@323145616 (0x1342cf90)
|   static TAG = java.lang.String@1885458200 (0x7061cf18)
|   static TRANSACTION_XFER = 2
|   static VALIDATE_VIEW_TOKEN = 572662306
|   static DEBUG_PARCEL = false
|   static DEBUG_PARCEL_CHILDREN = false
|   mAcquisitionEndTime = 231084
|   mAcquisitionStartTime = 231068
|   mActivityComponent = android.content.ComponentName@319035880 (0x130419e8)
|   mHaveData = true
|   mIsHomeActivity = false
|   mPendingAsyncChildren = java.util.ArrayList@319035896 (0x130419f8)
|   mReceiveChannel = null
|   mSanitizeOnWrite = false
|   mSendChannel = android.app.assist.AssistStructure$SendChannel@319035328 (0x130417c0)
|   mTmpRect = android.graphics.Rect@319035920 (0x13041a10)
|   mWindowNodes = java.util.ArrayList@319035944 (0x13041a28)
|   shadow$_klass_ = android.app.assist.AssistStructure
|   shadow$_monitor_ = 0
* Instance of java.util.ArrayList
|   static EMPTY_ELEMENTDATA = java.lang.Object[0]@1882105456 (0x702ea670)
|   static $classOverhead = byte[392]@1879659409 (0x70095391)
|   static DEFAULT_CAPACITY = 10
|   static MAX_ARRAY_SIZE = 2147483639
|   static DEFAULTCAPACITY_EMPTY_ELEMENTDATA = java.lang.Object[0]@1884241000 (0x704f3c68)
|   static serialVersionUID = 8683452581122892189
|   elementData = java.lang.Object[10]@319035968 (0x13041a40)
|   size = 1
|   modCount = 1
|   shadow$_klass_ = java.util.ArrayList
|   shadow$_monitor_ = 0
* Array of java.lang.Object[]
|   [0] = android.app.assist.AssistStructure$WindowNode@319036024 (0x13041a78)
|   [1] = null
|   [2] = null
|   [3] = null
|   [4] = null
|   [5] = null
|   [6] = null
|   [7] = null
|   [8] = null
|   [9] = null
* Instance of android.app.assist.AssistStructure$WindowNode
|   static $classOverhead = byte[168]@318549865 (0x12fcaf69)
|   mDisplayId = 0
|   mHeight = 2560
|   mRoot = android.app.assist.AssistStructure$ViewNode@319036064 (0x13041aa0)
|   mTitle = java.lang.String@319036192 (0x13041b20)
|   mWidth = 1440
|   mX = 0
|   mY = 0
|   shadow$_klass_ = android.app.assist.AssistStructure$WindowNode
|   shadow$_monitor_ = 0
* Instance of android.app.assist.AssistStructure$ViewNode
|   static FLAGS_HAS_MATRIX = 1073741824
|   static FLAGS_CHECKABLE = 256
|   static FLAGS_FOCUSABLE = 16
|   static FLAGS_HAS_ELEVATION = 268435456
|   static FLAGS_HAS_LOCALE_LIST = 65536
|   static FLAGS_HAS_ID = 2097152
|   static FLAGS_ACCESSIBILITY_FOCUSED = 4096
|   static FLAGS_HAS_EXTRAS = 4194304
|   static FLAGS_VISIBILITY_MASK = 12
|   static FLAGS_HAS_COMPLEX_TEXT = 8388608
|   static FLAGS_HAS_URL = 524288
|   static FLAGS_HAS_LARGE_COORDS = 67108864
|   static FLAGS_LONG_CLICKABLE = 2048
|   static TEXT_STYLE_UNDERLINE = 4
|   static FLAGS_CLICKABLE = 1024
|   static FLAGS_HAS_SCROLL = 134217728
|   static FLAGS_DISABLED = 1
|   static FLAGS_ACTIVATED = 8192
|   static FLAGS_SELECTED = 64
|   static TEXT_STYLE_STRIKE_THRU = 8
|   static FLAGS_CONTEXT_CLICKABLE = 16384
|   static FLAGS_HAS_AUTOFILL_DATA = -2147483648
|   static FLAGS_FOCUSED = 32
|   static FLAGS_CHECKED = 512
|   static TEXT_STYLE_ITALIC = 2
|   static FLAGS_ASSIST_BLOCKED = 128
|   static FLAGS_OPAQUE = 32768
|   static TEXT_STYLE_BOLD = 1
|   static FLAGS_HAS_INPUT_TYPE = 262144
|   static TEXT_COLOR_UNDEFINED = 1
|   static $classOverhead = byte[692]@318549049 (0x12fcac39)
|   static FLAGS_ALL_CONTROL = -1048576
|   static FLAGS_HAS_TEXT = 16777216
|   static FLAGS_HAS_ALPHA = 536870912
|   static FLAGS_HAS_CONTENT_DESCRIPTION = 33554432
|   static FLAGS_HAS_CHILDREN = 1048576
|   mAlpha = 1.0
|   mAutofillHints = null
|   mAutofillId = android.view.autofill.AutofillId@319036296 (0x13041b88)
|   mAutofillOptions = null
|   mAutofillOverlay = null
|   mAutofillType = 0
|   mAutofillValue = null
|   mChildren = android.app.assist.AssistStructure$ViewNode[1]@319036320 (0x13041ba0)
|   mClassName = java.lang.String@1886352184 (0x706f7338)
|   mContentDescription = null
|   mElevation = 0.0
|   mExtras = null
|   mFlags = 32768
|   mHeight = 2560
|   mHtmlInfo = null
|   mId = -1
|   mIdEntry = null
|   mIdPackage = null
|   mIdType = null
|   mInputType = 0
|   mLocaleList = null
|   mMatrix = null
|   mSanitized = false
|   mScrollX = 0
|   mScrollY = 0
|   mText = null
|   mUrl = null
|   mWidth = 1440
|   mX = 0
|   mY = 0
|   shadow$_klass_ = android.app.assist.AssistStructure$ViewNode
|   shadow$_monitor_ = 0
* Array of android.app.assist.AssistStructure$ViewNode[]
|   [0] = android.app.assist.AssistStructure$ViewNode@319036336 (0x13041bb0)
* Instance of android.app.assist.AssistStructure$ViewNode
|   static FLAGS_HAS_MATRIX = 1073741824
|   static FLAGS_CHECKABLE = 256
|   static FLAGS_FOCUSABLE = 16
|   static FLAGS_HAS_ELEVATION = 268435456
|   static FLAGS_HAS_LOCALE_LIST = 65536
|   static FLAGS_HAS_ID = 2097152
|   static FLAGS_ACCESSIBILITY_FOCUSED = 4096
|   static FLAGS_HAS_EXTRAS = 4194304
|   static FLAGS_VISIBILITY_MASK = 12
|   static FLAGS_HAS_COMPLEX_TEXT = 8388608
|   static FLAGS_HAS_URL = 524288
|   static FLAGS_HAS_LARGE_COORDS = 67108864
|   static FLAGS_LONG_CLICKABLE = 2048
|   static TEXT_STYLE_UNDERLINE = 4
|   static FLAGS_CLICKABLE = 1024
|   static FLAGS_HAS_SCROLL = 134217728
|   static FLAGS_DISABLED = 1
|   static FLAGS_ACTIVATED = 8192
|   static FLAGS_SELECTED = 64
|   static TEXT_STYLE_STRIKE_THRU = 8
|   static FLAGS_CONTEXT_CLICKABLE = 16384
|   static FLAGS_HAS_AUTOFILL_DATA = -2147483648
|   static FLAGS_FOCUSED = 32
|   static FLAGS_CHECKED = 512
|   static TEXT_STYLE_ITALIC = 2
|   static FLAGS_ASSIST_BLOCKED = 128
|   static FLAGS_OPAQUE = 32768
|   static TEXT_STYLE_BOLD = 1
|   static FLAGS_HAS_INPUT_TYPE = 262144
|   static TEXT_COLOR_UNDEFINED = 1
|   static $classOverhead = byte[692]@318549049 (0x12fcac39)
|   static FLAGS_ALL_CONTROL = -1048576
|   static FLAGS_HAS_TEXT = 16777216
|   static FLAGS_HAS_ALPHA = 536870912
|   static FLAGS_HAS_CONTENT_DESCRIPTION = 33554432
|   static FLAGS_HAS_CHILDREN = 1048576
|   mAlpha = 1.0
|   mAutofillHints = null
|   mAutofillId = android.view.autofill.AutofillId@319036464 (0x13041c30)
|   mAutofillOptions = null
|   mAutofillOverlay = null
|   mAutofillType = 0
|   mAutofillValue = null
|   mChildren = android.app.assist.AssistStructure$ViewNode[2]@319036488 (0x13041c48)
|   mClassName = java.lang.String@1886328112 (0x706f1530)
|   mContentDescription = null
|   mElevation = 0.0
|   mExtras = null
|   mFlags = 0
|   mHeight = 2392
|   mHtmlInfo = null
|   mId = 2131820710
|   mIdEntry = java.lang.String@319036512 (0x13041c60)
|   mIdPackage = java.lang.String@319036544 (0x13041c80)
|   mIdType = java.lang.String@319036600 (0x13041cb8)
|   mInputType = 0
|   mLocaleList = null
|   mMatrix = null
|   mSanitized = false
|   mScrollX = 0
|   mScrollY = 0
|   mText = null
|   mUrl = null
|   mWidth = 1440
|   mX = 0
|   mY = 0
|   shadow$_klass_ = android.app.assist.AssistStructure$ViewNode
|   shadow$_monitor_ = 0
* Array of android.app.assist.AssistStructure$ViewNode[]
|   [0] = android.app.assist.AssistStructure$ViewNode@319036624 (0x13041cd0)
|   [1] = android.app.assist.AssistStructure$ViewNode@319036752 (0x13041d50)
* Instance of android.app.assist.AssistStructure$ViewNode
|   static FLAGS_HAS_MATRIX = 1073741824
|   static FLAGS_CHECKABLE = 256
|   static FLAGS_FOCUSABLE = 16
|   static FLAGS_HAS_ELEVATION = 268435456
|   static FLAGS_HAS_LOCALE_LIST = 65536
|   static FLAGS_HAS_ID = 2097152
|   static FLAGS_ACCESSIBILITY_FOCUSED = 4096
|   static FLAGS_HAS_EXTRAS = 4194304
|   static FLAGS_VISIBILITY_MASK = 12
|   static FLAGS_HAS_COMPLEX_TEXT = 8388608
|   static FLAGS_HAS_URL = 524288
|   static FLAGS_HAS_LARGE_COORDS = 67108864
|   static FLAGS_LONG_CLICKABLE = 2048
|   static TEXT_STYLE_UNDERLINE = 4
|   static FLAGS_CLICKABLE = 1024
|   static FLAGS_HAS_SCROLL = 134217728
|   static FLAGS_DISABLED = 1
|   static FLAGS_ACTIVATED = 8192
|   static FLAGS_SELECTED = 64
|   static TEXT_STYLE_STRIKE_THRU = 8
|   static FLAGS_CONTEXT_CLICKABLE = 16384
|   static FLAGS_HAS_AUTOFILL_DATA = -2147483648
|   static FLAGS_FOCUSED = 32
|   static FLAGS_CHECKED = 512
|   static TEXT_STYLE_ITALIC = 2
|   static FLAGS_ASSIST_BLOCKED = 128
|   static FLAGS_OPAQUE = 32768
|   static TEXT_STYLE_BOLD = 1
|   static FLAGS_HAS_INPUT_TYPE = 262144
|   static TEXT_COLOR_UNDEFINED = 1
|   static $classOverhead = byte[692]@318549049 (0x12fcac39)
|   static FLAGS_ALL_CONTROL = -1048576
|   static FLAGS_HAS_TEXT = 16777216
|   static FLAGS_HAS_ALPHA = 536870912
|   static FLAGS_HAS_CONTENT_DESCRIPTION = 33554432
|   static FLAGS_HAS_CHILDREN = 1048576
|   mAlpha = 1.0
|   mAutofillHints = null
|   mAutofillId = android.view.autofill.AutofillId@319036880 (0x13041dd0)
|   mAutofillOptions = null
|   mAutofillOverlay = null
|   mAutofillType = 0
|   mAutofillValue = null
|   mChildren = android.app.assist.AssistStructure$ViewNode[1]@319036904 (0x13041de8)
|   mClassName = java.lang.String@1886352184 (0x706f7338)
|   mContentDescription = null
|   mElevation = 0.0
|   mExtras = null
|   mFlags = 0
|   mHeight = 2392
|   mHtmlInfo = null
|   mId = 2131820731
|   mIdEntry = java.lang.String@319036920 (0x13041df8)
|   mIdPackage = java.lang.String@319036944 (0x13041e10)
|   mIdType = java.lang.String@319037000 (0x13041e48)
|   mInputType = 0
|   mLocaleList = null
|   mMatrix = null
|   mSanitized = false
|   mScrollX = 0
|   mScrollY = 0
|   mText = null
|   mUrl = null
|   mWidth = 1440
|   mX = 0
|   mY = 0
|   shadow$_klass_ = android.app.assist.AssistStructure$ViewNode
|   shadow$_monitor_ = 0
* Array of android.app.assist.AssistStructure$ViewNode[]
|   [0] = android.app.assist.AssistStructure$ViewNode@319037024 (0x13041e60)
* Instance of android.app.assist.AssistStructure$ViewNode
|   static FLAGS_HAS_MATRIX = 1073741824
|   static FLAGS_CHECKABLE = 256
|   static FLAGS_FOCUSABLE = 16
|   static FLAGS_HAS_ELEVATION = 268435456
|   static FLAGS_HAS_LOCALE_LIST = 65536
|   static FLAGS_HAS_ID = 2097152
|   static FLAGS_ACCESSIBILITY_FOCUSED = 4096
|   static FLAGS_HAS_EXTRAS = 4194304
|   static FLAGS_VISIBILITY_MASK = 12
|   static FLAGS_HAS_COMPLEX_TEXT = 8388608
|   static FLAGS_HAS_URL = 524288
|   static FLAGS_HAS_LARGE_COORDS = 67108864
|   static FLAGS_LONG_CLICKABLE = 2048
|   static TEXT_STYLE_UNDERLINE = 4
|   static FLAGS_CLICKABLE = 1024
|   static FLAGS_HAS_SCROLL = 134217728
|   static FLAGS_DISABLED = 1
|   static FLAGS_ACTIVATED = 8192
|   static FLAGS_SELECTED = 64
|   static TEXT_STYLE_STRIKE_THRU = 8
|   static FLAGS_CONTEXT_CLICKABLE = 16384
|   static FLAGS_HAS_AUTOFILL_DATA = -2147483648
|   static FLAGS_FOCUSED = 32
|   static FLAGS_CHECKED = 512
|   static TEXT_STYLE_ITALIC = 2
|   static FLAGS_ASSIST_BLOCKED = 128
|   static FLAGS_OPAQUE = 32768
|   static TEXT_STYLE_BOLD = 1
|   static FLAGS_HAS_INPUT_TYPE = 262144
|   static TEXT_COLOR_UNDEFINED = 1
|   static $classOverhead = byte[692]@318549049 (0x12fcac39)
|   static FLAGS_ALL_CONTROL = -1048576
|   static FLAGS_HAS_TEXT = 16777216
|   static FLAGS_HAS_ALPHA = 536870912
|   static FLAGS_HAS_CONTENT_DESCRIPTION = 33554432
|   static FLAGS_HAS_CHILDREN = 1048576
|   mAlpha = 1.0
|   mAutofillHints = null
|   mAutofillId = android.view.autofill.AutofillId@319037152 (0x13041ee0)
|   mAutofillOptions = null
|   mAutofillOverlay = null
|   mAutofillType = 0
|   mAutofillValue = null
|   mChildren = android.app.assist.AssistStructure$ViewNode[3]@319037176 (0x13041ef8)
|   mClassName = java.lang.String@1886354168 (0x706f7af8)
|   mContentDescription = null
|   mElevation = 0.0
|   mExtras = null
|   mFlags = 0
|   mHeight = 2392
|   mHtmlInfo = null
|   mId = 2131820732
|   mIdEntry = java.lang.String@319037200 (0x13041f10)
|   mIdPackage = java.lang.String@319037224 (0x13041f28)
|   mIdType = java.lang.String@319037280 (0x13041f60)
|   mInputType = 0
|   mLocaleList = null
|   mMatrix = null
|   mSanitized = false
|   mScrollX = 0
|   mScrollY = 0
|   mText = null
|   mUrl = null
|   mWidth = 1440
|   mX = 0
|   mY = 0
|   shadow$_klass_ = android.app.assist.AssistStructure$ViewNode
|   shadow$_monitor_ = 0
* Array of android.app.assist.AssistStructure$ViewNode[]
|   [0] = android.app.assist.AssistStructure$ViewNode@319037304 (0x13041f78)
|   [1] = android.app.assist.AssistStructure$ViewNode@319037432 (0x13041ff8)
|   [2] = android.app.assist.AssistStructure$ViewNode@319037560 (0x13042078)
* Instance of android.app.assist.AssistStructure$ViewNode
|   static FLAGS_HAS_MATRIX = 1073741824
|   static FLAGS_CHECKABLE = 256
|   static FLAGS_FOCUSABLE = 16
|   static FLAGS_HAS_ELEVATION = 268435456
|   static FLAGS_HAS_LOCALE_LIST = 65536
|   static FLAGS_HAS_ID = 2097152
|   static FLAGS_ACCESSIBILITY_FOCUSED = 4096
|   static FLAGS_HAS_EXTRAS = 4194304
|   static FLAGS_VISIBILITY_MASK = 12
|   static FLAGS_HAS_COMPLEX_TEXT = 8388608
|   static FLAGS_HAS_URL = 524288
|   static FLAGS_HAS_LARGE_COORDS = 67108864
|   static FLAGS_LONG_CLICKABLE = 2048
|   static TEXT_STYLE_UNDERLINE = 4
|   static FLAGS_CLICKABLE = 1024
|   static FLAGS_HAS_SCROLL = 134217728
|   static FLAGS_DISABLED = 1
|   static FLAGS_ACTIVATED = 8192
|   static FLAGS_SELECTED = 64
|   static TEXT_STYLE_STRIKE_THRU = 8
|   static FLAGS_CONTEXT_CLICKABLE = 16384
|   static FLAGS_HAS_AUTOFILL_DATA = -2147483648
|   static FLAGS_FOCUSED = 32
|   static FLAGS_CHECKED = 512
|   static TEXT_STYLE_ITALIC = 2
|   static FLAGS_ASSIST_BLOCKED = 128
|   static FLAGS_OPAQUE = 32768
|   static TEXT_STYLE_BOLD = 1
|   static FLAGS_HAS_INPUT_TYPE = 262144
|   static TEXT_COLOR_UNDEFINED = 1
|   static $classOverhead = byte[692]@318549049 (0x12fcac39)
|   static FLAGS_ALL_CONTROL = -1048576
|   static FLAGS_HAS_TEXT = 16777216
|   static FLAGS_HAS_ALPHA = 536870912
|   static FLAGS_HAS_CONTENT_DESCRIPTION = 33554432
|   static FLAGS_HAS_CHILDREN = 1048576
|   mAlpha = 1.0
|   mAutofillHints = null
|   mAutofillId = android.view.autofill.AutofillId@319040296 (0x13042b28)
|   mAutofillOptions = null
|   mAutofillOverlay = null
|   mAutofillType = 0
|   mAutofillValue = null
|   mChildren = android.app.assist.AssistStructure$ViewNode[2]@319040320 (0x13042b40)
|   mClassName = java.lang.String@1886354168 (0x706f7af8)
|   mContentDescription = null
|   mElevation = 0.0
|   mExtras = null
|   mFlags = 16
|   mHeight = 1944
|   mHtmlInfo = null
|   mId = 2131820784
|   mIdEntry = java.lang.String@319040344 (0x13042b58)
|   mIdPackage = java.lang.String@319040376 (0x13042b78)
|   mIdType = java.lang.String@319040432 (0x13042bb0)
|   mInputType = 0
|   mLocaleList = null
|   mMatrix = null
|   mSanitized = false
|   mScrollX = 0
|   mScrollY = 0
|   mText = null
|   mUrl = null
|   mWidth = 1440
|   mX = 0
|   mY = 0
|   shadow$_klass_ = android.app.assist.AssistStructure$ViewNode
|   shadow$_monitor_ = 0
* Array of android.app.assist.AssistStructure$ViewNode[]
|   [0] = android.app.assist.AssistStructure$ViewNode@319040456 (0x13042bc8)
|   [1] = android.app.assist.AssistStructure$ViewNode@319040584 (0x13042c48)
* Instance of android.app.assist.AssistStructure$ViewNode
|   static FLAGS_HAS_MATRIX = 1073741824
|   static FLAGS_CHECKABLE = 256
|   static FLAGS_FOCUSABLE = 16
|   static FLAGS_HAS_ELEVATION = 268435456
|   static FLAGS_HAS_LOCALE_LIST = 65536
|   static FLAGS_HAS_ID = 2097152
|   static FLAGS_ACCESSIBILITY_FOCUSED = 4096
|   static FLAGS_HAS_EXTRAS = 4194304
|   static FLAGS_VISIBILITY_MASK = 12
|   static FLAGS_HAS_COMPLEX_TEXT = 8388608
|   static FLAGS_HAS_URL = 524288
|   static FLAGS_HAS_LARGE_COORDS = 67108864
|   static FLAGS_LONG_CLICKABLE = 2048
|   static TEXT_STYLE_UNDERLINE = 4
|   static FLAGS_CLICKABLE = 1024
|   static FLAGS_HAS_SCROLL = 134217728
|   static FLAGS_DISABLED = 1
|   static FLAGS_ACTIVATED = 8192
|   static FLAGS_SELECTED = 64
|   static TEXT_STYLE_STRIKE_THRU = 8
|   static FLAGS_CONTEXT_CLICKABLE = 16384
|   static FLAGS_HAS_AUTOFILL_DATA = -2147483648
|   static FLAGS_FOCUSED = 32
|   static FLAGS_CHECKED = 512
|   static TEXT_STYLE_ITALIC = 2
|   static FLAGS_ASSIST_BLOCKED = 128
|   static FLAGS_OPAQUE = 32768
|   static TEXT_STYLE_BOLD = 1
|   static FLAGS_HAS_INPUT_TYPE = 262144
|   static TEXT_COLOR_UNDEFINED = 1
|   static $classOverhead = byte[692]@318549049 (0x12fcac39)
|   static FLAGS_ALL_CONTROL = -1048576
|   static FLAGS_HAS_TEXT = 16777216
|   static FLAGS_HAS_ALPHA = 536870912
|   static FLAGS_HAS_CONTENT_DESCRIPTION = 33554432
|   static FLAGS_HAS_CHILDREN = 1048576
|   mAlpha = 1.0
|   mAutofillHints = null
|   mAutofillId = android.view.autofill.AutofillId@322807144 (0x133da568)
|   mAutofillOptions = null
|   mAutofillOverlay = null
|   mAutofillType = 0
|   mAutofillValue = null
|   mChildren = android.app.assist.AssistStructure$ViewNode[13]@322807168 (0x133da580)
|   mClassName = java.lang.String@1886354168 (0x706f7af8)
|   mContentDescription = null
|   mElevation = 0.0
|   mExtras = null
|   mFlags = 16
|   mHeight = 1944
|   mHtmlInfo = null
|   mId = 2131820552
|   mIdEntry = java.lang.String@322807232 (0x133da5c0)
|   mIdPackage = java.lang.String@322807256 (0x133da5d8)
|   mIdType = java.lang.String@322807312 (0x133da610)
|   mInputType = 0
|   mLocaleList = null
|   mMatrix = null
|   mSanitized = false
|   mScrollX = 0
|   mScrollY = 0
|   mText = null
|   mUrl = null
|   mWidth = 1440
|   mX = 0
|   mY = 0
|   shadow$_klass_ = android.app.assist.AssistStructure$ViewNode
|   shadow$_monitor_ = 0
* Array of android.app.assist.AssistStructure$ViewNode[]
|   [0] = android.app.assist.AssistStructure$ViewNode@322807336 (0x133da628)
|   [1] = android.app.assist.AssistStructure$ViewNode@322807464 (0x133da6a8)
|   [2] = android.app.assist.AssistStructure$ViewNode@322807592 (0x133da728)
|   [3] = android.app.assist.AssistStructure$ViewNode@322807720 (0x133da7a8)
|   [4] = android.app.assist.AssistStructure$ViewNode@322807848 (0x133da828)
|   [5] = android.app.assist.AssistStructure$ViewNode@322807976 (0x133da8a8)
|   [6] = android.app.assist.AssistStructure$ViewNode@322808104 (0x133da928)
|   [7] = android.app.assist.AssistStructure$ViewNode@322808232 (0x133da9a8)
|   [8] = android.app.assist.AssistStructure$ViewNode@322808360 (0x133daa28)
|   [9] = android.app.assist.AssistStructure$ViewNode@322808488 (0x133daaa8)
|   [10] = android.app.assist.AssistStructure$ViewNode@322808616 (0x133dab28)
|   [11] = android.app.assist.AssistStructure$ViewNode@322808744 (0x133daba8)
|   [12] = android.app.assist.AssistStructure$ViewNode@322808872 (0x133dac28)
* Instance of android.app.assist.AssistStructure$ViewNode
|   static FLAGS_HAS_MATRIX = 1073741824
|   static FLAGS_CHECKABLE = 256
|   static FLAGS_FOCUSABLE = 16
|   static FLAGS_HAS_ELEVATION = 268435456
|   static FLAGS_HAS_LOCALE_LIST = 65536
|   static FLAGS_HAS_ID = 2097152
|   static FLAGS_ACCESSIBILITY_FOCUSED = 4096
|   static FLAGS_HAS_EXTRAS = 4194304
|   static FLAGS_VISIBILITY_MASK = 12
|   static FLAGS_HAS_COMPLEX_TEXT = 8388608
|   static FLAGS_HAS_URL = 524288
|   static FLAGS_HAS_LARGE_COORDS = 67108864
|   static FLAGS_LONG_CLICKABLE = 2048
|   static TEXT_STYLE_UNDERLINE = 4
|   static FLAGS_CLICKABLE = 1024
|   static FLAGS_HAS_SCROLL = 134217728
|   static FLAGS_DISABLED = 1
|   static FLAGS_ACTIVATED = 8192
|   static FLAGS_SELECTED = 64
|   static TEXT_STYLE_STRIKE_THRU = 8
|   static FLAGS_CONTEXT_CLICKABLE = 16384
|   static FLAGS_HAS_AUTOFILL_DATA = -2147483648
|   static FLAGS_FOCUSED = 32
|   static FLAGS_CHECKED = 512
|   static TEXT_STYLE_ITALIC = 2
|   static FLAGS_ASSIST_BLOCKED = 128
|   static FLAGS_OPAQUE = 32768
|   static TEXT_STYLE_BOLD = 1
|   static FLAGS_HAS_INPUT_TYPE = 262144
|   static TEXT_COLOR_UNDEFINED = 1
|   static $classOverhead = byte[692]@318549049 (0x12fcac39)
|   static FLAGS_ALL_CONTROL = -1048576
|   static FLAGS_HAS_TEXT = 16777216
|   static FLAGS_HAS_ALPHA = 536870912
|   static FLAGS_HAS_CONTENT_DESCRIPTION = 33554432
|   static FLAGS_HAS_CHILDREN = 1048576
|   mAlpha = 1.0
|   mAutofillHints = null
|   mAutofillId = android.view.autofill.AutofillId@322809000 (0x133daca8)
|   mAutofillOptions = null
|   mAutofillOverlay = null
|   mAutofillType = 0
|   mAutofillValue = null
|   mChildren = null
|   mClassName = java.lang.String@1886341784 (0x706f4a98)
|   mContentDescription = null
|   mElevation = 0.0
|   mExtras = null
|   mFlags = 3088
|   mHeight = 85
|   mHtmlInfo = null
|   mId = 2131820843
|   mIdEntry = java.lang.String@322809024 (0x133dacc0)
|   mIdPackage = java.lang.String@322809048 (0x133dacd8)
|   mIdType = java.lang.String@322809104 (0x133dad10)
|   mInputType = 0
|   mLocaleList = null
|   mMatrix = null
|   mSanitized = false
|   mScrollX = 0
|   mScrollY = 0
|   mText = android.app.assist.AssistStructure$ViewNodeText@322809128 (0x133dad28)
|   mUrl = null
|   mWidth = 36
|   mX = 1068
|   mY = 83
|   shadow$_klass_ = android.app.assist.AssistStructure$ViewNode
|   shadow$_monitor_ = 0
* Instance of android.app.assist.AssistStructure$ViewNodeText
|   static $classOverhead = byte[120]@318746977 (0x12ffb161)
|   mHint = null
|   mLineBaselines = null
|   mLineCharOffsets = null
|   mText = android.text.SpannableString@322681816 (0x133bbbd8)
|   mTextBackgroundColor = 1
|   mTextColor = -1275068417
|   mTextSelectionEnd = 0
|   mTextSelectionStart = 0
|   mTextSize = 63.0
|   mTextStyle = 1
|   shadow$_klass_ = android.app.assist.AssistStructure$ViewNodeText
|   shadow$_monitor_ = 0
* Instance of android.text.SpannableString
|   static $classOverhead = byte[224]@1885243361 (0x705e87e1)
|   mSpanCount = 5
|   mSpanData = int[27]@322682176 (0x133bbd40)
|   mSpans = java.lang.Object[9]@322682296 (0x133bbdb8)
|   mText = java.lang.String@1939902456 (0x73a08ff8)
|   shadow$_klass_ = android.text.SpannableString
|   shadow$_monitor_ = 0
* Array of java.lang.Object[]
|   [0] = android.widget.TextView$ChangeWatcher@322681352 (0x133bba08)
|   [1] = android.widget.Editor$SpanController@322682344 (0x133bbde8)
|   [2] = android.text.Selection$START@1884265672 (0x704f9cc8)
|   [3] = android.text.Selection$END@1884265664 (0x704f9cc0)
|   [4] = android.text.DynamicLayout$ChangeWatcher@322682368 (0x133bbe00)
|   [5] = null
|   [6] = null
|   [7] = null
|   [8] = null
* Instance of android.widget.TextView$ChangeWatcher
|   static $classOverhead = byte[152]@1885289025 (0x705f3a41)
|   mBeforeText = null
|   this$0 = android.support.v7.widget.AppCompatTextView@322676200 (0x133ba5e8)
|   shadow$_klass_ = android.widget.TextView$ChangeWatcher
|   shadow$_monitor_ = 0
* Instance of android.support.v7.widget.AppCompatTextView
|   static $classOverhead = byte[8488]@319277065 (0x1307c809)
|   mBackgroundTintHelper = android.support.v7.widget.AppCompatBackgroundHelper@322681248 (0x133bb9a0)
|   mTextHelper = android.support.v7.widget.AppCompatTextHelperV17@322681280 (0x133bb9c0)
|   mAllowTransformationLengthChange = false
|   mAutoLinkMask = 0
|   mAutoSizeMaxTextSizeInPx = -1
|   mAutoSizeMinTextSizeInPx = -1
|   mAutoSizeStepGranularityInPx = -1
|   mAutoSizeTextSizesInPx = int[0]@1884091664 (0x704cf510)
|   mAutoSizeTextType = 0
|   mBoring = android.text.BoringLayout$Metrics@322681320 (0x133bb9e8)
|   mBreakStrategy = 1
|   mBufferType = android.widget.TextView$BufferType@1884430792 (0x705221c8)
|   mChangeWatcher = android.widget.TextView$ChangeWatcher@322681352 (0x133bba08)
|   mCharWrapper = null
|   mCurHintTextColor = -2130706433
|   mCurTextColor = -1275068417
|   mCurrentSpellCheckerLocaleCache = null
|   mCursorDrawableRes = 17303469
|   mDeferScroll = -1
|   mDesiredHeightAtMeasure = 85
|   mDeviceProvisionedState = 0
|   mDrawables = null
|   mEditableFactory = android.text.Editable$Factory@1884275152 (0x704fc1d0)
|   mEditor = android.widget.Editor@322681368 (0x133bba18)
|   mEllipsize = null
|   mFilters = android.text.InputFilter[0]@1884293848 (0x70500ad8)
|   mFreezesText = false
|   mGravity = 8388659
|   mHasPresetAutoSizeValues = false
|   mHighlightColor = 1728004225
|   mHighlightPaint = android.graphics.Paint@322681600 (0x133bbb00)
|   mHighlightPath = null
|   mHighlightPathBogus = true
|   mHint = null
|   mHintBoring = null
|   mHintLayout = null
|   mHintTextColor = android.content.res.ColorStateList@319056064 (0x130468c0)
|   mHorizontallyScrolling = false
|   mHyphenationFrequency = 1
|   mIncludePad = true
|   mJustificationMode = 0
|   mLastLayoutDirection = -1
|   mLastScroll = 0
|   mLayout = android.text.DynamicLayout@322681696 (0x133bbb60)
|   mLinkTextColor = android.content.res.ColorStateList@319056224 (0x13046960)
|   mLinksClickable = true
|   mListenerChanged = false
|   mListeners = null
|   mLocalesChanged = false
|   mMarquee = null
|   mMarqueeFadeMode = 0
|   mMarqueeRepeatLimit = 3
|   mMaxMode = 1
|   mMaxWidth = 2147483647
|   mMaxWidthMode = 2
|   mMaximum = 2147483647
|   mMinMode = 1
|   mMinWidth = 0
|   mMinWidthMode = 2
|   mMinimum = 0
|   mMovement = android.text.method.ArrowKeyMovementMethod@318652656 (0x12fe40f0)
|   mNeedsAutoSizeText = false
|   mOldMaxMode = 1
|   mOldMaximum = 2147483647
|   mPreDrawListenerDetached = false
|   mPreDrawRegistered = false
|   mRestartMarquee = false
|   mSavedHintLayout = null
|   mSavedLayout = null
|   mSavedMarqueeModeLayout = null
|   mScroller = null
|   mShadowColor = 0
|   mShadowDx = 0.0
|   mShadowDy = 0.0
|   mShadowRadius = 0.0
|   mSingleLine = false
|   mSpacingAdd = 0.0
|   mSpacingMult = 1.0
|   mSpannableFactory = android.text.Spannable$Factory@1884433856 (0x70522dc0)
|   mTempRect = null
|   mTempTextPaint = null
|   mText = android.text.SpannableString@322681816 (0x133bbbd8)
|   mTextClassifier = null
|   mTextColor = android.content.res.ColorStateList@1939950768 (0x73a14cb0)
|   mTextDir = android.text.TextDirectionHeuristics$TextDirectionHeuristicInternal@1884125056 (0x704d7780)
|   mTextEditSuggestionContainerLayout = 17367286
|   mTextEditSuggestionHighlightStyle = 16974733
|   mTextEditSuggestionItemLayout = 17367288
|   mTextFromResource = false
|   mTextPaint = android.text.TextPaint@322681840 (0x133bbbf0)
|   mTextSelectHandleLeftRes = 17303473
|   mTextSelectHandleRes = 17303475
|   mTextSelectHandleRightRes = 17303477
|   mTransformation = null
|   mTransformed = android.text.SpannableString@322681816 (0x133bbbd8)
|   mUseInternationalizedInput = false
|   mUserSetTextScaleX = false
|   mAccessibilityCursorPosition = -1
|   mAccessibilityDelegate = null
|   mAccessibilityTraversalAfterId = -1
|   mAccessibilityTraversalBeforeId = -1
|   mAccessibilityViewId = 1073741856
|   mAnimator = null
|   mAttachInfo = null
|   mAttributes = null
|   mAutofillHints = null
|   mBackground = null
|   mBackgroundRenderNode = null
|   mBackgroundResource = 0
|   mBackgroundSizeChanged = true
|   mBackgroundTint = null
|   mBottom = 168
|   mCachingFailed = false
|   mClipBounds = null
|   mContentDescription = null
|   mContext = com.supercilex.robotscouter.ui.scout.ScoutActivity@319056528 (0x13046a90)
|   mCurrentAnimation = null
|   mDefaultFocusHighlight = null
|   mDefaultFocusHighlightCache = null
|   mDefaultFocusHighlightEnabled = true
|   mDefaultFocusHighlightSizeChanged = true
|   mDrawableState = int[4]@322681960 (0x133bbc68)
|   mDrawingCache = null
|   mDrawingCacheBackgroundColor = 0
|   mFloatingTreeObserver = null
|   mForegroundInfo = null
|   mFrameMetricsObservers = null
|   mGhostView = null
|   mHasPerformedLongPress = false
|   mID = 2131820843
|   mIgnoreNextUpEvent = false
|   mInContextButtonPress = false
|   mInputEventConsistencyVerifier = null
|   mKeyedTags = null
|   mLabelForId = -1
|   mLastIsOpaque = false
|   mLayerPaint = null
|   mLayerType = 0
|   mLayoutInsets = null
|   mLayoutParams = android.widget.LinearLayout$LayoutParams@322681992 (0x133bbc88)
|   mLeft = 1068
|   mLeftPaddingDefined = false
|   mListenerInfo = null
|   mLongClickX = NaN
|   mLongClickY = NaN
|   mMatchIdPredicate = null
|   mMatchLabelForPredicate = null
|   mMeasureCache = android.util.LongSparseLongArray@322682048 (0x133bbcc0)
|   mMeasuredHeight = 85
|   mMeasuredWidth = 36
|   mMinHeight = 0
|   mMinWidth = 0
|   mNestedScrollingParent = null
|   mNextClusterForwardId = -1
|   mNextFocusDownId = -1
|   mNextFocusForwardId = -1
|   mNextFocusLeftId = -1
|   mNextFocusRightId = -1
|   mNextFocusUpId = -1
|   mOldHeightMeasureSpec = 0
|   mOldWidthMeasureSpec = -2147482432
|   mOutlineProvider = android.view.ViewOutlineProvider$1@1884133000 (0x704d9688)
|   mOverScrollMode = 1
|   mOverlay = null
|   mPaddingBottom = 0
|   mPaddingLeft = 0
|   mPaddingRight = 0
|   mPaddingTop = 0
|   mParent = android.widget.LinearLayout@322674712 (0x133ba018)
|   mPendingCheckForLongPress = null
|   mPendingCheckForTap = null
|   mPerformClick = null
|   mPointerIcon = null
|   mPrivateFlags = 16812080
|   mPrivateFlags2 = 538125864
|   mPrivateFlags3 = 2097152
|   mRecreateDisplayList = false
|   mRenderNode = android.view.RenderNode@322682072 (0x133bbcd8)
|   mResources = android.content.res.Resources@319057632 (0x13046ee0)
|   mRight = 1104
|   mRightPaddingDefined = false
|   mRoundScrollbarRenderer = null
|   mRunQueue = android.view.HandlerActionQueue@322682096 (0x133bbcf0)
|   mScrollCache = null
|   mScrollIndicatorDrawable = null
|   mScrollX = 0
|   mScrollY = 0
|   mSendViewScrolledAccessibilityEvent = null
|   mSendViewStateChangedAccessibilityEvent = null
|   mSendingHoverAccessibilityEvents = false
|   mStartActivityRequestWho = null
|   mStateListAnimator = null
|   mSystemUiVisibility = 0
|   mTag = null
|   mTempNestedScrollConsumed = null
|   mTooltipInfo = null
|   mTop = 83
|   mTouchDelegate = null
|   mTouchSlop = 28
|   mTransformationInfo = null
|   mTransientStateCount = 0
|   mTransitionName = null
|   mUnscaledDrawingCache = null
|   mUnsetPressedState = null
|   mUserPaddingBottom = 0
|   mUserPaddingEnd = -2147483648
|   mUserPaddingLeft = 0
|   mUserPaddingLeftInitial = 0
|   mUserPaddingRight = 0
|   mUserPaddingRightInitial = 0
|   mUserPaddingStart = -2147483648
|   mVerticalScrollFactor = 0.0
|   mVerticalScrollbarPosition = 0
|   mViewFlags = 405028865
|   mVisibilityChangeForAutofillHandler = null
|   mWindowAttachCount = 3
|   shadow$_klass_ = android.support.v7.widget.AppCompatTextView
|   shadow$_monitor_ = -1928600722
* Instance of com.supercilex.robotscouter.ui.scout.ScoutActivity
|   static Companion = com.supercilex.robotscouter.ui.scout.ScoutActivity$Companion@322023480 (0x1331b038)
|   static $classOverhead = byte[4188]@320758649 (0x131e6379)
|   _$_findViewCache = null
|   mDelegate = android.support.v7.app.AppCompatDelegateImplN@322331152 (0x13366210)
|   mEatKeyUpEvent = false
|   mResources = null
|   mThemeId = 2131493012
|   mCreated = true
|   mFragments = android.support.v4.app.FragmentController@322801488 (0x133d8f50)
|   mHandler = android.support.v4.app.FragmentActivity$1@322801504 (0x133d8f60)
|   mNextCandidateRequestIndex = 0
|   mOptionsMenuInvalidated = false
|   mPendingFragmentActivityResults = android.support.v4.util.SparseArrayCompat@322801536 (0x133d8f80)
|   mReallyStopped = true
|   mRequestedPermissionsFromFragment = false
|   mResumed = false
|   mRetaining = false
|   mStopped = true
|   mStartedActivityFromFragment = false
|   mStartedIntentSenderFromFragment = false
|   mExtraDataMap = android.support.v4.util.SimpleArrayMap@322801560 (0x133d8f98)
|   mActionBar = null
|   mActionModeTypeStarting = 0
|   mActivityInfo = android.content.pm.ActivityInfo@322354568 (0x1336bd88)
|   mActivityTransitionState = android.app.ActivityTransitionState@322801584 (0x133d8fb0)
|   mApplication = com.supercilex.robotscouter.RobotScouter@318653272 (0x12fe4358)
|   mAutoFillResetNeeded = true
|   mAutofillManager = android.view.autofill.AutofillManager@319057752 (0x13046f58)
|   mAutofillPopupWindow = null
|   mCalled = true
|   mChangeCanvasToTranslucent = false
|   mChangingConfigurations = false
|   mComponent = android.content.ComponentName@319035880 (0x130419e8)
|   mConfigChangeFlags = 0
|   mCurrentConfig = android.content.res.Configuration@322801640 (0x133d8fe8)
|   mDecor = null
|   mDefaultKeyMode = 0
|   mDefaultKeySsb = null
|   mDestroyed = true
|   mDoReportFullyDrawn = false
|   mEmbeddedID = null
|   mEnableDefaultActionBarUp = true
|   mEnterTransitionListener = android.app.SharedElementCallback$1@1884099944 (0x704d1568)
|   mExitTransitionListener = android.app.SharedElementCallback$1@1884099944 (0x704d1568)
|   mFinished = true
|   mFragments = android.app.FragmentController@322801752 (0x133d9058)
|   mHandler = android.os.Handler@322801768 (0x133d9068)
|   mHasCurrentPermissionsRequest = false
|   mIdent = 185339537
|   mInstanceTracker = android.os.StrictMode$InstanceTracker@322801800 (0x133d9088)
|   mInstrumentation = android.app.Instrumentation@320890056 (0x132064c8)
|   mIntent = android.content.Intent@322354744 (0x1336be38)
|   mLastAccessibilityId = 1073741872
|   mLastNonConfigurationInstances = null
|   mMainThread = android.app.ActivityThread@318505216 (0x12fc0100)
|   mManagedCursors = java.util.ArrayList@322801816 (0x133d9098)
|   mManagedDialogs = null
|   mMenuInflater = null
|   mParent = null
|   mReferrer = java.lang.String@322354920 (0x1336bee8)
|   mResultCode = 0
|   mResultData = null
|   mResumed = false
|   mSearchEvent = null
|   mSearchManager = null
|   mStartedActivity = false
|   mStopped = true
|   mTaskDescription = android.app.ActivityManager$TaskDescription@322801840 (0x133d90b0)
|   mTemporaryPause = false
|   mTitle = java.lang.String@321490632 (0x13298ec8)
|   mTitleColor = 0
|   mTitleReady = true
|   mToken = android.os.BinderProxy@322335232 (0x13367200)
|   mTranslucentCallback = null
|   mUiThread = java.lang.Thread@1939851088 (0x739fc750)
|   mVisibleBehind = false
|   mVisibleFromClient = true
|   mVisibleFromServer = true
|   mVoiceInteractor = null
|   mWindow = com.android.internal.policy.PhoneWindow@322332608 (0x133667c0)
|   mWindowAdded = true
|   mWindowManager = android.view.WindowManagerImpl@322335456 (0x133672e0)
|   mInflater = com.android.internal.policy.PhoneLayoutInflater@322330960 (0x13366150)
|   mOverrideConfiguration = null
|   mResources = android.content.res.Resources@319057632 (0x13046ee0)
|   mTheme = android.content.res.Resources$Theme@322335544 (0x13367338)
|   mThemeResource = 2131493012
|   mBase = android.app.ContextImpl@322335656 (0x133673a8)
|   shadow$_klass_ = com.supercilex.robotscouter.ui.scout.ScoutActivity
|   shadow$_monitor_ = 1073746470
* Excluded Refs:
| Field: android.view.textservice.SpellCheckerSession$1.this$0
| Field: android.view.Choreographer$FrameDisplayEventReceiver.mMessageQueue (always)
| Thread:FinalizerWatchdogDaemon (always)
| Thread:main (always)
| Thread:LeakCanary-Heap-Dump (always)
| Class:java.lang.ref.WeakReference (always)
| Class:java.lang.ref.SoftReference (always)
| Class:java.lang.ref.PhantomReference (always)
| Class:java.lang.ref.Finalizer (always)
| Class:java.lang.ref.FinalizerReference (always)
JakeWharton commented 7 years ago

We're not going to ignore preview leaks. File a bug with Google. If it leaks on a release build we can ignore it.

On Tue, May 30, 2017, 7:18 PM Alex Saveau notifications@github.com wrote:

I'm constantly getting autofill leaks and it would be nice if LeakCanary auto excluded them.

Here's a sample leak:

In com.supercilex.robotscouter.debug:1.1.2-DEBUG:1.

  • com.supercilex.robotscouter.ui.scout.ScoutActivity has leaked:

  • GC ROOT android.app.assist.AssistStructure$SendChannel.mAssistStructure

  • references android.app.assist.AssistStructure.mWindowNodes

  • references java.util.ArrayList.elementData

  • references array java.lang.Object[].[0]

  • references android.app.assist.AssistStructure$WindowNode.mRoot

  • references android.app.assist.AssistStructure$ViewNode.mChildren

  • references array android.app.assist.AssistStructure$ViewNode[].[0]

  • references android.app.assist.AssistStructure$ViewNode.mChildren

  • references array android.app.assist.AssistStructure$ViewNode[].[1]

  • references android.app.assist.AssistStructure$ViewNode.mChildren

  • references array android.app.assist.AssistStructure$ViewNode[].[0]

  • references android.app.assist.AssistStructure$ViewNode.mChildren

  • references array android.app.assist.AssistStructure$ViewNode[].[1]

  • references android.app.assist.AssistStructure$ViewNode.mChildren

  • references array android.app.assist.AssistStructure$ViewNode[].[0]

  • references android.app.assist.AssistStructure$ViewNode.mChildren

  • references array android.app.assist.AssistStructure$ViewNode[].[12]

  • references android.app.assist.AssistStructure$ViewNode.mText

  • references android.app.assist.AssistStructure$ViewNodeText.mText

  • references android.text.SpannableString.mSpans

  • references array java.lang.Object[].[0]

  • references android.widget.TextView$ChangeWatcher.this$0

  • references android.support.v7.widget.AppCompatTextView.mContext

  • leaks com.supercilex.robotscouter.ui.scout.ScoutActivity instance

  • Retaining: 2.2 kB.

  • Reference Key: dba85c80-2b4e-45fb-ab40-d5e8fdb573a0

  • Device: Google google Pixel XL marlin

  • Android Version: O API: 25 LeakCanary: 1.5.1 1be44b3

  • Durations: watch=5031ms, gc=155ms, heap dump=1433ms, analysis=131962ms

  • Details:

  • Instance of android.app.assist.AssistStructure$SendChannel | static $classOverhead = byte[224]@319029505 (0x13040101) | mAssistStructure = android.app.assist.AssistStructure@319035824 (0x130419b0) | mDescriptor = null | mObject = 493717497232 | mOwner = null | shadow$klass = android.app.assist.AssistStructure$SendChannel | shadow$monitor = 0

  • Instance of android.app.assist.AssistStructure | static DESCRIPTOR = java.lang.String@1885650824 (0x7064bf88) | static VALIDATE_WINDOW_TOKEN = 286331153 | static $classOverhead = byte[267]@318550153 (0x12fcb089) | static DEBUG_PARCEL_TREE = false | static CREATOR = android.app.assist.AssistStructure$1@323145616 (0x1342cf90) | static TAG = java.lang.String@1885458200 (0x7061cf18) | static TRANSACTION_XFER = 2 | static VALIDATE_VIEW_TOKEN = 572662306 | static DEBUG_PARCEL = false | static DEBUG_PARCEL_CHILDREN = false | mAcquisitionEndTime = 231084 | mAcquisitionStartTime = 231068 | mActivityComponent = android.content.ComponentName@319035880 (0x130419e8) | mHaveData = true | mIsHomeActivity = false | mPendingAsyncChildren = java.util.ArrayList@319035896 (0x130419f8) | mReceiveChannel = null | mSanitizeOnWrite = false | mSendChannel = android.app.assist.AssistStructure$SendChannel@319035328 (0x130417c0) | mTmpRect = android.graphics.Rect@319035920 (0x13041a10) | mWindowNodes = java.util.ArrayList@319035944 (0x13041a28) | shadow$klass = android.app.assist.AssistStructure | shadow$monitor = 0

  • Instance of java.util.ArrayList | static EMPTY_ELEMENTDATA = java.lang.Object[0]@1882105456 (0x702ea670) | static $classOverhead = byte[392]@1879659409 (0x70095391) | static DEFAULT_CAPACITY = 10 | static MAX_ARRAY_SIZE = 2147483639 | static DEFAULTCAPACITY_EMPTY_ELEMENTDATA = java.lang.Object[0]@1884241000 (0x704f3c68) | static serialVersionUID = 8683452581122892189 | elementData = java.lang.Object[10]@319035968 (0x13041a40) | size = 1 | modCount = 1 | shadow$klass = java.util.ArrayList | shadow$monitor = 0

  • Array of java.lang.Object[] | [0] = android.app.assist.AssistStructure$WindowNode@319036024 (0x13041a78) | [1] = null | [2] = null | [3] = null | [4] = null | [5] = null | [6] = null | [7] = null | [8] = null | [9] = null

  • Instance of android.app.assist.AssistStructure$WindowNode | static $classOverhead = byte[168]@318549865 (0x12fcaf69) | mDisplayId = 0 | mHeight = 2560 | mRoot = android.app.assist.AssistStructure$ViewNode@319036064 (0x13041aa0) | mTitle = java.lang.String@319036192 (0x13041b20) | mWidth = 1440 | mX = 0 | mY = 0 | shadow$klass = android.app.assist.AssistStructure$WindowNode | shadow$monitor = 0

  • Instance of android.app.assist.AssistStructure$ViewNode | static FLAGS_HAS_MATRIX = 1073741824 | static FLAGS_CHECKABLE = 256 | static FLAGS_FOCUSABLE = 16 | static FLAGS_HAS_ELEVATION = 268435456 | static FLAGS_HAS_LOCALE_LIST = 65536 | static FLAGS_HAS_ID = 2097152 | static FLAGS_ACCESSIBILITY_FOCUSED = 4096 | static FLAGS_HAS_EXTRAS = 4194304 | static FLAGS_VISIBILITY_MASK = 12 | static FLAGS_HAS_COMPLEX_TEXT = 8388608 | static FLAGS_HAS_URL = 524288 | static FLAGS_HAS_LARGE_COORDS = 67108864 | static FLAGS_LONG_CLICKABLE = 2048 | static TEXT_STYLE_UNDERLINE = 4 | static FLAGS_CLICKABLE = 1024 | static FLAGS_HAS_SCROLL = 134217728 | static FLAGS_DISABLED = 1 | static FLAGS_ACTIVATED = 8192 | static FLAGS_SELECTED = 64 | static TEXT_STYLE_STRIKE_THRU = 8 | static FLAGS_CONTEXT_CLICKABLE = 16384 | static FLAGS_HAS_AUTOFILL_DATA = -2147483648 | static FLAGS_FOCUSED = 32 | static FLAGS_CHECKED = 512 | static TEXT_STYLE_ITALIC = 2 | static FLAGS_ASSIST_BLOCKED = 128 | static FLAGS_OPAQUE = 32768 | static TEXT_STYLE_BOLD = 1 | static FLAGS_HAS_INPUT_TYPE = 262144 | static TEXT_COLOR_UNDEFINED = 1 | static $classOverhead = byte[692]@318549049 (0x12fcac39) | static FLAGS_ALL_CONTROL = -1048576 | static FLAGS_HAS_TEXT = 16777216 | static FLAGS_HAS_ALPHA = 536870912 | static FLAGS_HAS_CONTENT_DESCRIPTION = 33554432 | static FLAGS_HAS_CHILDREN = 1048576 | mAlpha = 1.0 | mAutofillHints = null | mAutofillId = android.view.autofill.AutofillId@319036296 (0x13041b88) | mAutofillOptions = null | mAutofillOverlay = null | mAutofillType = 0 | mAutofillValue = null | mChildren = android.app.assist.AssistStructure$ViewNode[1]@319036320 (0x13041ba0) | mClassName = java.lang.String@1886352184 (0x706f7338) | mContentDescription = null | mElevation = 0.0 | mExtras = null | mFlags = 32768 | mHeight = 2560 | mHtmlInfo = null | mId = -1 | mIdEntry = null | mIdPackage = null | mIdType = null | mInputType = 0 | mLocaleList = null | mMatrix = null | mSanitized = false | mScrollX = 0 | mScrollY = 0 | mText = null | mUrl = null | mWidth = 1440 | mX = 0 | mY = 0 | shadow$klass = android.app.assist.AssistStructure$ViewNode | shadow$monitor = 0

  • Array of android.app.assist.AssistStructure$ViewNode[] | [0] = android.app.assist.AssistStructure$ViewNode@319036336 (0x13041bb0)

  • Instance of android.app.assist.AssistStructure$ViewNode | static FLAGS_HAS_MATRIX = 1073741824 | static FLAGS_CHECKABLE = 256 | static FLAGS_FOCUSABLE = 16 | static FLAGS_HAS_ELEVATION = 268435456 | static FLAGS_HAS_LOCALE_LIST = 65536 | static FLAGS_HAS_ID = 2097152 | static FLAGS_ACCESSIBILITY_FOCUSED = 4096 | static FLAGS_HAS_EXTRAS = 4194304 | static FLAGS_VISIBILITY_MASK = 12 | static FLAGS_HAS_COMPLEX_TEXT = 8388608 | static FLAGS_HAS_URL = 524288 | static FLAGS_HAS_LARGE_COORDS = 67108864 | static FLAGS_LONG_CLICKABLE = 2048 | static TEXT_STYLE_UNDERLINE = 4 | static FLAGS_CLICKABLE = 1024 | static FLAGS_HAS_SCROLL = 134217728 | static FLAGS_DISABLED = 1 | static FLAGS_ACTIVATED = 8192 | static FLAGS_SELECTED = 64 | static TEXT_STYLE_STRIKE_THRU = 8 | static FLAGS_CONTEXT_CLICKABLE = 16384 | static FLAGS_HAS_AUTOFILL_DATA = -2147483648 | static FLAGS_FOCUSED = 32 | static FLAGS_CHECKED = 512 | static TEXT_STYLE_ITALIC = 2 | static FLAGS_ASSIST_BLOCKED = 128 | static FLAGS_OPAQUE = 32768 | static TEXT_STYLE_BOLD = 1 | static FLAGS_HAS_INPUT_TYPE = 262144 | static TEXT_COLOR_UNDEFINED = 1 | static $classOverhead = byte[692]@318549049 (0x12fcac39) | static FLAGS_ALL_CONTROL = -1048576 | static FLAGS_HAS_TEXT = 16777216 | static FLAGS_HAS_ALPHA = 536870912 | static FLAGS_HAS_CONTENT_DESCRIPTION = 33554432 | static FLAGS_HAS_CHILDREN = 1048576 | mAlpha = 1.0 | mAutofillHints = null | mAutofillId = android.view.autofill.AutofillId@319036464 (0x13041c30) | mAutofillOptions = null | mAutofillOverlay = null | mAutofillType = 0 | mAutofillValue = null | mChildren = android.app.assist.AssistStructure$ViewNode[2]@319036488 (0x13041c48) | mClassName = java.lang.String@1886328112 (0x706f1530) | mContentDescription = null | mElevation = 0.0 | mExtras = null | mFlags = 0 | mHeight = 2392 | mHtmlInfo = null | mId = 2131820710 | mIdEntry = java.lang.String@319036512 (0x13041c60) | mIdPackage = java.lang.String@319036544 (0x13041c80) | mIdType = java.lang.String@319036600 (0x13041cb8) | mInputType = 0 | mLocaleList = null | mMatrix = null | mSanitized = false | mScrollX = 0 | mScrollY = 0 | mText = null | mUrl = null | mWidth = 1440 | mX = 0 | mY = 0 | shadow$klass = android.app.assist.AssistStructure$ViewNode | shadow$monitor = 0

  • Array of android.app.assist.AssistStructure$ViewNode[] | [0] = android.app.assist.AssistStructure$ViewNode@319036624 (0x13041cd0) | [1] = android.app.assist.AssistStructure$ViewNode@319036752 (0x13041d50)

  • Instance of android.app.assist.AssistStructure$ViewNode | static FLAGS_HAS_MATRIX = 1073741824 | static FLAGS_CHECKABLE = 256 | static FLAGS_FOCUSABLE = 16 | static FLAGS_HAS_ELEVATION = 268435456 | static FLAGS_HAS_LOCALE_LIST = 65536 | static FLAGS_HAS_ID = 2097152 | static FLAGS_ACCESSIBILITY_FOCUSED = 4096 | static FLAGS_HAS_EXTRAS = 4194304 | static FLAGS_VISIBILITY_MASK = 12 | static FLAGS_HAS_COMPLEX_TEXT = 8388608 | static FLAGS_HAS_URL = 524288 | static FLAGS_HAS_LARGE_COORDS = 67108864 | static FLAGS_LONG_CLICKABLE = 2048 | static TEXT_STYLE_UNDERLINE = 4 | static FLAGS_CLICKABLE = 1024 | static FLAGS_HAS_SCROLL = 134217728 | static FLAGS_DISABLED = 1 | static FLAGS_ACTIVATED = 8192 | static FLAGS_SELECTED = 64 | static TEXT_STYLE_STRIKE_THRU = 8 | static FLAGS_CONTEXT_CLICKABLE = 16384 | static FLAGS_HAS_AUTOFILL_DATA = -2147483648 | static FLAGS_FOCUSED = 32 | static FLAGS_CHECKED = 512 | static TEXT_STYLE_ITALIC = 2 | static FLAGS_ASSIST_BLOCKED = 128 | static FLAGS_OPAQUE = 32768 | static TEXT_STYLE_BOLD = 1 | static FLAGS_HAS_INPUT_TYPE = 262144 | static TEXT_COLOR_UNDEFINED = 1 | static $classOverhead = byte[692]@318549049 (0x12fcac39) | static FLAGS_ALL_CONTROL = -1048576 | static FLAGS_HAS_TEXT = 16777216 | static FLAGS_HAS_ALPHA = 536870912 | static FLAGS_HAS_CONTENT_DESCRIPTION = 33554432 | static FLAGS_HAS_CHILDREN = 1048576 | mAlpha = 1.0 | mAutofillHints = null | mAutofillId = android.view.autofill.AutofillId@319036880 (0x13041dd0) | mAutofillOptions = null | mAutofillOverlay = null | mAutofillType = 0 | mAutofillValue = null | mChildren = android.app.assist.AssistStructure$ViewNode[1]@319036904 (0x13041de8) | mClassName = java.lang.String@1886352184 (0x706f7338) | mContentDescription = null | mElevation = 0.0 | mExtras = null | mFlags = 0 | mHeight = 2392 | mHtmlInfo = null | mId = 2131820731 | mIdEntry = java.lang.String@319036920 (0x13041df8) | mIdPackage = java.lang.String@319036944 (0x13041e10) | mIdType = java.lang.String@319037000 (0x13041e48) | mInputType = 0 | mLocaleList = null | mMatrix = null | mSanitized = false | mScrollX = 0 | mScrollY = 0 | mText = null | mUrl = null | mWidth = 1440 | mX = 0 | mY = 0 | shadow$klass = android.app.assist.AssistStructure$ViewNode | shadow$monitor = 0

  • Array of android.app.assist.AssistStructure$ViewNode[] | [0] = android.app.assist.AssistStructure$ViewNode@319037024 (0x13041e60)

  • Instance of android.app.assist.AssistStructure$ViewNode | static FLAGS_HAS_MATRIX = 1073741824 | static FLAGS_CHECKABLE = 256 | static FLAGS_FOCUSABLE = 16 | static FLAGS_HAS_ELEVATION = 268435456 | static FLAGS_HAS_LOCALE_LIST = 65536 | static FLAGS_HAS_ID = 2097152 | static FLAGS_ACCESSIBILITY_FOCUSED = 4096 | static FLAGS_HAS_EXTRAS = 4194304 | static FLAGS_VISIBILITY_MASK = 12 | static FLAGS_HAS_COMPLEX_TEXT = 8388608 | static FLAGS_HAS_URL = 524288 | static FLAGS_HAS_LARGE_COORDS = 67108864 | static FLAGS_LONG_CLICKABLE = 2048 | static TEXT_STYLE_UNDERLINE = 4 | static FLAGS_CLICKABLE = 1024 | static FLAGS_HAS_SCROLL = 134217728 | static FLAGS_DISABLED = 1 | static FLAGS_ACTIVATED = 8192 | static FLAGS_SELECTED = 64 | static TEXT_STYLE_STRIKE_THRU = 8 | static FLAGS_CONTEXT_CLICKABLE = 16384 | static FLAGS_HAS_AUTOFILL_DATA = -2147483648 | static FLAGS_FOCUSED = 32 | static FLAGS_CHECKED = 512 | static TEXT_STYLE_ITALIC = 2 | static FLAGS_ASSIST_BLOCKED = 128 | static FLAGS_OPAQUE = 32768 | static TEXT_STYLE_BOLD = 1 | static FLAGS_HAS_INPUT_TYPE = 262144 | static TEXT_COLOR_UNDEFINED = 1 | static $classOverhead = byte[692]@318549049 (0x12fcac39) | static FLAGS_ALL_CONTROL = -1048576 | static FLAGS_HAS_TEXT = 16777216 | static FLAGS_HAS_ALPHA = 536870912 | static FLAGS_HAS_CONTENT_DESCRIPTION = 33554432 | static FLAGS_HAS_CHILDREN = 1048576 | mAlpha = 1.0 | mAutofillHints = null | mAutofillId = android.view.autofill.AutofillId@319037152 (0x13041ee0) | mAutofillOptions = null | mAutofillOverlay = null | mAutofillType = 0 | mAutofillValue = null | mChildren = android.app.assist.AssistStructure$ViewNode[3]@319037176 (0x13041ef8) | mClassName = java.lang.String@1886354168 (0x706f7af8) | mContentDescription = null | mElevation = 0.0 | mExtras = null | mFlags = 0 | mHeight = 2392 | mHtmlInfo = null | mId = 2131820732 | mIdEntry = java.lang.String@319037200 (0x13041f10) | mIdPackage = java.lang.String@319037224 (0x13041f28) | mIdType = java.lang.String@319037280 (0x13041f60) | mInputType = 0 | mLocaleList = null | mMatrix = null | mSanitized = false | mScrollX = 0 | mScrollY = 0 | mText = null | mUrl = null | mWidth = 1440 | mX = 0 | mY = 0 | shadow$klass = android.app.assist.AssistStructure$ViewNode | shadow$monitor = 0

  • Array of android.app.assist.AssistStructure$ViewNode[] | [0] = android.app.assist.AssistStructure$ViewNode@319037304 (0x13041f78) | [1] = android.app.assist.AssistStructure$ViewNode@319037432 (0x13041ff8) | [2] = android.app.assist.AssistStructure$ViewNode@319037560 (0x13042078)

  • Instance of android.app.assist.AssistStructure$ViewNode | static FLAGS_HAS_MATRIX = 1073741824 | static FLAGS_CHECKABLE = 256 | static FLAGS_FOCUSABLE = 16 | static FLAGS_HAS_ELEVATION = 268435456 | static FLAGS_HAS_LOCALE_LIST = 65536 | static FLAGS_HAS_ID = 2097152 | static FLAGS_ACCESSIBILITY_FOCUSED = 4096 | static FLAGS_HAS_EXTRAS = 4194304 | static FLAGS_VISIBILITY_MASK = 12 | static FLAGS_HAS_COMPLEX_TEXT = 8388608 | static FLAGS_HAS_URL = 524288 | static FLAGS_HAS_LARGE_COORDS = 67108864 | static FLAGS_LONG_CLICKABLE = 2048 | static TEXT_STYLE_UNDERLINE = 4 | static FLAGS_CLICKABLE = 1024 | static FLAGS_HAS_SCROLL = 134217728 | static FLAGS_DISABLED = 1 | static FLAGS_ACTIVATED = 8192 | static FLAGS_SELECTED = 64 | static TEXT_STYLE_STRIKE_THRU = 8 | static FLAGS_CONTEXT_CLICKABLE = 16384 | static FLAGS_HAS_AUTOFILL_DATA = -2147483648 | static FLAGS_FOCUSED = 32 | static FLAGS_CHECKED = 512 | static TEXT_STYLE_ITALIC = 2 | static FLAGS_ASSIST_BLOCKED = 128 | static FLAGS_OPAQUE = 32768 | static TEXT_STYLE_BOLD = 1 | static FLAGS_HAS_INPUT_TYPE = 262144 | static TEXT_COLOR_UNDEFINED = 1 | static $classOverhead = byte[692]@318549049 (0x12fcac39) | static FLAGS_ALL_CONTROL = -1048576 | static FLAGS_HAS_TEXT = 16777216 | static FLAGS_HAS_ALPHA = 536870912 | static FLAGS_HAS_CONTENT_DESCRIPTION = 33554432 | static FLAGS_HAS_CHILDREN = 1048576 | mAlpha = 1.0 | mAutofillHints = null | mAutofillId = android.view.autofill.AutofillId@319040296 (0x13042b28) | mAutofillOptions = null | mAutofillOverlay = null | mAutofillType = 0 | mAutofillValue = null | mChildren = android.app.assist.AssistStructure$ViewNode[2]@319040320 (0x13042b40) | mClassName = java.lang.String@1886354168 (0x706f7af8) | mContentDescription = null | mElevation = 0.0 | mExtras = null | mFlags = 16 | mHeight = 1944 | mHtmlInfo = null | mId = 2131820784 | mIdEntry = java.lang.String@319040344 (0x13042b58) | mIdPackage = java.lang.String@319040376 (0x13042b78) | mIdType = java.lang.String@319040432 (0x13042bb0) | mInputType = 0 | mLocaleList = null | mMatrix = null | mSanitized = false | mScrollX = 0 | mScrollY = 0 | mText = null | mUrl = null | mWidth = 1440 | mX = 0 | mY = 0 | shadow$klass = android.app.assist.AssistStructure$ViewNode | shadow$monitor = 0

  • Array of android.app.assist.AssistStructure$ViewNode[] | [0] = android.app.assist.AssistStructure$ViewNode@319040456 (0x13042bc8) | [1] = android.app.assist.AssistStructure$ViewNode@319040584 (0x13042c48)

  • Instance of android.app.assist.AssistStructure$ViewNode | static FLAGS_HAS_MATRIX = 1073741824 | static FLAGS_CHECKABLE = 256 | static FLAGS_FOCUSABLE = 16 | static FLAGS_HAS_ELEVATION = 268435456 | static FLAGS_HAS_LOCALE_LIST = 65536 | static FLAGS_HAS_ID = 2097152 | static FLAGS_ACCESSIBILITY_FOCUSED = 4096 | static FLAGS_HAS_EXTRAS = 4194304 | static FLAGS_VISIBILITY_MASK = 12 | static FLAGS_HAS_COMPLEX_TEXT = 8388608 | static FLAGS_HAS_URL = 524288 | static FLAGS_HAS_LARGE_COORDS = 67108864 | static FLAGS_LONG_CLICKABLE = 2048 | static TEXT_STYLE_UNDERLINE = 4 | static FLAGS_CLICKABLE = 1024 | static FLAGS_HAS_SCROLL = 134217728 | static FLAGS_DISABLED = 1 | static FLAGS_ACTIVATED = 8192 | static FLAGS_SELECTED = 64 | static TEXT_STYLE_STRIKE_THRU = 8 | static FLAGS_CONTEXT_CLICKABLE = 16384 | static FLAGS_HAS_AUTOFILL_DATA = -2147483648 | static FLAGS_FOCUSED = 32 | static FLAGS_CHECKED = 512 | static TEXT_STYLE_ITALIC = 2 | static FLAGS_ASSIST_BLOCKED = 128 | static FLAGS_OPAQUE = 32768 | static TEXT_STYLE_BOLD = 1 | static FLAGS_HAS_INPUT_TYPE = 262144 | static TEXT_COLOR_UNDEFINED = 1 | static $classOverhead = byte[692]@318549049 (0x12fcac39) | static FLAGS_ALL_CONTROL = -1048576 | static FLAGS_HAS_TEXT = 16777216 | static FLAGS_HAS_ALPHA = 536870912 | static FLAGS_HAS_CONTENT_DESCRIPTION = 33554432 | static FLAGS_HAS_CHILDREN = 1048576 | mAlpha = 1.0 | mAutofillHints = null | mAutofillId = android.view.autofill.AutofillId@322807144 (0x133da568) | mAutofillOptions = null | mAutofillOverlay = null | mAutofillType = 0 | mAutofillValue = null | mChildren = android.app.assist.AssistStructure$ViewNode[13]@322807168 (0x133da580) | mClassName = java.lang.String@1886354168 (0x706f7af8) | mContentDescription = null | mElevation = 0.0 | mExtras = null | mFlags = 16 | mHeight = 1944 | mHtmlInfo = null | mId = 2131820552 | mIdEntry = java.lang.String@322807232 (0x133da5c0) | mIdPackage = java.lang.String@322807256 (0x133da5d8) | mIdType = java.lang.String@322807312 (0x133da610) | mInputType = 0 | mLocaleList = null | mMatrix = null | mSanitized = false | mScrollX = 0 | mScrollY = 0 | mText = null | mUrl = null | mWidth = 1440 | mX = 0 | mY = 0 | shadow$klass = android.app.assist.AssistStructure$ViewNode | shadow$monitor = 0

  • Array of android.app.assist.AssistStructure$ViewNode[] | [0] = android.app.assist.AssistStructure$ViewNode@322807336 (0x133da628) | [1] = android.app.assist.AssistStructure$ViewNode@322807464 (0x133da6a8) | [2] = android.app.assist.AssistStructure$ViewNode@322807592 (0x133da728) | [3] = android.app.assist.AssistStructure$ViewNode@322807720 (0x133da7a8) | [4] = android.app.assist.AssistStructure$ViewNode@322807848 (0x133da828) | [5] = android.app.assist.AssistStructure$ViewNode@322807976 (0x133da8a8) | [6] = android.app.assist.AssistStructure$ViewNode@322808104 (0x133da928) | [7] = android.app.assist.AssistStructure$ViewNode@322808232 (0x133da9a8) | [8] = android.app.assist.AssistStructure$ViewNode@322808360 (0x133daa28) | [9] = android.app.assist.AssistStructure$ViewNode@322808488 (0x133daaa8) | [10] = android.app.assist.AssistStructure$ViewNode@322808616 (0x133dab28) | [11] = android.app.assist.AssistStructure$ViewNode@322808744 (0x133daba8) | [12] = android.app.assist.AssistStructure$ViewNode@322808872 (0x133dac28)

  • Instance of android.app.assist.AssistStructure$ViewNode | static FLAGS_HAS_MATRIX = 1073741824 | static FLAGS_CHECKABLE = 256 | static FLAGS_FOCUSABLE = 16 | static FLAGS_HAS_ELEVATION = 268435456 | static FLAGS_HAS_LOCALE_LIST = 65536 | static FLAGS_HAS_ID = 2097152 | static FLAGS_ACCESSIBILITY_FOCUSED = 4096 | static FLAGS_HAS_EXTRAS = 4194304 | static FLAGS_VISIBILITY_MASK = 12 | static FLAGS_HAS_COMPLEX_TEXT = 8388608 | static FLAGS_HAS_URL = 524288 | static FLAGS_HAS_LARGE_COORDS = 67108864 | static FLAGS_LONG_CLICKABLE = 2048 | static TEXT_STYLE_UNDERLINE = 4 | static FLAGS_CLICKABLE = 1024 | static FLAGS_HAS_SCROLL = 134217728 | static FLAGS_DISABLED = 1 | static FLAGS_ACTIVATED = 8192 | static FLAGS_SELECTED = 64 | static TEXT_STYLE_STRIKE_THRU = 8 | static FLAGS_CONTEXT_CLICKABLE = 16384 | static FLAGS_HAS_AUTOFILL_DATA = -2147483648 | static FLAGS_FOCUSED = 32 | static FLAGS_CHECKED = 512 | static TEXT_STYLE_ITALIC = 2 | static FLAGS_ASSIST_BLOCKED = 128 | static FLAGS_OPAQUE = 32768 | static TEXT_STYLE_BOLD = 1 | static FLAGS_HAS_INPUT_TYPE = 262144 | static TEXT_COLOR_UNDEFINED = 1 | static $classOverhead = byte[692]@318549049 (0x12fcac39) | static FLAGS_ALL_CONTROL = -1048576 | static FLAGS_HAS_TEXT = 16777216 | static FLAGS_HAS_ALPHA = 536870912 | static FLAGS_HAS_CONTENT_DESCRIPTION = 33554432 | static FLAGS_HAS_CHILDREN = 1048576 | mAlpha = 1.0 | mAutofillHints = null | mAutofillId = android.view.autofill.AutofillId@322809000 (0x133daca8) | mAutofillOptions = null | mAutofillOverlay = null | mAutofillType = 0 | mAutofillValue = null | mChildren = null | mClassName = java.lang.String@1886341784 (0x706f4a98) | mContentDescription = null | mElevation = 0.0 | mExtras = null | mFlags = 3088 | mHeight = 85 | mHtmlInfo = null | mId = 2131820843 | mIdEntry = java.lang.String@322809024 (0x133dacc0) | mIdPackage = java.lang.String@322809048 (0x133dacd8) | mIdType = java.lang.String@322809104 (0x133dad10) | mInputType = 0 | mLocaleList = null | mMatrix = null | mSanitized = false | mScrollX = 0 | mScrollY = 0 | mText = android.app.assist.AssistStructure$ViewNodeText@322809128 (0x133dad28) | mUrl = null | mWidth = 36 | mX = 1068 | mY = 83 | shadow$klass = android.app.assist.AssistStructure$ViewNode | shadow$monitor = 0

  • Instance of android.app.assist.AssistStructure$ViewNodeText | static $classOverhead = byte[120]@318746977 (0x12ffb161) | mHint = null | mLineBaselines = null | mLineCharOffsets = null | mText = android.text.SpannableString@322681816 (0x133bbbd8) | mTextBackgroundColor = 1 | mTextColor = -1275068417 | mTextSelectionEnd = 0 | mTextSelectionStart = 0 | mTextSize = 63.0 | mTextStyle = 1 | shadow$klass = android.app.assist.AssistStructure$ViewNodeText | shadow$monitor = 0

  • Instance of android.text.SpannableString | static $classOverhead = byte[224]@1885243361 (0x705e87e1) | mSpanCount = 5 | mSpanData = int[27]@322682176 (0x133bbd40) | mSpans = java.lang.Object[9]@322682296 (0x133bbdb8) | mText = java.lang.String@1939902456 (0x73a08ff8) | shadow$klass = android.text.SpannableString | shadow$monitor = 0

  • Array of java.lang.Object[] | [0] = android.widget.TextView$ChangeWatcher@322681352 (0x133bba08) | [1] = android.widget.Editor$SpanController@322682344 (0x133bbde8) | [2] = android.text.Selection$START@1884265672 (0x704f9cc8) | [3] = android.text.Selection$END@1884265664 (0x704f9cc0) | [4] = android.text.DynamicLayout$ChangeWatcher@322682368 (0x133bbe00) | [5] = null | [6] = null | [7] = null | [8] = null

  • Instance of android.widget.TextView$ChangeWatcher | static $classOverhead = byte[152]@1885289025 (0x705f3a41) | mBeforeText = null | this$0 = android.support.v7.widget.AppCompatTextView@322676200 (0x133ba5e8) | shadow$klass = android.widget.TextView$ChangeWatcher | shadow$monitor = 0

  • Instance of android.support.v7.widget.AppCompatTextView | static $classOverhead = byte[8488]@319277065 (0x1307c809) | mBackgroundTintHelper = android.support.v7.widget.AppCompatBackgroundHelper@322681248 (0x133bb9a0) | mTextHelper = android.support.v7.widget.AppCompatTextHelperV17@322681280 (0x133bb9c0) | mAllowTransformationLengthChange = false | mAutoLinkMask = 0 | mAutoSizeMaxTextSizeInPx = -1 | mAutoSizeMinTextSizeInPx = -1 | mAutoSizeStepGranularityInPx = -1 | mAutoSizeTextSizesInPx = int[0]@1884091664 (0x704cf510) | mAutoSizeTextType = 0 | mBoring = android.text.BoringLayout$Metrics@322681320 (0x133bb9e8) | mBreakStrategy = 1 | mBufferType = android.widget.TextView$BufferType@1884430792 (0x705221c8) | mChangeWatcher = android.widget.TextView$ChangeWatcher@322681352 (0x133bba08) | mCharWrapper = null | mCurHintTextColor = -2130706433 | mCurTextColor = -1275068417 | mCurrentSpellCheckerLocaleCache = null | mCursorDrawableRes = 17303469 | mDeferScroll = -1 | mDesiredHeightAtMeasure = 85 | mDeviceProvisionedState = 0 | mDrawables = null | mEditableFactory = android.text.Editable$Factory@1884275152 (0x704fc1d0) | mEditor = android.widget.Editor@322681368 (0x133bba18) | mEllipsize = null | mFilters = android.text.InputFilter[0]@1884293848 (0x70500ad8) | mFreezesText = false | mGravity = 8388659 | mHasPresetAutoSizeValues = false | mHighlightColor = 1728004225 | mHighlightPaint = android.graphics.Paint@322681600 (0x133bbb00) | mHighlightPath = null | mHighlightPathBogus = true | mHint = null | mHintBoring = null | mHintLayout = null | mHintTextColor = android.content.res.ColorStateList@319056064 (0x130468c0) | mHorizontallyScrolling = false | mHyphenationFrequency = 1 | mIncludePad = true | mJustificationMode = 0 | mLastLayoutDirection = -1 | mLastScroll = 0 | mLayout = android.text.DynamicLayout@322681696 (0x133bbb60) | mLinkTextColor = android.content.res.ColorStateList@319056224 (0x13046960) | mLinksClickable = true | mListenerChanged = false | mListeners = null | mLocalesChanged = false | mMarquee = null | mMarqueeFadeMode = 0 | mMarqueeRepeatLimit = 3 | mMaxMode = 1 | mMaxWidth = 2147483647 | mMaxWidthMode = 2 | mMaximum = 2147483647 | mMinMode = 1 | mMinWidth = 0 | mMinWidthMode = 2 | mMinimum = 0 | mMovement = android.text.method.ArrowKeyMovementMethod@318652656 (0x12fe40f0) | mNeedsAutoSizeText = false | mOldMaxMode = 1 | mOldMaximum = 2147483647 | mPreDrawListenerDetached = false | mPreDrawRegistered = false | mRestartMarquee = false | mSavedHintLayout = null | mSavedLayout = null | mSavedMarqueeModeLayout = null | mScroller = null | mShadowColor = 0 | mShadowDx = 0.0 | mShadowDy = 0.0 | mShadowRadius = 0.0 | mSingleLine = false | mSpacingAdd = 0.0 | mSpacingMult = 1.0 | mSpannableFactory = android.text.Spannable$Factory@1884433856 (0x70522dc0) | mTempRect = null | mTempTextPaint = null | mText = android.text.SpannableString@322681816 (0x133bbbd8) | mTextClassifier = null | mTextColor = android.content.res.ColorStateList@1939950768 (0x73a14cb0) | mTextDir = android.text.TextDirectionHeuristics$TextDirectionHeuristicInternal@1884125056 (0x704d7780) | mTextEditSuggestionContainerLayout = 17367286 | mTextEditSuggestionHighlightStyle = 16974733 | mTextEditSuggestionItemLayout = 17367288 | mTextFromResource = false | mTextPaint = android.text.TextPaint@322681840 (0x133bbbf0) | mTextSelectHandleLeftRes = 17303473 | mTextSelectHandleRes = 17303475 | mTextSelectHandleRightRes = 17303477 | mTransformation = null | mTransformed = android.text.SpannableString@322681816 (0x133bbbd8) | mUseInternationalizedInput = false | mUserSetTextScaleX = false | mAccessibilityCursorPosition = -1 | mAccessibilityDelegate = null | mAccessibilityTraversalAfterId = -1 | mAccessibilityTraversalBeforeId = -1 | mAccessibilityViewId = 1073741856 | mAnimator = null | mAttachInfo = null | mAttributes = null | mAutofillHints = null | mBackground = null | mBackgroundRenderNode = null | mBackgroundResource = 0 | mBackgroundSizeChanged = true | mBackgroundTint = null | mBottom = 168 | mCachingFailed = false | mClipBounds = null | mContentDescription = null | mContext = com.supercilex.robotscouter.ui.scout.ScoutActivity@319056528 (0x13046a90) | mCurrentAnimation = null | mDefaultFocusHighlight = null | mDefaultFocusHighlightCache = null | mDefaultFocusHighlightEnabled = true | mDefaultFocusHighlightSizeChanged = true | mDrawableState = int[4]@322681960 (0x133bbc68) | mDrawingCache = null | mDrawingCacheBackgroundColor = 0 | mFloatingTreeObserver = null | mForegroundInfo = null | mFrameMetricsObservers = null | mGhostView = null | mHasPerformedLongPress = false | mID = 2131820843 | mIgnoreNextUpEvent = false | mInContextButtonPress = false | mInputEventConsistencyVerifier = null | mKeyedTags = null | mLabelForId = -1 | mLastIsOpaque = false | mLayerPaint = null | mLayerType = 0 | mLayoutInsets = null | mLayoutParams = android.widget.LinearLayout$LayoutParams@322681992 (0x133bbc88) | mLeft = 1068 | mLeftPaddingDefined = false | mListenerInfo = null | mLongClickX = NaN | mLongClickY = NaN | mMatchIdPredicate = null | mMatchLabelForPredicate = null | mMeasureCache = android.util.LongSparseLongArray@322682048 (0x133bbcc0) | mMeasuredHeight = 85 | mMeasuredWidth = 36 | mMinHeight = 0 | mMinWidth = 0 | mNestedScrollingParent = null | mNextClusterForwardId = -1 | mNextFocusDownId = -1 | mNextFocusForwardId = -1 | mNextFocusLeftId = -1 | mNextFocusRightId = -1 | mNextFocusUpId = -1 | mOldHeightMeasureSpec = 0 | mOldWidthMeasureSpec = -2147482432 | mOutlineProvider = android.view.ViewOutlineProvider$1@1884133000 (0x704d9688) | mOverScrollMode = 1 | mOverlay = null | mPaddingBottom = 0 | mPaddingLeft = 0 | mPaddingRight = 0 | mPaddingTop = 0 | mParent = android.widget.LinearLayout@322674712 (0x133ba018) | mPendingCheckForLongPress = null | mPendingCheckForTap = null | mPerformClick = null | mPointerIcon = null | mPrivateFlags = 16812080 | mPrivateFlags2 = 538125864 | mPrivateFlags3 = 2097152 | mRecreateDisplayList = false | mRenderNode = android.view.RenderNode@322682072 (0x133bbcd8) | mResources = android.content.res.Resources@319057632 (0x13046ee0) | mRight = 1104 | mRightPaddingDefined = false | mRoundScrollbarRenderer = null | mRunQueue = android.view.HandlerActionQueue@322682096 (0x133bbcf0) | mScrollCache = null | mScrollIndicatorDrawable = null | mScrollX = 0 | mScrollY = 0 | mSendViewScrolledAccessibilityEvent = null | mSendViewStateChangedAccessibilityEvent = null | mSendingHoverAccessibilityEvents = false | mStartActivityRequestWho = null | mStateListAnimator = null | mSystemUiVisibility = 0 | mTag = null | mTempNestedScrollConsumed = null | mTooltipInfo = null | mTop = 83 | mTouchDelegate = null | mTouchSlop = 28 | mTransformationInfo = null | mTransientStateCount = 0 | mTransitionName = null | mUnscaledDrawingCache = null | mUnsetPressedState = null | mUserPaddingBottom = 0 | mUserPaddingEnd = -2147483648 | mUserPaddingLeft = 0 | mUserPaddingLeftInitial = 0 | mUserPaddingRight = 0 | mUserPaddingRightInitial = 0 | mUserPaddingStart = -2147483648 | mVerticalScrollFactor = 0.0 | mVerticalScrollbarPosition = 0 | mViewFlags = 405028865 | mVisibilityChangeForAutofillHandler = null | mWindowAttachCount = 3 | shadow$klass = android.support.v7.widget.AppCompatTextView | shadow$monitor = -1928600722

  • Instance of com.supercilex.robotscouter.ui.scout.ScoutActivity | static Companion = com.supercilex.robotscouter.ui.scout.ScoutActivity$Companion@322023480 (0x1331b038) | static $classOverhead = byte[4188]@320758649 (0x131e6379) | _$_findViewCache = null | mDelegate = android.support.v7.app.AppCompatDelegateImplN@322331152 (0x13366210) | mEatKeyUpEvent = false | mResources = null | mThemeId = 2131493012 | mCreated = true | mFragments = android.support.v4.app.FragmentController@322801488 (0x133d8f50) | mHandler = android.support.v4.app.FragmentActivity$1@322801504 (0x133d8f60) | mNextCandidateRequestIndex = 0 | mOptionsMenuInvalidated = false | mPendingFragmentActivityResults = android.support.v4.util.SparseArrayCompat@322801536 (0x133d8f80) | mReallyStopped = true | mRequestedPermissionsFromFragment = false | mResumed = false | mRetaining = false | mStopped = true | mStartedActivityFromFragment = false | mStartedIntentSenderFromFragment = false | mExtraDataMap = android.support.v4.util.SimpleArrayMap@322801560 (0x133d8f98) | mActionBar = null | mActionModeTypeStarting = 0 | mActivityInfo = android.content.pm.ActivityInfo@322354568 (0x1336bd88) | mActivityTransitionState = android.app.ActivityTransitionState@322801584 (0x133d8fb0) | mApplication = com.supercilex.robotscouter.RobotScouter@318653272 (0x12fe4358) | mAutoFillResetNeeded = true | mAutofillManager = android.view.autofill.AutofillManager@319057752 (0x13046f58) | mAutofillPopupWindow = null | mCalled = true | mChangeCanvasToTranslucent = false | mChangingConfigurations = false | mComponent = android.content.ComponentName@319035880 (0x130419e8) | mConfigChangeFlags = 0 | mCurrentConfig = android.content.res.Configuration@322801640 (0x133d8fe8) | mDecor = null | mDefaultKeyMode = 0 | mDefaultKeySsb = null | mDestroyed = true | mDoReportFullyDrawn = false | mEmbeddedID = null | mEnableDefaultActionBarUp = true | mEnterTransitionListener = android.app.SharedElementCallback$1@1884099944 (0x704d1568) | mExitTransitionListener = android.app.SharedElementCallback$1@1884099944 (0x704d1568) | mFinished = true | mFragments = android.app.FragmentController@322801752 (0x133d9058) | mHandler = android.os.Handler@322801768 (0x133d9068) | mHasCurrentPermissionsRequest = false | mIdent = 185339537 | mInstanceTracker = android.os.StrictMode$InstanceTracker@322801800 (0x133d9088) | mInstrumentation = android.app.Instrumentation@320890056 (0x132064c8) | mIntent = android.content.Intent@322354744 (0x1336be38) | mLastAccessibilityId = 1073741872 | mLastNonConfigurationInstances = null | mMainThread = android.app.ActivityThread@318505216 (0x12fc0100) | mManagedCursors = java.util.ArrayList@322801816 (0x133d9098) | mManagedDialogs = null | mMenuInflater = null | mParent = null | mReferrer = java.lang.String@322354920 (0x1336bee8) | mResultCode = 0 | mResultData = null | mResumed = false | mSearchEvent = null | mSearchManager = null | mStartedActivity = false | mStopped = true | mTaskDescription = android.app.ActivityManager$TaskDescription@322801840 (0x133d90b0) | mTemporaryPause = false | mTitle = java.lang.String@321490632 (0x13298ec8) | mTitleColor = 0 | mTitleReady = true | mToken = android.os.BinderProxy@322335232 (0x13367200) | mTranslucentCallback = null | mUiThread = java.lang.Thread@1939851088 (0x739fc750) | mVisibleBehind = false | mVisibleFromClient = true | mVisibleFromServer = true | mVoiceInteractor = null | mWindow = com.android.internal.policy.PhoneWindow@322332608 (0x133667c0) | mWindowAdded = true | mWindowManager = android.view.WindowManagerImpl@322335456 (0x133672e0) | mInflater = com.android.internal.policy.PhoneLayoutInflater@322330960 (0x13366150) | mOverrideConfiguration = null | mResources = android.content.res.Resources@319057632 (0x13046ee0) | mTheme = android.content.res.Resources$Theme@322335544 (0x13367338) | mThemeResource = 2131493012 | mBase = android.app.ContextImpl@322335656 (0x133673a8) | shadow$klass = com.supercilex.robotscouter.ui.scout.ScoutActivity | shadow$monitor = 1073746470

  • Excluded Refs: | Field: android.view.textservice.SpellCheckerSession$1.this$0 | Field: android.view.Choreographer$FrameDisplayEventReceiver.mMessageQueue (always) | Thread:FinalizerWatchdogDaemon (always) | Thread:main (always) | Thread:LeakCanary-Heap-Dump (always) | Class:java.lang.ref.WeakReference (always) | Class:java.lang.ref.SoftReference (always) | Class:java.lang.ref.PhantomReference (always) | Class:java.lang.ref.Finalizer (always) | Class:java.lang.ref.FinalizerReference (always)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/square/leakcanary/issues/776, or mute the thread https://github.com/notifications/unsubscribe-auth/AAEEEc3A541x_UhzYcQaI9ujrTjW_-prks5r_KOugaJpZM4Nq96U .

SUPERCILEX commented 7 years ago

K, SGTM.

https://issuetracker.google.com/issues/62204023

SUPERCILEX commented 7 years ago

Google hasn't marked my issue as fixed, but I can no longer repro on DP 3.

matejdro commented 5 years ago

I'm getting this one on Android 8.1.0 stable emulator