bluelinelabs / bluelinelabs/Conductor

MainActivity leaking from SharedElementTransitionChangeHandler

Open
#500 2 comments 1 reaction 0 assignees View on GitHub
Dominant language
Java
Stars
3.9k
Forks
338
PR merge metrics
No merged PRs in 30d

Description

Steps to reproduce

- Run the demo
- Navigate to Shared Element Demos
- Press `Chicago`
- Rotate the device

**Leak dump** In com.bluelinelabs.conductor.demo:1.0.0:1.
```
* com.bluelinelabs.conductor.demo.MainActivity has leaked:
* GC ROOT android.view.inputmethod.InputMethodManager$ControlledInputConnectionWrapper.mParentInputMethodManager
* references android.view.inputmethod.InputMethodManager.mNextServedView
* references android.support.v7.widget.RecyclerView.mContext
* references com.bluelinelabs.conductor.demo.MainActivity.router
* references com.bluelinelabs.conductor.ActivityHostedRouter.backstack
* references com.bluelinelabs.conductor.Backstack.backstack
* references java.util.ArrayDeque.elements
* references array java.lang.Object[].[13]
* references com.bluelinelabs.conductor.RouterTransaction.pushControllerChangeHandler
* references com.bluelinelabs.conductor.changehandler.TransitionChangeHandlerCompat.changeHandler
* references com.bluelinelabs.conductor.demo.changehandler.CityGridSharedElementTransitionChangeHandler.sharedElementTransition
* references android.transition.TransitionSet.mTargets
* references java.util.ArrayList.elementData
* references array java.lang.Object[].[0]
* references android.support.v7.widget.AppCompatTextView.mContext
* leaks com.bluelinelabs.conductor.demo.MainActivity instance

* Retaining: 2.0 kB.
* Reference Key: 660d6156-3991-420d-9a40-3bea14b5b04e
* Device: Google google Android SDK built for x86 sdk_gphone_x86
* Android Version: 9 API: 28 LeakCanary: 1.5.4 74837f0
* Durations: watch=5248ms, gc=107ms, heap dump=1504ms, analysis=10195ms

* Details:
* Instance of android.view.inputmethod.InputMethodManager$ControlledInputConnectionWrapper
| static $class$classFlags = 0
| static $class$classLoader = null
| static $class$numReferenceInstanceFields = 1
| static $class$primitiveType = 131072
| static $class$classSize = 396
| static $class$shadow$_klass_ = java.lang.Class
| static $class$copiedMethodsOffset = 5
| static $class$extData = null
| static $class$status = -536870912
| static $class$superClass = com.android.internal.view.IInputConnectionWrapper
| static $class$objectSize = 48
| static $class$numReferenceStaticFields = 0
| static $class$referenceInstanceOffsets = 755
| static $class$iFields = 1877843528
| static $class$virtualMethodsOffset = 1
| static $class$componentType = null
| static $class$methods = 1878760092
| static $class$dexCache = java.lang.DexCache@1873457480 (0x6faab148)
| static $class$ifTable = java.lang.Object[6]@1874306432 (0x6fb7a580)
| static $class$objectSizeAllocFastPath = 48
| static $class$sFields = 0
| static $class$name = java.lang.String@1877812504 (0x6fed2518)
| static $class$dexClassDefIndex = 6083
| static $class$shadow$_monitor_ = 536870912
| static $classOverhead = byte[272]@1874459489 (0x6fb9fb61)
| static $class$vtable = null
| static $class$accessFlags = 524288
| static $class$clinitThreadId = 0
| static $class$dexTypeIndex = 4904
| mParentInputMethodManager = android.view.inputmethod.InputMethodManager@316198880 (0x12d8cfe0)
| mFinished = false
| mH = com.android.internal.view.IInputConnectionWrapper$MyHandler@316239848 (0x12d96fe8)
| mInputConnection = android.view.inputmethod.BaseInputConnection@316239880 (0x12d97008)
| mLock = java.lang.Object@316239912 (0x12d97028)
| mMainLooper = android.os.Looper@316145936 (0x12d80110)
| mDescriptor = java.lang.String@1877409960 (0x6fe700a8)
| mObject = 3995477888
| mOwner = android.view.inputmethod.InputMethodManager$ControlledInputConnectionWrapper@316239552 (0x12d96ec0)
| shadow$_klass_ = android.view.inputmethod.InputMethodManager$ControlledInputConnectionWrapper
| shadow$_monitor_ = 0
* Instance of android.view.inputmethod.InputMethodManager
| static $class$classFlags = 0
| static $class$classLoader = null
| static CONTROL_START_INITIAL = 256
| static DEBUG = false
| static SHOW_IMPLICIT = 1
| static SHOW_IM_PICKER_MODE_INCLUDE_AUXILIARY_SUBTYPES = 1
| static $class$extData = null
| static $class$status = -536870912
| static SHOW_IM_PICKER_MODE_EXCLUDE_AUXILIARY_SUBTYPES = 2
| static MSG_REPORT_FULLSCREEN_MODE = 10
| static CONTROL_WINDOW_FIRST = 4
| static MSG_DUMP = 1
| static $class$iFields = 1878576072
| static RESULT_UNCHANGED_HIDDEN = 1
| static TAG = java.lang.String@1876988400 (0x6fe091f0)
| static $class$virtualMethodsOffset = 19
| static $class$componentType = null
| static MSG_UNBIND = 3
| static $class$dexCache = java.lang.DexCache@1873457480 (0x6faab148)
| static $class$ifTable = java.lang.Object[0]@1872218976 (0x6f97cb60)
| static $class$objectSizeAllocFastPath = 128
| static $class$sFields = 1878575524
| static $class$name = java.lang.String@1877500168 (0x6fe86108)
| static MSG_SEND_INPUT_EVENT = 5
| static RESULT_SHOWN = 2
| static INPUT_METHOD_NOT_RESPONDING_TIMEOUT = 2500
| static RESULT_HIDDEN = 3
| static DISPATCH_NOT_HANDLED = 0
| static $class$vtable = null
| static $class$accessFlags = 524305
| static $class$clinitThreadId = 0
| static HIDE_IMPLICIT_ONLY = 1
| static MSG_TIMEOUT_INPUT_EVENT = 6
| static CONTROL_WINDOW_VIEW_HAS_FOCUS = 1
| static MSG_BIND = 2
| static $class$numReferenceInstanceFields = 21
| static $class$primitiveType = 131072
| static REQUEST_UPDATE_CURSOR_ANCHOR_INFO_NONE = 0
| static $class$classSize = 645
| static $class$shadow$_klass_ = java.lang.Class
| static $class$copiedMethodsOffset = 103
| static $class$superClass = java.lang.Object
| static DISPATCH_IN_PROGRESS = -1
| static MSG_SET_USER_ACTION_NOTIFICATION_SEQUENCE_NUMBER = 9
| static SHOW_FORCED = 2
| static DISPATCH_HANDLED = 1
| static PENDING_EVENT_COUNTER = java.lang.String@1877166464 (0x6fe34980)
| static $class$objectSize = 128
| static MSG_FLUSH_INPUT_EVENT = 7
| static RESULT_UNCHANGED_SHOWN = 0
| static $class$numReferenceStaticFields = 3
| static $class$referenceInstanceOffsets = 2097151
| static CONTROL_WINDOW_IS_TEXT_EDITOR = 2
| static NOT_AN_ACTION_NOTIFICATION_SEQUENCE_NUMBER = -1
| static MSG_SET_ACTIVE = 4
| static sInstance = android.view.inputmethod.InputMethodManager@316198880 (0x12d8cfe0)
| static $class$methods = 1880395248
| static $class$dexClassDefIndex = 2166
| static $class$shadow$_monitor_ = 1851267488
| static $classOverhead = byte[384]@1874405577 (0x6fb928c9)
| static HIDE_NOT_ALWAYS = 2
| static SHOW_IM_PICKER_MODE_AUTO = 0
| static $class$dexTypeIndex = 4909
| mActive = true
| mBindSequence = 58
| mClient = android.view.inputmethod.InputMethodManager$1@316239520 (0x12d96ea0)
| mCompletions = null
| mCurChannel = android.view.InputChannel@317062688 (0x12e5fe20)
| mCurId = java.lang.String@317062704 (0x12e5fe30)
| mCurMethod = com.android.internal.view.IInputMethodSession$Stub$Proxy@317062800 (0x12e5fe90)
| mCurRootView = com.android.internal.policy.DecorView@316563120 (0x12de5eb0)
| mCurSender = null
| mCurrentTextBoxAttribute = android.view.inputmethod.EditorInfo@317062816 (0x12e5fea0)
| mCursorAnchorInfo = null
| mCursorCandEnd = 0
| mCursorCandStart = 0
| mCursorRect = android.graphics.Rect@317062888 (0x12e5fee8)
| mCursorSelEnd = 0
| mCursorSelStart = 0
| mDummyInputConnection = android.view.inputmethod.BaseInputConnection@316239880 (0x12d97008)
| mFullscreenMode = false
| mH = android.view.inputmethod.InputMethodManager$H@317062912 (0x12e5ff00)
| mIInputContext = android.view.inputmethod.InputMethodManager$ControlledInputConnectionWrapper@316239552 (0x12d96ec0)
| mLastSentUserActionNotificationSequenceNumber = -1
| mMainLooper = android.os.Looper@316145936 (0x12d80110)
| mNextServedView = android.support.v7.widget.RecyclerView@316543504 (0x12de1210)
| mNextUserActionNotificationSequenceNumber = 2
| mPendingEventPool = android.util.Pools$SimplePool@317062944 (0x12e5ff20)
| mPendingEvents = android.util.SparseArray@317062960 (0x12e5ff30)
| mRequestUpdateCursorAnchorInfoMonitorMode = 0
| mRestartOnNextWindowFocus = false
| mServedConnecting = false
| mServedInputConnectionWrapper = null
| mServedView = android.support.v7.widget.RecyclerView@316543504 (0x12de1210)
| mService = com.android.internal.view.IInputMethodManager$Stub$Proxy@317062984 (0x12e5ff48)
| mTmpCursorRect = android.graphics.Rect@317063000 (0x12e5ff58)
| shadow$_klass_ = android.view.inputmethod.InputMethodManager
| shadow$_monitor_ = 0
* Instance of android.support.v7.widget.RecyclerView
| static $class$classFlags = 0
| static $class$classLoader = dalvik.system.PathClassLoader@316193936 (0x12d8bc90)
| static DEBUG = false
| static $class$extData = null
| static $class$status = -536870912
| static TRACE_BIND_VIEW_TAG = java.lang.String@1877392496 (0x6fe6bc70)
| static TRACE_CREATE_VIEW_TAG = java.lang.String@1877392384 (0x6fe6bc00)
| static $class$iFields = 3986965816
| static IGNORE_DETACHED_FOCUSED_CHILD = false
| static TAG = java.lang.String@1876265400 (0x6fd589b8)
| static $class$virtualMethodsOffset = 46
| static $class$componentType = null
| static $class$dexCache = java.lang.DexCache@316242088 (0x12d978a8)
| static $class$ifTable = java.lang.Object[16]@316533080 (0x12dde958)
| static $class$objectSizeAllocFastPath = 864
| static SCROLL_STATE_DRAGGING = 1
| static $class$sFields = 3986965232
| static $class$name = java.lang.String@316533160 (0x12dde9a8)
| static LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE = java.lang.Class[4]@316533232 (0x12dde9f0)
| static ALLOW_THREAD_GAP_WORK = true
| static $class$vtable = null
| static $class$accessFlags = 524289
| static sQuinticInterpolator = android.support.v7.widget.RecyclerView$3@316533280 (0x12ddea20)
| static $class$clinitThreadId = 6316
| static TOUCH_SLOP_DEFAULT = 0
| static MAX_SCROLL_DURATION = 2000
| static DISPATCH_TEMP_DETACH = false
| static $class$numReferenceInstanceFields = 43
| static TRACE_HANDLE_ADAPTER_UPDATES_TAG = java.lang.String@1877392560 (0x6fe6bcb0)
| static $class$primitiveType = 131072
| static FOREVER_NS = 9223372036854775807
| static SCROLL_STATE_SETTLING = 2
| static $class$classSize = 4617
| static $class$shadow$_klass_ = java.lang.Class
| static TRACE_NESTED_PREFETCH_TAG = java.lang.String@1877392456 (0x6fe6bc48)
| static $class$copiedMethodsOffset = 228
| static SCROLL_STATE_IDLE = 0
| static $class$superClass = android.view.ViewGroup
| static FORCE_INVALIDATE_DISPLAY_LIST = false
| static HORIZONTAL = 0
| static POST_UPDATES_ON_ANIMATION = true
| static TRACE_PREFETCH_TAG = java.lang.String@1877392600 (0x6fe6bcd8)
| static $class$objectSize = 864
| static TRACE_ON_DATA_SET_CHANGE_LAYOUT_TAG = java.lang.String@1877392416 (0x6fe6bc20)
| static $class$numReferenceStaticFields = 13
| static $class$referenceInstanceOffsets = -1073741824
| static INVALID_POINTER = -1
| static ALLOW_SIZE_IN_UNSPECIFIED_SPEC = true
| static VERBOSE_TRACING = false
| static $class$methods = 3986966992
| static FORCE_ABS_FOCUS_SEARCH_DIRECTION = false
| static INVALID_TYPE = -1
| static DEFAULT_ORIENTATION = 1
| static TRACE_SCROLL_TAG = java.lang.String@1877392632 (0x6fe6bcf8)
| static TRACE_ON_LAYOUT_TAG = java.lang.String@1877392528 (0x6fe6bc90)
| static $class$dexClassDefIndex = 3952
| static $class$shadow$_monitor_ = 0
| static $classOverhead = byte[4368]@316331673 (0x12dad699)
| static NESTED_SCROLLING_ATTRS = int[1]@316533264 (0x12ddea10)
| static CLIP_TO_PADDING_ATTR = int[1]@316533216 (0x12dde9e0)
| static NO_POSITION = -1
| static NO_ID = -1
| static TOUCH_SLOP_PAGING = 1
| static $class$dexTypeIndex = 2253
| static VERTICAL = 1
| mAccessibilityDelegate = android.support.v7.widget.RecyclerViewAccessibilityDelegate@316544368 (0x12de1570)
| mAccessibilityManager = android.view.accessibility.AccessibilityManager@316200160 (0x12d8d4e0)
| mActiveOnItemTouchListener = null
| mAdapter = com.bluelinelabs.conductor.demo.controllers.CityDetailController$CityDetailAdapter@316544392 (0x12de1588)
| mAdapterHelper = android.support.v7.widget.AdapterHelper@316544432 (0x12de15b0)
| mAdapterUpdateDuringMeasure = false
| mBottomGlow = null
| mChildDrawingOrderCallback = null
| mChildHelper = android.support.v7.widget.ChildHelper@316544472 (0x12de15d8)
| mClipToPadding = true
| mDataSetHasChangedAfterLayout = false
| mDispatchItemsChangedEvent = false
| mDispatchScrollCounter = 0
| mEatenAccessibilityChangeFlags = 0
| mEdgeEffectFactory = android.support.v7.widget.RecyclerView$EdgeEffectFactory@316544496 (0x12de15f0)
| mEnableFastScroller = false
| mFirstLayoutComplete = true
| mGapWorker = android.support.v7.widget.GapWorker@316241544 (0x12d97688)
| mHasFixedSize = true
| mIgnoreMotionEventTillDown = false
| mInitialTouchX = 0
| mInitialTouchY = 0
| mInterceptRequestLayoutDepth = 0
| mIsAttached = true
| mItemAnimator = android.support.v7.widget.DefaultItemAnimator@316544504 (0x12de15f8)
| mItemAnimatorListener = android.support.v7.widget.RecyclerView$ItemAnimatorRestoreListener@316544600 (0x12de1658)
| mItemAnimatorRunner = android.support.v7.widget.RecyclerView$2@316544616 (0x12de1668)
| mItemDecorations = java.util.ArrayList@316544632 (0x12de1678)
| mItemsAddedOrRemoved = false
| mItemsChanged = false
| mLastTouchX = 0
| mLastTouchY = 0
| mLayout = android.support.v7.widget.LinearLayoutManager@316544656 (0x12de1690)
| mLayoutFrozen = false
| mLayoutOrScrollCounter = 0
| mLayoutWasDefered = false
| mLeftGlow = null
| mMaxFlingVelocity = 21000
| mMinFlingVelocity = 131
| mMinMaxLayoutPositions = int[2]@316544760 (0x12de16f8)
| mNestedOffsets = int[2]@316544784 (0x12de1710)
| mObserver = android.support.v7.widget.RecyclerView$RecyclerViewDataObserver@316544808 (0x12de1728)
| mOnChildAttachStateListeners = null
| mOnFlingListener = null
| mOnItemTouchListeners = java.util.ArrayList@316544824 (0x12de1738)
| mPendingAccessibilityImportanceChange = java.util.ArrayList@316544848 (0x12de1750)
| mPendingSavedState = null
| mPostedAnimatorRunner = false
| mPrefetchRegistry = android.support.v7.widget.GapWorker$LayoutPrefetchRegistryImpl@316544872 (0x12de1768)
| mPreserveFocusAfterLayout = true
| mRecycler = android.support.v7.widget.RecyclerView$Recycler@316544896 (0x12de1780)
| mRecyclerListener = null
| mRightGlow = null
| mScaledHorizontalScrollFactor = 168.0
| mScaledVerticalScrollFactor = 168.0
| mScrollConsumed = int[2]@316544944 (0x12de17b0)
| mScrollListener = null
| mScrollListeners = null
| mScrollOffset = int[2]@316544968 (0x12de17c8)
| mScrollPointerId = -1
| mScrollState = 0
| mScrollingChildHelper = android.support.v4.view.NestedScrollingChildHelper@316544992 (0x12de17e0)
| mState = android.support.v7.widget.RecyclerView$State@316545024 (0x12de1800)
| mTempRect = android.graphics.Rect@316545088 (0x12de1840)
| mTempRect2 = android.graphics.Rect@316545112 (0x12de1858)
| mTempRectF = android.graphics.RectF@316545136 (0x12de1870)
| mTopGlow = null
| mTouchSlop = 21
| mUpdateChildViewsRunnable = android.support.v7.widget.RecyclerView$1@316545160 (0x12de1888)
| mVelocityTracker = null
| mViewFlinger = android.support.v7.widget.RecyclerView$ViewFlinger@316545176 (0x12de1898)
| mViewInfoProcessCallback = android.support.v7.widget.RecyclerView$4@316545208 (0x12de18b8)
| mViewInfoStore = android.support.v7.widget.ViewInfoStore@316545224 (0x12de18c8)
| mAnimationListener = null
| mCachePaint = null
| mChildCountWithTransientState = 0
| mChildTransformation = null
| mChildUnhandledKeyListeners = 0
| mChildren = android.view.View[12]@316545240 (0x12de18d8)
| mChildrenCount = 1
| mChildrenInterestedInDrag = null
| mCurrentDragChild = null
| mCurrentDragStartEvent = null
| mDefaultFocus = null
| mDisappearingChildren = null
| mFirstHoverTarget = null
| mFirstTouchTarget = null
| mFocused = null
| mFocusedInCluster = null
| mGroupFlags = 2375763
| mHoveredSelf = false
| mInvalidateRegion = null
| mInvalidationTransformation = null
| mIsInterestedInDrag = false
| mLastTouchDownIndex = -1
| mLastTouchDownTime = 0
| mLastTouchDownX = 0.0
| mLastTouchDownY = 0.0
| mLayoutAnimationController = null
| mLayoutCalledWhileSuppressed = false
| mLayoutMode = -1
| mLayoutTransitionListener = android.view.ViewGroup$4@316545304 (0x12de1918)
| mLocalPoint = null
| mNestedScrollAxes = 0
| mOnHierarchyChangeListener = null
| mPersistentDrawingCache = 2
| mPreSortedChildren = null
| mSuppressLayout = false
| mTempPoint = null
| mTooltipHoverTarget = null
| mTooltipHoveredSelf = false
| mTransientIndices = null
| mTransientViews = null
| mTransition = null
| mTransitioningViews = null
| mVisibilityChangingChildren = null
| mAccessibilityCursorPosition = -1
| mAccessibilityDelegate = android.support.v4.view.AccessibilityDelegateCompat$AccessibilityDelegateApi16Impl$1@316545320 (0x12de1928)
| mAccessibilityPaneTitle = null
| mAccessibilityTraversalAfterId = -1
| mAccessibilityTraversalBeforeId = -1
| mAccessibilityViewId = -1
| mAnimator = null
| mAttachInfo = android.view.View$AttachInfo@316545336 (0x12de1938)
| mAttributes = null
| mAutofillHints = null
| mAutofillId = null
| mAutofillViewId = -1
| mBackground = null
| mBackgroundRenderNode = null
| mBackgroundResource = 0
| mBackgroundSizeChanged = true
| mBackgroundTint = null
| mBottom = 891
| mCachingFailed = false
| mClipBounds = null
| mContentDescription = null
| mContext = com.bluelinelabs.conductor.demo.MainActivity@316545600 (0x12de1a40)
| mCurrentAnimation = null
| mDefaultFocusHighlight = null
| mDefaultFocusHighlightCache = null
| mDefaultFocusHighlightEnabled = true
| mDefaultFocusHighlightSizeChanged = true
| mDrawableState = int[4]@1874159696 (0x6fb56850)
| mDrawingCache = null
| mDrawingCacheBackgroundColor = 0
| mFloatingTreeObserver = null
| mForegroundInfo = null
| mFrameMetricsObservers = null
| mGhostView = null
| mHasPerformedLongPress = false
| mID = 2131296401
| mIgnoreNextUpEvent = false
| mInContextButtonPress = false
| mInputEventConsistencyVerifier = null
| mKeyedTags = null
| mLabelForId = -1
| mLastIsOpaque = false
| mLayerPaint = null
| mLayerType = 0
| mLayoutInsets = null
| mLayoutParams = android.widget.FrameLayout$LayoutParams@316545888 (0x12de1b60)
| mLeft = 0
| mLeftPaddingDefined = false
| mListenerInfo = android.view.View$ListenerInfo@316545944 (0x12de1b98)
| mLongClickX = NaN
| mLongClickY = NaN
| mMatchIdPredicate = null
| mMatchLabelForPredicate = null
| mMeasureCache = android.util.LongSparseLongArray@316546024 (0x12de1be8)
| mMeasuredHeight = 891
| mMeasuredWidth = 1794
| mMinHeight = 0
| mMinWidth = 0
| mNestedScrollingParent = null
| mNextClusterForwardId = -1
| mNextFocusDownId = -1
| mNextFocusForwardId = -1
| mNextFocusLeftId = -1
| mNextFocusRightId = -1
| mNextFocusUpId = -1
| mOldHeightMeasureSpec = 1073742715
| mOldWidthMeasureSpec = 1073743618
| mOutlineProvider = android.view.ViewOutlineProvider$1@1873615368 (0x6fad1a08)
| mOverScrollMode = 1
| mOverlay = null
| mPaddingBottom = 0
| mPaddingLeft = 0
| mPaddingRight = 0
| mPaddingTop = 0
| mParent = com.bluelinelabs.conductor.ChangeHandlerFrameLayout@316546048 (0x12de1c00)
| mPendingCheckForLongPress = null
| mPendingCheckForTap = null
| mPerformClick = null
| mPointerIcon = null
| mPrivateFlags = 18516018
| mPrivateFlags2 = 1611867688
| mPrivateFlags3 = 536870916
| mRecreateDisplayList = false
| mRenderNode = android.view.RenderNode@316546696 (0x12de1e88)
| mResources = android.content.res.Resources@316546720 (0x12de1ea0)
| mRight = 1794
| mRightPaddingDefined = false
| mRoundScrollbarRenderer = null
| mRunQueue = null
| mScrollCache = null
| mScrollIndicatorDrawable = null
| mScrollX = 0
| mScrollY = 0
| mSendViewScrolledAccessibilityEvent = null
| mSendingHoverAccessibilityEvents = false
| mStartActivityRequestWho = null
| mStateListAnimator = null
| mSystemUiVisibility = 0
| mTag = null
| mTempNestedScrollConsumed = null
| mTooltipInfo = null
| mTop = 0
| mTouchDelegate = null
| mTouchSlop = 21
| 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 = 402915329
| mVisibilityChangeForAutofillHandler = null
| mWindowAttachCount = 1
| shadow$_klass_ = android.support.v7.widget.RecyclerView
| shadow$_monitor_ = 0
* Instance of com.bluelinelabs.conductor.demo.MainActivity
| static $class$classFlags = 0
| static $class$classLoader = dalvik.system.PathClassLoader@316193936 (0x12d8bc90)
| static $class$numReferenceInstanceFields = 3
| static $class$primitiveType = 131072
| static $class$classSize = 2304
| static $class$shadow$_klass_ = java.lang.Class
| static $class$copiedMethodsOffset = 3
| static $class$extData = null
| static $class$status = -536870912
| static $class$superClass = android.support.v7.app.AppCompatActivity
| static $class$objectSize = 288
| static $class$numReferenceStaticFields = 0
| static $class$referenceInstanceOffsets = -1073741824
| static $class$iFields = 3996193848
| static $class$virtualMethodsOffset = 1
| static $class$componentType = null
| static $class$methods = 3996193904
| static $class$dexCache = java.lang.DexCache@316242088 (0x12d978a8)
| static $class$ifTable = java.lang.Object[36]@316501832 (0x12dd6f48)
| static $class$objectSizeAllocFastPath = 288
| static $class$sFields = 0
| static $class$name = java.lang.String@316501992 (0x12dd6fe8)
| static $class$dexClassDefIndex = 5793
| static $class$shadow$_monitor_ = -1943744423
| static $classOverhead = byte[2180]@316417657 (0x12dc2679)
| static $class$vtable = null
| static $class$accessFlags = 524305
| static $class$clinitThreadId = 6316
| static $class$dexTypeIndex = 2738
| container = com.bluelinelabs.conductor.ChangeHandlerFrameLayout@316546048 (0x12de1c00)
| router = com.bluelinelabs.conductor.ActivityHostedRouter@316655480 (0x12dfc778)
| toolbar = android.support.v7.widget.Toolbar@316619392 (0x12df3a80)
| mDelegate = android.support.v7.app.AppCompatDelegateImplN@316629672 (0x12df62a8)
| mResources = null
| mThemeId = 2131689478
| mCreated = true
| mFragments = android.support.v4.app.FragmentController@317040992 (0x12e5a960)
| mHandler = android.support.v4.app.FragmentActivity$1@317041008 (0x12e5a970)
| mLoaderManager = null
| mNextCandidateRequestIndex = 0
| mPendingFragmentActivityResults = android.support.v4.util.SparseArrayCompat@317041040 (0x12e5a990)
| mReallyStopped = false
| mRequestedPermissionsFromFragment = false
| mResumed = true
| mRetaining = false
| mStopped = false
| mViewModelStore = null
| mStartedActivityFromFragment = false
| mStartedIntentSenderFromFragment = false
| mExtraDataMap = android.support.v4.util.SimpleArrayMap@317041064 (0x12e5a9a8)
| mLifecycleRegistry = android.arch.lifecycle.LifecycleRegistry@317041088 (0x12e5a9c0)
| mActionBar = null
| mActionModeTypeStarting = 0
| mActivityInfo = android.content.pm.ActivityInfo@316607800 (0x12df0d38)
| mActivityTransitionState = android.app.ActivityTransitionState@317041120 (0x12e5a9e0)
| mApplication = com.bluelinelabs.conductor.demo.DemoApplication@316200064 (0x12d8d480)
| mAutoFillIgnoreFirstResumePause = false
| mAutoFillResetNeeded = false
| mAutofillManager = null
| mAutofillPopupWindow = null
| mCalled = true
| mCanEnterPictureInPicture = true
| mChangeCanvasToTranslucent = false
| mChangingConfigurations = false
| mComponent = android.content.ComponentName@316612000 (0x12df1da0)
| mConfigChangeFlags = 0
| mCurrentConfig = android.content.res.Configuration@317041176 (0x12e5aa18)
| mDecor = com.android.internal.policy.DecorView@316563120 (0x12de5eb0)
| mDefaultKeyMode = 0
| mDefaultKeySsb = null
| mDestroyed = false
| mDoReportFullyDrawn = true
| mEmbeddedID = null
| mEnableDefaultActionBarUp = false
| mEnterTransitionListener = android.app.SharedElementCallback$1@1873553680 (0x6fac2910)
| mExitTransitionListener = android.app.SharedElementCallback$1@1873553680 (0x6fac2910)
| mFinished = false
| mFragments = android.app.FragmentController@317041288 (0x12e5aa88)
| mHandler = android.os.Handler@316657584 (0x12dfcfb0)
| mHasCurrentPermissionsRequest = false
| mIdent = 258739838
| mInstanceTracker = android.os.StrictMode$InstanceTracker@317041304 (0x12e5aa98)
| mInstrumentation = android.app.Instrumentation@316666896 (0x12dff410)
| mIntent = android.content.Intent@316607976 (0x12df0de8)
| mLastAutofillId = 1073741823
| mLastNonConfigurationInstances = null
| mMainThread = android.app.ActivityThread@316146104 (0x12d801b8)
| mManagedCursors = java.util.ArrayList@317041320 (0x12e5aaa8)
| mManagedDialogs = null
| mMenuInflater = null
| mParent = null
| mReferrer = null
| mRestoredFromBundle = true
| mResultCode = 0
| mResultData = null
| mResumed = true
| mSearchEvent = null
| mSearchManager = null
| mStartedActivity = false
| mStopped = false
| mTaskDescription = android.app.ActivityManager$TaskDescription@317041344 (0x12e5aac0)
| mTemporaryPause = false
| mTitle = java.lang.String@316551968 (0x12de3320)
| mTitleColor = 0
| mTitleReady = true
| mToken = android.os.BinderProxy@316567768 (0x12de70d8)
| mTranslucentCallback = null
| mUiThread = java.lang.Thread@1944637280 (0x73e8cf60)
| mVisibleFromClient = true
| mVisibleFromServer = true
| mVoiceInteractor = null
| mWindow = com.android.internal.policy.PhoneWindow@316564568 (0x12de6458)
| mWindowAdded = true
| mWindowManager = android.view.WindowManagerImpl@316617224 (0x12df3208)
| mInflater = com.android.internal.policy.PhoneLayoutInflater@316616760 (0x12df3038)
| mOverrideConfiguration = null
| mResources = android.content.res.Resources@316546720 (0x12de1ea0)
| mTheme = android.content.res.Resources$Theme@316617312 (0x12df3260)
| mThemeResource = 2131689478
| mBase = android.app.ContextImpl@316617424 (0x12df32d0)
| shadow$_klass_ = com.bluelinelabs.conductor.demo.MainActivity
| shadow$_monitor_ = -2067907009
* Instance of com.bluelinelabs.conductor.ActivityHostedRouter
| static $class$classFlags = 0
| static $class$classLoader = dalvik.system.PathClassLoader@316193936 (0x12d8bc90)
| static $class$numReferenceInstanceFields = 2
| static $class$primitiveType = 131072
| static $class$classSize = 408
| static $class$shadow$_klass_ = java.lang.Class
| static $class$copiedMethodsOffset = 20
| static $class$extData = null
| static $class$status = -536870912
| static $class$superClass = com.bluelinelabs.conductor.Router
| static $class$objectSize = 40
| static $class$numReferenceStaticFields = 0
| static $class$referenceInstanceOffsets = 223
| static $class$iFields = 3986949752
| static $class$virtualMethodsOffset = 1
| static $class$componentType = null
| static $class$methods = 3986949792
| static $class$dexCache = java.lang.DexCache@316242088 (0x12d978a8)
| static $class$ifTable = java.lang.Object[0]@1872218976 (0x6f97cb60)
| static $class$objectSizeAllocFastPath = 40
| static $class$sFields = 0
| static $class$name = null
| static $class$dexClassDefIndex = 2823
| static $class$shadow$_monitor_ = 0
| static $classOverhead = byte[284]@316394153 (0x12dbcaa9)
| static $class$vtable = null
| static $class$accessFlags = 524289
| static $class$clinitThreadId = 6316
| static $class$dexTypeIndex = 2664
| lifecycleHandler = com.bluelinelabs.conductor.internal.LifecycleHandler@316656008 (0x12dfc988)
| transactionIndexer = com.bluelinelabs.conductor.internal.TransactionIndexer@316656152 (0x12dfca18)
| backstack = com.bluelinelabs.conductor.Backstack@316655920 (0x12dfc930)
| changeListeners = java.util.ArrayList@316655936 (0x12dfc940)
| container = com.bluelinelabs.conductor.ChangeHandlerFrameLayout@316546048 (0x12de1c00)
| containerFullyAttached = true
| destroyingControllers = java.util.ArrayList@316655960 (0x12dfc958)
| isActivityStopped = false
| pendingControllerChanges = java.util.ArrayList@316655984 (0x12dfc970)
| popsLastView = false
| shadow$_klass_ = com.bluelinelabs.conductor.ActivityHostedRouter
| shadow$_monitor_ = 0
* Instance of com.bluelinelabs.conductor.Backstack
| static $class$classFlags = 0
| static $class$classLoader = dalvik.system.PathClassLoader@316193936 (0x12d8bc90)
| static KEY_ENTRIES = java.lang.String@316224064 (0x12d93240)
| static $class$numReferenceInstanceFields = 1
| static $class$primitiveType = 131072
| static $class$classSize = 240
| static $class$shadow$_klass_ = java.lang.Class
| static $class$copiedMethodsOffset = 15
| static $class$extData = null
| static $class$status = -536870912
| static $class$superClass = java.lang.Object
| static $class$objectSize = 12
| static $class$numReferenceStaticFields = 1
| static $class$referenceInstanceOffsets = 1
| static $class$iFields = 3986950784
| static $class$virtualMethodsOffset = 1
| static $class$componentType = null
| static $class$methods = 3986950808
| static $class$dexCache = java.lang.DexCache@316242088 (0x12d978a8)
| static $class$ifTable = java.lang.Object[2]@316506952 (0x12dd8348)
| static $class$objectSizeAllocFastPath = 16
| static $class$sFields = 3986950760
| static $class$name = null
| static $class$dexClassDefIndex = 1505
| static $class$shadow$_monitor_ = 0
| static $classOverhead = byte[112]@316394561 (0x12dbcc41)
| static $class$vtable = null
| static $class$accessFlags = 524288
| static $class$clinitThreadId = 6316
| static $class$dexTypeIndex = 2665
| backstack = java.util.ArrayDeque@316660248 (0x12dfda18)
| shadow$_klass_ = com.bluelinelabs.conductor.Backstack
| shadow$_monitor_ = 0
* Instance of java.util.ArrayDeque
| static $class$classFlags = 0
| static $class$classLoader = null
| static serialVersionUID = 2340985798034038923
| static $class$numReferenceInstanceFields = 1
| static $class$primitiveType = 131072
| static $class$classSize = 353
| static $class$shadow$_klass_ = java.lang.Class
| static $class$copiedMethodsOffset = 44
| static $class$extData = null
| static $class$status = -536870912
| static $class$superClass = java.util.AbstractCollection
| static $class$objectSize = 20
| static $class$numReferenceStaticFields = 0
| static $class$referenceInstanceOffsets = 1
| static $class$iFields = 1869859576
| static $class$virtualMethodsOffset = 9
| static $class$componentType = null
| static $class$methods = 1870310340
| static $class$dexCache = java.lang.DexCache@1868579056 (0x6f6040f0)
| static $class$ifTable = java.lang.Object[12]@1868710416 (0x6f624210)
| static $class$objectSizeAllocFastPath = 24
| static $class$sFields = 1869859524
| static $class$name = java.lang.String@1869674448 (0x6f70f7d0)
| static $class$dexClassDefIndex = 3075
| static $class$shadow$_monitor_ = 536870912
| static $classOverhead = byte[216]@1869216953 (0x6f69fcb9)
| static $class$vtable = null
| static $class$accessFlags = 524289
| static $class$clinitThreadId = 0
| static $assertionsDisabled = false
| static $class$dexTypeIndex = 1410
| static MIN_INITIAL_CAPACITY = 8
| elements = java.lang.Object[16]@316660272 (0x12dfda30)
| head = 13
| tail = 0
| shadow$_klass_ = java.util.ArrayDeque
| shadow$_monitor_ = 0
* Array of java.lang.Object[]
| [0] = null
| [1] = null
| [2] = null
| [3] = null
| [4] = null
| [5] = null
| [6] = null
| [7] = null
| [8] = null
| [9] = null
| [10] = null
| [11] = null
| [12] = null
| [13] = com.bluelinelabs.conductor.RouterTransaction@316660352 (0x12dfda80)
| [14] = com.bluelinelabs.conductor.RouterTransaction@316660384 (0x12dfdaa0)
| [15] = com.bluelinelabs.conductor.RouterTransaction@316660416 (0x12dfdac0)
* Instance of com.bluelinelabs.conductor.RouterTransaction
| static $class$classFlags = 0
| static $class$classLoader = dalvik.system.PathClassLoader@316193936 (0x12d8bc90)
| static $class$numReferenceInstanceFields = 4
| static KEY_ATTACHED_TO_ROUTER = java.lang.String@316231240 (0x12d94e48)
| static $class$primitiveType = 131072
| static $class$classSize = 240
| static $class$shadow$_klass_ = java.lang.Class
| static $class$copiedMethodsOffset = 14
| static $class$extData = null
| static $class$status = -536870912
| static $class$superClass = java.lang.Object
| static $class$objectSize = 29
| static $class$numReferenceStaticFields = 6
| static INVALID_INDEX = -1
| static $class$referenceInstanceOffsets = 15
| static $class$iFields = 3996231360
| static $class$virtualMethodsOffset = 4
| static $class$componentType = null
| static $class$methods = 3996231464
| static $class$dexCache = java.lang.DexCache@316242088 (0x12d978a8)
| static $class$ifTable = java.lang.Object[0]@1872218976 (0x6f97cb60)
| static $class$objectSizeAllocFastPath = 32
| static $class$sFields = 3996231240
| static $class$name = null
| static $class$dexClassDefIndex = 1522
| static KEY_POP_TRANSITION = java.lang.String@316208320 (0x12d8f4c0)
| static $class$shadow$_monitor_ = 0
| static KEY_PUSH_TRANSITION = java.lang.String@316214752 (0x12d90de0)
| static $classOverhead = byte[88]@316660449 (0x12dfdae1)
| static KEY_VIEW_CONTROLLER_BUNDLE = java.lang.String@316221552 (0x12d92870)
| static $class$vtable = null
| static $class$accessFlags = 524289
| static $class$clinitThreadId = 6316
| static KEY_TAG = java.lang.String@316206176 (0x12d8ec60)
| static $class$dexTypeIndex = 2694
| static KEY_INDEX = java.lang.String@316227888 (0x12d94130)
| attachedToRouter = true
| controller = com.bluelinelabs.conductor.demo.controllers.CityDetailController@316655184 (0x12dfc650)
| popControllerChangeHandler = com.bluelinelabs.conductor.changehandler.TransitionChangeHandlerCompat@316983448 (0x12e4c898)
| pushControllerChangeHandler = com.bluelinelabs.conductor.changehandler.TransitionChangeHandlerCompat@316983464 (0x12e4c8a8)
| tag = null
| transactionIndex = 5
| shadow$_klass_ = com.bluelinelabs.conductor.RouterTransaction
| shadow$_monitor_ = 0
* Instance of com.bluelinelabs.conductor.changehandler.TransitionChangeHandlerCompat
| static $class$classFlags = 0
| static $class$classLoader = dalvik.system.PathClassLoader@316193936 (0x12d8bc90)
| static $class$numReferenceInstanceFields = 1
| static $class$primitiveType = 131072
| static KEY_CHANGE_HANDLER_CLASS = java.lang.String@316227448 (0x12d93f78)
| static $class$classSize = 220
| static $class$shadow$_klass_ = java.lang.Class
| static $class$copiedMethodsOffset = 10
| static $class$extData = null
| static $class$status = -536870912
| static $class$superClass = com.bluelinelabs.conductor.ControllerChangeHandler
| static $class$objectSize = 16
| static $class$numReferenceStaticFields = 2
| static $class$referenceInstanceOffsets = 2
| static $class$iFields = 3986958688
| static $class$virtualMethodsOffset = 2
| static $class$componentType = null
| static $class$methods = 3986958712
| static $class$dexCache = java.lang.DexCache@316242088 (0x12d978a8)
| static $class$ifTable = java.lang.Object[0]@1872218976 (0x6f97cb60)
| static $class$objectSizeAllocFastPath = 16
| static $class$sFields = 3986958648
| static $class$name = java.lang.String@316502224 (0x12dd70d0)
| static $class$dexClassDefIndex = 2845
| static $class$shadow$_monitor_ = 0
| static $classOverhead = byte[88]@316416377 (0x12dc2179)
| static $class$vtable = null
| static $class$accessFlags = 524289
| static $class$clinitThreadId = 6316
| static KEY_HANDLER_STATE = java.lang.String@316213160 (0x12d907a8)
| static $class$dexTypeIndex = 2733
| changeHandler = com.bluelinelabs.conductor.demo.changehandler.CityGridSharedElementTransitionChangeHandler@316983480 (0x12e4c8b8)
| forceRemoveViewOnPush = false
| hasBeenUsed = true
| shadow$_klass_ = com.bluelinelabs.conductor.changehandler.TransitionChangeHandlerCompat
| shadow$_monitor_ = 0
* Instance of com.bluelinelabs.conductor.demo.changehandler.CityGridSharedElementTransitionChangeHandler
| static $class$classFlags = 0
| static $class$classLoader = dalvik.system.PathClassLoader@316193936 (0x12d8bc90)
| static $class$numReferenceInstanceFields = 1
| static $class$primitiveType = 131072
| static $class$classSize = 300
| static $class$shadow$_klass_ = java.lang.Class
| static $class$copiedMethodsOffset = 8
| static $class$extData = null
| static $class$status = -536870912
| static $class$superClass = com.bluelinelabs.conductor.changehandler.SharedElementTransitionChangeHandler
| static $class$objectSize = 48
| static KEY_WAIT_FOR_TRANSITION_NAMES = java.lang.String@316232864 (0x12d954a0)
| static $class$numReferenceStaticFields = 1
| static $class$referenceInstanceOffsets = 1022
| static $class$iFields = 3955559944
| static $class$virtualMethodsOffset = 2
| static $class$componentType = null
| static $class$methods = 3955559968
| static $class$dexCache = java.lang.DexCache@316242088 (0x12d978a8)
| static $class$ifTable = java.lang.Object[0]@1872218976 (0x6f97cb60)
| static $class$objectSizeAllocFastPath = 48
| static $class$sFields = 3955559920
| static $class$name = java.lang.String@316501280 (0x12dd6d20)
| static $class$dexClassDefIndex = 4922
| static $class$shadow$_monitor_ = 0
| static $classOverhead = byte[172]@316421857 (0x12dc36e1)
| static $class$vtable = null
| static $class$accessFlags = 524289
| static $class$clinitThreadId = 6316
| static $class$dexTypeIndex = 2762
| names = java.util.ArrayList@316984072 (0x12e4cb08)
| enterTransition = android.transition.Slide@316983528 (0x12e4c8e8)
| enterTransitionCallback = null
| exitTransition = android.transition.Explode@316983688 (0x12e4c988)
| exitTransitionCallback = null
| removedViews = java.util.ArrayList@316983840 (0x12e4ca20)
| sharedElementNames = android.util.ArrayMap@316983864 (0x12e4ca38)
| sharedElementTransition = android.transition.TransitionSet@316983896 (0x12e4ca58)
| waitForTransitionNames = java.util.ArrayList@316984048 (0x12e4caf0)
| canceled = false
| needsImmediateCompletion = false
| forceRemoveViewOnPush = false
| hasBeenUsed = false
| shadow$_klass_ = com.bluelinelabs.conductor.demo.changehandler.CityGridSharedElementTransitionChangeHandler
| shadow$_monitor_ = 0
* Instance of android.transition.TransitionSet
| static $class$classFlags = 0
| static $class$classLoader = null
| static $class$numReferenceInstanceFields = 1
| static $class$primitiveType = 131072
| static $class$classSize = 524
| static $class$shadow$_klass_ = java.lang.Class
| static $class$copiedMethodsOffset = 58
| static $class$extData = null
| static $class$status = -536870912
| static $class$superClass = android.transition.Transition
| static $class$objectSize = 149
| static $class$numReferenceStaticFields = 0
| static $class$referenceInstanceOffsets = -1073741824
| static $class$iFields = 1878225912
| static $class$virtualMethodsOffset = 3
| static $class$componentType = null
| static $class$methods = 1879651344
| static $class$dexCache = java.lang.DexCache@1873457480 (0x6faab148)
| static ORDERING_SEQUENTIAL = 1
| static $class$ifTable = java.lang.Object[2]@1873559096 (0x6fac3e38)
| static $class$objectSizeAllocFastPath = 152
| static $class$sFields = 1878225876
| static $class$name = java.lang.String@1877646912 (0x6fea9e40)
| static $class$dexClassDefIndex = 3994
| static $class$shadow$_monitor_ = 536870912
| static $classOverhead = byte[392]@1875114009 (0x6fc3f819)
| static $class$vtable = null
| static $class$accessFlags = 524289
| static $class$clinitThreadId = 0
| static ORDERING_TOGETHER = 0
| static $class$dexTypeIndex = 4012
| mCurrentListeners = 0
| mPlayTogether = true
| mStarted = false
| mTransitions = java.util.ArrayList@316984176 (0x12e4cb70)
| mAnimators = java.util.ArrayList@316984200 (0x12e4cb88)
| mCanRemoveViews = false
| mCurrentAnimators = java.util.ArrayList@316984224 (0x12e4cba0)
| mDuration = -1
| mEndValues = android.transition.TransitionValuesMaps@316984248 (0x12e4cbb8)
| mEndValuesList = null
| mEnded = false
| mEpicenterCallback = com.bluelinelabs.conductor.internal.TransitionUtils$1@316984272 (0x12e4cbd0)
| mInterpolator = null
| mListeners = null
| mMatchOrder = int[4]@1874067400 (0x6fb3ffc8)
| mName = java.lang.String@1877646912 (0x6fea9e40)
| mNameOverrides = null
| mNumInstances = 0
| mParent = android.transition.TransitionSet@316984288 (0x12e4cbe0)
| mPathMotion = android.transition.Transition$1@1874067432 (0x6fb3ffe8)
| mPaused = false
| mPropagation = null
| mSceneRoot = null
| mStartDelay = -1
| mStartValues = android.transition.TransitionValuesMaps@316984440 (0x12e4cc78)
| mStartValuesList = null
| mTargetChildExcludes = null
| mTargetExcludes = null
| mTargetIdChildExcludes = null
| mTargetIdExcludes = null
| mTargetIds = java.util.ArrayList@316984464 (0x12e4cc90)
| mTargetNameExcludes = null
| mTargetNames = null
| mTargetTypeChildExcludes = null
| mTargetTypeExcludes = null
| mTargetTypes = null
| mTargets = java.util.ArrayList@316984488 (0x12e4cca8)
| shadow$_klass_ = android.transition.TransitionSet
| shadow$_monitor_ = 0
* Instance of java.util.ArrayList
| static $class$classFlags = 0
| static $class$classLoader = null
| static serialVersionUID = 8683452581122892189
| static $class$numReferenceInstanceFields = 1
| static $class$primitiveType = 131072
| static $class$classSize = 328
| static $class$shadow$_klass_ = java.lang.Class
| static $class$copiedMethodsOffset = 46
| static $class$extData = null
| static $class$status = -536870912
| static $class$superClass = java.util.AbstractList
| static DEFAULTCAPACITY_EMPTY_ELEMENTDATA = java.lang.Object[0]@1873612752 (0x6fad0fd0)
| static $class$objectSize = 20
| static $class$numReferenceStaticFields = 2
| static $class$referenceInstanceOffsets = 2
| static $class$iFields = 1869768712
| static $class$virtualMethodsOffset = 15
| static $class$componentType = null
| static $class$methods = 1869907012
| static $class$dexCache = java.lang.DexCache@1868579056 (0x6f6040f0)
| static $class$ifTable = java.lang.Object[12]@1868878536 (0x6f64d2c8)
| static $class$objectSizeAllocFastPath = 24
| static DEFAULT_CAPACITY = 10
| static MAX_ARRAY_SIZE = 2147483639
| static $class$sFields = 1869768628
| static $class$name = java.lang.String@1869764608 (0x6f725800)
| static $class$dexClassDefIndex = 3077
| static EMPTY_ELEMENTDATA = java.lang.Object[0]@1871038528 (0x6f85c840)
| static $class$shadow$_monitor_ = 536870912
| static $classOverhead = byte[180]@1868907513 (0x6f6543f9)
| static $class$vtable = null
| static $class$accessFlags = 524289
| static $class$clinitThreadId = 0
| static $class$dexTypeIndex = 1417
| elementData = java.lang.Object[10]@316984512 (0x12e4ccc0)
| size = 3
| modCount = 6
| shadow$_klass_ = java.util.ArrayList
| shadow$_monitor_ = 0
* Array of java.lang.Object[]
| [0] = android.support.v7.widget.AppCompatTextView@316832592 (0x12e27b50)
| [1] = android.support.v7.widget.AppCompatImageView@316832024 (0x12e27918)
| [2] = android.view.View@316984568 (0x12e4ccf8)
| [3] = null
| [4] = null
| [5] = null
| [6] = null
| [7] = null
| [8] = null
| [9] = null
* Instance of android.support.v7.widget.AppCompatTextView
| static $class$classFlags = 0
| static $class$classLoader = dalvik.system.PathClassLoader@316193936 (0x12d8bc90)
| static $class$numReferenceInstanceFields = 2
| static $class$primitiveType = 131072
| static $class$classSize = 4556
| static $class$shadow$_klass_ = java.lang.Class
| static $class$copiedMethodsOffset = 23
| static $class$extData = null
| static $class$status = -536870912
| static $class$superClass = android.widget.TextView
| static $class$objectSize = 820
| static $class$numReferenceStaticFields = 0
| static $class$referenceInstanceOffsets = -1073741824
| static $class$iFields = 3987202528
| static $class$virtualMethodsOffset = 3
| static $class$componentType = null
| static $class$methods = 3987202568
| static $class$dexCache = java.lang.DexCache@316242088 (0x12d978a8)
| static $class$ifTable = java.lang.Object[12]@316539440 (0x12de0230)
| static $class$objectSizeAllocFastPath = 824
| static $class$sFields = 0
| static $class$name = java.lang.String@316539504 (0x12de0270)
| static $class$dexClassDefIndex = 2771
| static $class$shadow$_monitor_ = -2046123651
| static $classOverhead = byte[4432]@316296017 (0x12da4b51)
| static $class$vtable = null
| static $class$accessFlags = 524289
| static $class$clinitThreadId = 6316
| static $class$dexTypeIndex = 2116
| mBackgroundTintHelper = android.support.v7.widget.AppCompatBackgroundHelper@316833416 (0x12e27e88)
| mTextHelper = android.support.v7.widget.AppCompatTextHelperV17@316833448 (0x12e27ea8)
| mAllowTransformationLengthChange = false
| mAutoLinkMask = 0
| mAutoSizeMaxTextSizeInPx = -1.0
| mAutoSizeMinTextSizeInPx = -1.0
| mAutoSizeStepGranularityInPx = -1.0
| mAutoSizeTextSizesInPx = int[0]@1873541136 (0x6fabf810)
| mAutoSizeTextType = 0
| mBoring = android.text.BoringLayout$Metrics@316833504 (0x12e27ee0)
| mBreakStrategy = 1
| mBufferType = android.widget.TextView$BufferType@1874220800 (0x6fb65700)
| mChangeWatcher = null
| mCharWrapper = null
| mCurHintTextColor = 1627389952
| mCurTextColor = -570425344
| mCurrentSpellCheckerLocaleCache = null
| mCursorDrawableRes = 17303621
| mDeferScroll = -1
| mDesiredHeightAtMeasure = 78
| mDeviceProvisionedState = 0
| mDrawables = null
| mEditableFactory = android.text.Editable$Factory@1873850464 (0x6fb0b060)
| mEditor = null
| mEllipsize = null
| mFilters = android.text.InputFilter[0]@1873873856 (0x6fb10bc0)
| mFreezesText = false
| mGravity = 8388659
| mHasPresetAutoSizeValues = false
| mHighlightColor = 1712944850
| mHighlightPaint = android.graphics.Paint@316833536 (0x12e27f00)
| mHighlightPath = null
| mHighlightPathBogus = true
| mHint = null
| mHintBoring = null
| mHintLayout = null
| mHintTextColor = android.content.res.ColorStateList@316826544 (0x12e263b0)
| mHorizontallyScrolling = false
| mHyphenationFrequency = 1
| mIncludePad = true
| mJustificationMode = 0
| mLastLayoutDirection = -1
| mLastScroll = 0
| mLastValueSentToAutofillManager = null
| mLayout = android.text.BoringLayout@316833640 (0x12e27f68)
| mLinkTextColor = android.content.res.ColorStateList@316628744 (0x12df5f08)
| 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 = null
| mNeedsAutoSizeText = false
| mOldMaxMode = 1
| mOldMaximum = 2147483647
| mPreDrawListenerDetached = false
| mPreDrawRegistered = false
| mPrecomputed = null
| mPreventDefaultMovement = false
| mRestartMarquee = false
| mSavedHintLayout = null
| mSavedLayout = android.text.BoringLayout@316833640 (0x12e27f68)
| mSavedMarqueeModeLayout = null
| mScroller = null
| mShadowColor = 0
| mShadowDx = 0.0
| mShadowDy = 0.0
| mShadowRadius = 0.0
| mSingleLine = false
| mSpacingAdd = 0.0
| mSpacingMult = 1.0
| mSpannable = null
| mSpannableFactory = android.text.Spannable$Factory@1874231192 (0x6fb67f98)
| mTempRect = null
| mTempTextPaint = null
| mText = java.lang.String@316215632 (0x12d91150)
| mTextClassificationSession = null
| mTextClassifier = null
| mTextColor = android.content.res.ColorStateList@316833736 (0x12e27fc8)
| mTextDir = android.text.TextDirectionHeuristics$TextDirectionHeuristicInternal@1873601112 (0x6face258)
| mTextEditSuggestionContainerLayout = 17367305
| mTextEditSuggestionHighlightStyle = 16974742
| mTextEditSuggestionItemLayout = 17367307
| mTextId = 0
| mTextPaint = android.text.TextPaint@316833776 (0x12e27ff0)
| mTextSelectHandleLeftRes = 17303625
| mTextSelectHandleRes = 17303627
| mTextSelectHandleRightRes = 17303629
| mTextSetFromXmlOrResourceId = false
| mTransformation = null
| mTransformed = java.lang.String@316215632 (0x12d91150)
| mUseFallbackLineSpacing = false
| mUseInternationalizedInput = true
| mUserSetTextScaleX = false
| mAccessibilityCursorPosition = -1
| mAccessibilityDelegate = null
| mAccessibilityPaneTitle = null
| mAccessibilityTraversalAfterId = -1
| mAccessibilityTraversalBeforeId = -1
| mAccessibilityViewId = -1
| mAnimator = null
| mAttachInfo = null
| mAttributes = null
| mAutofillHints = null
| mAutofillId = null
| mAutofillViewId = -1
| mBackground = null
| mBackgroundRenderNode = null
| mBackgroundResource = 0
| mBackgroundSizeChanged = true
| mBackgroundTint = null
| mBottom = 799
| mCachingFailed = false
| mClipBounds = null
| mContentDescription = null
| mContext = com.bluelinelabs.conductor.demo.MainActivity@316773192 (0x12e19348)
| mCurrentAnimation = null
| mDefaultFocusHighlight = null
| mDefaultFocusHighlightCache = null
| mDefaultFocusHighlightEnabled = true
| mDefaultFocusHighlightSizeChanged = true
| mDrawableState = int[4]@316833904 (0x12e28070)
| mDrawingCache = null
| mDrawingCacheBackgroundColor = 0
| mFloatingTreeObserver = null
| mForegroundInfo = null
| mFrameMetricsObservers = null
| mGhostView = null
| mHasPerformedLongPress = false
| mID = 2131296451
| mIgnoreNextUpEvent = false
| mInContextButtonPress = false
| mInputEventConsistencyVerifier = null
| mKeyedTags = android.util.SparseArray@316833936 (0x12e28090)
| mLabelForId = -1
| mLastIsOpaque = false
| mLayerPaint = null
| mLayerType = 0
| mLayoutInsets = null
| mLayoutParams = android.widget.LinearLayout$LayoutParams@316833960 (0x12e280a8)
| mLeft = 441
| mLeftPaddingDefined = false
| mListenerInfo = android.view.View$ListenerInfo@316834016 (0x12e280e0)
| mLongClickX = NaN
| mLongClickY = NaN
| mMatchIdPredicate = null
| mMatchLabelForPredicate = null
| mMeasureCache = android.util.LongSparseLongArray@316834096 (0x12e28130)
| mMeasuredHeight = 78
| mMeasuredWidth = 197
| mMinHeight = 0
| mMinWidth = 0
| mNestedScrollingParent = null
| mNextClusterForwardId = -1
| mNextFocusDownId = -1
| mNextFocusForwardId = -1
| mNextFocusLeftId = -1
| mNextFocusRightId = -1
| mNextFocusUpId = -1
| mOldHeightMeasureSpec = 0
| mOldWidthMeasureSpec = -2147482568
| mOutlineProvider = android.view.ViewOutlineProvider$1@1873615368 (0x6fad1a08)
| mOverScrollMode = 1
| mOverlay = null
| mPaddingBottom = 0
| mPaddingLeft = 0
| mPaddingRight = 0
| mPaddingTop = 0
| mParent = android.widget.LinearLayout@316821520 (0x12e25010)
| mPendingCheckForLongPress = null
| mPendingCheckForTap = null
| mPerformClick = null
| mPointerIcon = null
| mPrivateFlags = 16812080
| mPrivateFlags2 = 538125864
| mPrivateFlags3 = 524288
| mRecreateDisplayList = false
| mRenderNode = android.view.RenderNode@316834120 (0x12e28148)
| mResources = android.content.res.Resources@316546720 (0x12de1ea0)
| mRight = 638
| mRightPaddingDefined = false
| mRoundScrollbarRenderer = null
| mRunQueue = null
| mScrollCache = null
| mScrollIndicatorDrawable = null
| mScrollX = 0
| mScrollY = 0
| mSendViewScrolledAccessibilityEvent = null
| mSendingHoverAccessibilityEvents = false
| mStartActivityRequestWho = null
| mStateListAnimator = null
| mSystemUiVisibility = 0
| mTag = null
| mTempNestedScrollConsumed = null
| mTooltipInfo = null
| mTop = 721
| mTouchDelegate = null
| mTouchSlop = 21
| mTransformationInfo = android.view.View$TransformationInfo@316834144 (0x12e28160)
| mTransientStateCount = 0
| mTransitionName = java.lang.String@316834168 (0x12e28178)
| mUnscaledDrawingCache = null
| mUnsetPressedState = null
| mUserPaddingBottom = 0
| mUserPaddingEnd = -2147483648
| mUserPaddingLeft = 0
| mUserPaddingLeftInitial = 0
| mUserPaddingRight = 0
| mUserPaddingRightInitial = 0
| mUserPaddingStart = -2147483648
| mVerticalScrollFactor = 0.0
| mVerticalScrollbarPosition = 0
| mViewFlags = 402653200
| mVisibilityChangeForAutofillHandler = null
| mWindowAttachCount = 2
| shadow$_klass_ = android.support.v7.widget.AppCompatTextView
| shadow$_monitor_ = -2016722857
* Instance of com.bluelinelabs.conductor.demo.MainActivity
| static $class$classFlags = 0
| static $class$classLoader = dalvik.system.PathClassLoader@316193936 (0x12d8bc90)
| static $class$numReferenceInstanceFields = 3
| static $class$primitiveType = 131072
| static $class$classSize = 2304
| static $class$shadow$_klass_ = java.lang.Class
| static $class$copiedMethodsOffset = 3
| static $class$extData = null
| static $class$status = -536870912
| static $class$superClass = android.support.v7.app.AppCompatActivity
| static $class$objectSize = 288
| static $class$numReferenceStaticFields = 0
| static $class$referenceInstanceOffsets = -1073741824
| static $class$iFields = 3996193848
| static $class$virtualMethodsOffset = 1
| static $class$componentType = null
| static $class$methods = 3996193904
| static $class$dexCache = java.lang.DexCache@316242088 (0x12d978a8)
| static $class$ifTable = java.lang.Object[36]@316501832 (0x12dd6f48)
| static $class$objectSizeAllocFastPath = 288
| static $class$sFields = 0
| static $class$name = java.lang.String@316501992 (0x12dd6fe8)
| static $class$dexClassDefIndex = 5793
| static $class$shadow$_monitor_ = -1943744423
| static $classOverhead = byte[2180]@316417657 (0x12dc2679)
| static $class$vtable = null
| static $class$accessFlags = 524305
| static $class$clinitThreadId = 6316
| static $class$dexTypeIndex = 2738
| container = com.bluelinelabs.conductor.ChangeHandlerFrameLayout@316771392 (0x12e18c40)
| router = com.bluelinelabs.conductor.ActivityHostedRouter@316655480 (0x12dfc778)
| toolbar = android.support.v7.widget.Toolbar@316787240 (0x12e1ca28)
| mDelegate = android.support.v7.app.AppCompatDelegateImplN@316797272 (0x12e1f158)
| mResources = null
| mThemeId = 2131689478
| mCreated = true
| mFragments = android.support.v4.app.FragmentController@316818320 (0x12e24390)
| mHandler = android.support.v4.app.FragmentActivity$1@316818336 (0x12e243a0)
| mLoaderManager = null
| mNextCandidateRequestIndex = 0
| mPendingFragmentActivityResults = android.support.v4.util.SparseArrayCompat@316818368 (0x12e243c0)
| mReallyStopped = true
| mRequestedPermissionsFromFragment = false
| mResumed = false
| mRetaining = true
| mStopped = true
| mViewModelStore = null
| mStartedActivityFromFragment = false
| mStartedIntentSenderFromFragment = false
| mExtraDataMap = android.support.v4.util.SimpleArrayMap@316818392 (0x12e243d8)
| mLifecycleRegistry = android.arch.lifecycle.LifecycleRegistry@316818416 (0x12e243f0)
| mActionBar = null
| mActionModeTypeStarting = 0
| mActivityInfo = android.content.pm.ActivityInfo@316607800 (0x12df0d38)
| mActivityTransitionState = android.app.ActivityTransitionState@316818448 (0x12e24410)
| mApplication = com.bluelinelabs.conductor.demo.DemoApplication@316200064 (0x12d8d480)
| mAutoFillIgnoreFirstResumePause = false
| mAutoFillResetNeeded = false
| mAutofillManager = null
| mAutofillPopupWindow = null
| mCalled = true
| mCanEnterPictureInPicture = false
| mChangeCanvasToTranslucent = false
| mChangingConfigurations = true
| mComponent = android.content.ComponentName@316612000 (0x12df1da0)
| mConfigChangeFlags = 128
| mCurrentConfig = android.content.res.Configuration@316818504 (0x12e24448)
| mDecor = null
| mDefaultKeyMode = 0
| mDefaultKeySsb = null
| mDestroyed = true
| mDoReportFullyDrawn = false
| mEmbeddedID = null
| mEnableDefaultActionBarUp = false
| mEnterTransitionListener = android.app.SharedElementCallback$1@1873553680 (0x6fac2910)
| mExitTransitionListener = android.app.SharedElementCallback$1@1873553680 (0x6fac2910)
| mFinished = false
| mFragments = android.app.FragmentController@316818616 (0x12e244b8)
| mHandler = android.os.Handler@316818632 (0x12e244c8)
| mHasCurrentPermissionsRequest = false
| mIdent = 258739838
| mInstanceTracker = android.os.StrictMode$InstanceTracker@316818664 (0x12e244e8)
| mInstrumentation = android.app.Instrumentation@316666896 (0x12dff410)
| mIntent = android.content.Intent@316607976 (0x12df0de8)
| mLastAutofillId = 1073741823
| mLastNonConfigurationInstances = null
| mMainThread = android.app.ActivityThread@316146104 (0x12d801b8)
| mManagedCursors = java.util.ArrayList@316818680 (0x12e244f8)
| mManagedDialogs = null
| mMenuInflater = null
| mParent = null
| mReferrer = null
| mRestoredFromBundle = true
| mResultCode = 0
| mResultData = null
| mResumed = false
| mSearchEvent = null
| mSearchManager = null
| mStartedActivity = false
| mStopped = true
| mTaskDescription = android.app.ActivityManager$TaskDescription@316818704 (0x12e24510)
| mTemporaryPause = false
| mTitle = java.lang.String@316551968 (0x12de3320)
| mTitleColor = 0
| mTitleReady = true
| mToken = android.os.BinderProxy@316567768 (0x12de70d8)
| mTranslucentCallback = null
| mUiThread = java.lang.Thread@1944637280 (0x73e8cf60)
| mVisibleFromClient = true
| mVisibleFromServer = true
| mVoiceInteractor = null
| mWindow = com.android.internal.policy.PhoneWindow@316780232 (0x12e1aec8)
| mWindowAdded = true
| mWindowManager = android.view.WindowManagerImpl@316784496 (0x12e1bf70)
| mInflater = com.android.internal.policy.PhoneLayoutInflater@316784016 (0x12e1bd90)
| mOverrideConfiguration = null
| mResources = android.content.res.Resources@316546720 (0x12de1ea0)
| mTheme = android.content.res.Resources$Theme@316784688 (0x12e1c030)
| mThemeResource = 2131689478
| mBase = android.app.ContextImpl@316784944 (0x12e1c130)
| shadow$_klass_ = com.bluelinelabs.conductor.demo.MainActivity
| shadow$_monitor_ = -1990368799
* 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)
```

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the rotation flow in the demo: Shared Element Demos, then Chicago. Trace the leak path through SharedElementTransitionChangeHandler, TransitionChangeHandlerCompat, and the sharedElementTransition retained by the transition. Done means the demo no longer retains MainActivity after rotation; no source file or test is named.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.