Я немного смущен поведением LeakCanary, и я надеюсь, что SO поможет мне здесь. Я добавил LeakCanary в свое приложение, и у меня появляется всплывающее окно с требованием утечки.LeakCanary обнаруживает утечку, хотя класс исключен
Это уверен, выглядит как InputMethodManager упомянуто здесь: https://github.com/square/leakcanary/issues/322
Похоже LeakCanary помечает его как исключены, но все же показывает всплывающее окно. Что-то я здесь не понимаю? (Я могу включить мой исключить код, если это помогает, но ...)
Вот скриншот Leak деятельности:
Вот отделан выход LogCat:
12-13 15:08:26.868 D/LeakCanary(1642): In com.blueapron.blueapron.debug:0.0.0-123-g5c653b9-debug:135000.
12-13 15:08:26.868 D/LeakCanary(1642): * EXCLUDED LEAK.
12-13 15:08:26.868 D/LeakCanary(1642): * com.blueapron.mobile.ui.MainActivity has leaked:
12-13 15:08:26.868 D/LeakCanary(1642): * GC ROOT android.view.inputmethod.InputMethodManager$ControlledInputConnectionWrapper.mParentInputMethodManager , matching exclusion any subclass of android.view.inputmethod.InputMethodManager$ControlledInputConnectionWrapper
12-13 15:08:26.869 D/LeakCanary(1642): * references android.view.inputmethod.InputMethodManager.mNextServedView , matching exclusion field android.view.inputmethod.InputMethodManager#mNextServedView
12-13 15:08:26.869 D/LeakCanary(1642): * references android.support.v7.widget.RecyclerView.mContext
12-13 15:08:26.869 D/LeakCanary(1642): * leaks com.blueapron.mobile.ui.MainActivity instance
12-13 15:08:26.869 D/LeakCanary(1642): * Retaining: 6.0 KB.
12-13 15:08:26.869 D/LeakCanary(1642): * Reference Key: ecc9f4d2-78a2-4542-ae1e-abb4d4e358e4
12-13 15:08:26.869 D/LeakCanary(1642): * Device: motorola google Nexus 6 shamu
12-13 15:08:26.869 D/LeakCanary(1642): * Android Version: 6.0.1 API: 23 LeakCanary: 1.5 00f37f5
12-13 15:08:26.869 D/LeakCanary(1642): * Durations: watch=5157ms, gc=176ms, heap dump=8016ms, analysis=63575ms
12-13 15:08:26.869 D/LeakCanary(1642): * Details:
12-13 15:08:26.869 D/LeakCanary(1642): * Instance of android.view.inputmethod.InputMethodManager$ControlledInputConnectionWrapper
12-13 15:08:26.869 D/LeakCanary(1642): | mActive = true
12-13 15:08:26.869 D/LeakCanary(1642): | mParentInputMethodManager = [email protected] (0x12da7af0)
12-13 15:08:26.869 D/LeakCanary(1642): | mH = [email protected]29568 (0x130587e0)
12-13 15:08:26.869 D/LeakCanary(1642): | mInputConnection = [email protected] (0x13058800)
12-13 15:08:26.869 D/LeakCanary(1642): | mMainLooper = [email protected] (0x12c02040)
12-13 15:08:26.869 D/LeakCanary(1642): | mDescriptor = [email protected] (0x6fa90880)
12-13 15:08:26.869 D/LeakCanary(1642): | mObject = -1361251728
12-13 15:08:26.869 D/LeakCanary(1642): | mOwner = android.view.[email protected]314574736 (0x12c00790)
12-13 15:08:26.869 D/LeakCanary(1642): | shadow$_klass_ = android.view.inputmethod.InputMethodManager$ControlledInputConnectionWrapper
12-13 15:08:26.869 D/LeakCanary(1642): | shadow$_monitor_ = 0
12-13 15:08:26.869 D/LeakCanary(1642): * Instance of android.view.inputmethod.InputMethodManager
12-13 15:08:26.870 D/LeakCanary(1642): | static RESULT_UNCHANGED_HIDDEN = 1
12-13 15:08:26.870 D/LeakCanary(1642): | static MSG_SET_ACTIVE = 4
12-13 15:08:26.870 D/LeakCanary(1642): | static RESULT_HIDDEN = 3
12-13 15:08:26.870 D/LeakCanary(1642): | static REQUEST_UPDATE_CURSOR_ANCHOR_INFO_NONE = 0
12-13 15:08:26.870 D/LeakCanary(1642): | static sInstance = [email protected] (0x12da7af0)
12-13 15:08:26.870 D/LeakCanary(1642): | static SHOW_FORCED = 2
12-13 15:08:26.870 D/LeakCanary(1642): | static DISPATCH_NOT_HANDLED = 0
12-13 15:08:26.870 D/LeakCanary(1642): | static HIDE_NOT_ALWAYS = 2
12-13 15:08:26.870 D/LeakCanary(1642): | static NOT_AN_ACTION_NOTIFICATION_SEQUENCE_NUMBER = -1
12-13 15:08:26.870 D/LeakCanary(1642): | static MSG_UNBIND = 3
12-13 15:08:26.870 D/LeakCanary(1642): | static CONTROL_WINDOW_FIRST = 4
12-13 15:08:26.870 D/LeakCanary(1642): | static CONTROL_START_INITIAL = 256
12-13 15:08:26.870 D/LeakCanary(1642): | static RESULT_UNCHANGED_SHOWN = 0
12-13 15:08:26.870 D/LeakCanary(1642): | static SHOW_IM_PICKER_MODE_AUTO = 0
12-13 15:08:26.870 D/LeakCanary(1642): | static SHOW_IMPLICIT = 1
12-13 15:08:26.870 D/LeakCanary(1642): | static CONTROL_WINDOW_VIEW_HAS_FOCUS = 1
12-13 15:08:26.870 D/LeakCanary(1642): | static MSG_DUMP = 1
12-13 15:08:26.870 D/LeakCanary(1642): | static TAG = [email protected] (0x6fa809b0)
12-13 15:08:26.870 D/LeakCanary(1642): | static SHOW_IM_PICKER_MODE_EXCLUDE_AUXILIARY_SUBTYPES = 2
12-13 15:08:26.870 D/LeakCanary(1642): | static MSG_SEND_INPUT_EVENT = 5
12-13 15:08:26.870 D/LeakCanary(1642): | static INPUT_METHOD_NOT_RESPONDING_TIMEOUT = 2500
12-13 15:08:26.870 D/LeakCanary(1642): | static DEBUG = false
12-13 15:08:26.870 D/LeakCanary(1642): | static PENDING_EVENT_COUNTER = [email protected] (0x6fa8dcb8)
12-13 15:08:26.870 D/LeakCanary(1642): | static RESULT_SHOWN = 2
12-13 15:08:26.871 D/LeakCanary(1642): | static DISPATCH_IN_PROGRESS = -1
12-13 15:08:26.871 D/LeakCanary(1642): | static MSG_FLUSH_INPUT_EVENT = 7
12-13 15:08:26.871 D/LeakCanary(1642): | static $staticOverhead = byte[264]@1876294145 (0x6fd5fa01)
12-13 15:08:26.871 D/LeakCanary(1642): | static CONTROL_WINDOW_IS_TEXT_EDITOR = 2
12-13 15:08:26.871 D/LeakCanary(1642): | static MSG_TIMEOUT_INPUT_EVENT = 6
12-13 15:08:26.871 D/LeakCanary(1642): | static MSG_BIND = 2
12-13 15:08:26.871 D/LeakCanary(1642): | static DISPATCH_HANDLED = 1
12-13 15:08:26.871 D/LeakCanary(1642): | static SHOW_IM_PICKER_MODE_INCLUDE_AUXILIARY_SUBTYPES = 1
12-13 15:08:26.871 D/LeakCanary(1642): | static MSG_SET_USER_ACTION_NOTIFICATION_SEQUENCE_NUMBER = 9
12-13 15:08:26.871 D/LeakCanary(1642): | static HIDE_IMPLICIT_ONLY = 1
12-13 15:08:26.871 D/LeakCanary(1642): | mActive = false
12-13 15:08:26.871 D/LeakCanary(1642): | mBindSequence = -1
12-13 15:08:26.871 D/LeakCanary(1642): | mClient = [email protected] (0x12c02800)
12-13 15:08:26.871 D/LeakCanary(1642): | mCompletions = null
12-13 15:08:26.871 D/LeakCanary(1642): | mCurChannel = null
12-13 15:08:26.871 D/LeakCanary(1642): | mCurId = null
12-13 15:08:26.871 D/LeakCanary(1642): | mCurMethod = null
12-13 15:08:26.871 D/LeakCanary(1642): | mCurRootView = null
12-13 15:08:26.871 D/LeakCanary(1642): | mCurSender = null
12-13 15:08:26.871 D/LeakCanary(1642): | mCurrentTextBoxAttribute = null
12-13 15:08:26.871 D/LeakCanary(1642): | mCursorAnchorInfo = null
12-13 15:08:26.871 D/LeakCanary(1642): | mCursorCandEnd = 0
12-13 15:08:26.871 D/LeakCanary(1642): | mCursorCandStart = 0
12-13 15:08:26.871 D/LeakCanary(1642): | mCursorRect = [email protected] (0x12e3ab20)
12-13 15:08:26.872 D/LeakCanary(1642): | mCursorSelEnd = 0
12-13 15:08:26.872 D/LeakCanary(1642): | mCursorSelStart = 0
12-13 15:08:26.872 D/LeakCanary(1642): | mDummyInputConnection = [email protected] (0x12e3ab40)
12-13 15:08:26.872 D/LeakCanary(1642): | mFullscreenMode = false
12-13 15:08:26.872 D/LeakCanary(1642): | mH = [email protected] (0x12e3ab60)
12-13 15:08:26.872 D/LeakCanary(1642): | mHasBeenInactive = true
12-13 15:08:26.872 D/LeakCanary(1642): | mIInputContext = android.view.[email protected]314574736 (0x12c00790)
12-13 15:08:26.872 D/LeakCanary(1642): | mLastSentUserActionNotificationSequenceNumber = -1
12-13 15:08:26.872 D/LeakCanary(1642): | mMainLooper = [email protected] (0x12c02040)
12-13 15:08:26.872 D/LeakCanary(1642): | mNextServedView = [email protected] (0x12e11c00)
12-13 15:08:26.872 D/LeakCanary(1642): | mNextUserActionNotificationSequenceNumber = 2
12-13 15:08:26.872 D/LeakCanary(1642): | mPendingEventPool = [email protected] (0x12c01f80)
12-13 15:08:26.872 D/LeakCanary(1642): | mPendingEvents = [email protected] (0x12e3ab80)
12-13 15:08:26.872 D/LeakCanary(1642): | mRequestUpdateCursorAnchorInfoMonitorMode = 0
12-13 15:08:26.872 D/LeakCanary(1642): | mServedConnecting = true
12-13 15:08:26.872 D/LeakCanary(1642): | mServedInputConnection = null
12-13 15:08:26.872 D/LeakCanary(1642): | mServedInputConnectionWrapper = null
12-13 15:08:26.872 D/LeakCanary(1642): | mServedView = [email protected] (0x12e11c00)
12-13 15:08:26.872 D/LeakCanary(1642): | mService = [email protected]80 (0x12c01f90)
12-13 15:08:26.872 D/LeakCanary(1642): | mTmpCursorRect = [email protected] (0x12e3aba0)
12-13 15:08:26.872 D/LeakCanary(1642): | shadow$_klass_ = android.view.inputmethod.InputMethodManager
12-13 15:08:26.872 D/LeakCanary(1642): | shadow$_monitor_ = 0
12-13 15:08:26.872 D/LeakCanary(1642): * Instance of android.support.v7.widget.RecyclerView
12-13 15:08:26.873 D/LeakCanary(1642): | static TRACE_CREATE_VIEW_TAG = [email protected] (0x12c95550)
12-13 15:08:26.873 D/LeakCanary(1642): | static TRACE_HANDLE_ADAPTER_UPDATES_TAG = [email protected] (0x12c80040)
12-13 15:08:26.873 D/LeakCanary(1642): | static HORIZONTAL = 0
12-13 15:08:26.873 D/LeakCanary(1642): | static SCROLL_STATE_IDLE = 0
12-13 15:08:26.873 D/LeakCanary(1642): | static MIN_PREFETCH_TIME_NANOS = 4000000
12-13 15:08:26.873 D/LeakCanary(1642): | static SCROLL_STATE_DRAGGING = 1
12-13 15:08:26.873 D/LeakCanary(1642): | static ALLOW_PREFETCHING = true
12-13 15:08:26.873 D/LeakCanary(1642): | static TRACE_BIND_VIEW_TAG = [email protected] (0x12c64430)
12-13 15:08:26.873 D/LeakCanary(1642): | static INVALID_TYPE = -1
12-13 15:08:26.873 D/LeakCanary(1642): | static TRACE_PREFETCH_TAG = [email protected] (0x12c82fd0)
12-13 15:08:26.873 D/LeakCanary(1642): | static TRACE_SCROLL_TAG = [email protected] (0x12c7a160)
12-13 15:08:26.873 D/LeakCanary(1642): | static SCROLL_STATE_SETTLING = 2
12-13 15:08:26.873 D/LeakCanary(1642): | static NESTED_SCROLLING_ATTRS = int[1]@318192048 (0x12f739b0)
12-13 15:08:26.873 D/LeakCanary(1642): | static sQuinticInterpolator = [email protected] (0x12f0da10)
12-13 15:08:26.873 D/LeakCanary(1642): | static POST_UPDATES_ON_ANIMATION = true
12-13 15:08:26.873 D/LeakCanary(1642): | static TRACE_ON_LAYOUT_TAG = [email protected] (0x12c312b0)
12-13 15:08:26.873 D/LeakCanary(1642): | static INVALID_POINTER = -1
12-13 15:08:26.873 D/LeakCanary(1642): | static FORCE_INVALIDATE_DISPLAY_LIST = false
12-13 15:08:26.873 D/LeakCanary(1642): | static ALLOW_SIZE_IN_UNSPECIFIED_SPEC = true
12-13 15:08:26.873 D/LeakCanary(1642): | static TAG = [email protected] (0x12c5de50)
12-13 15:08:26.873 D/LeakCanary(1642): | static DEBUG = false
12-13 15:08:26.873 D/LeakCanary(1642): | static VERTICAL = 1
12-13 15:08:26.873 D/LeakCanary(1642): | static CLIP_TO_PADDING_ATTR = int[1]@318192032 (0x12f739a0)
12-13 15:08:26.874 D/LeakCanary(1642): | static TRACE_ON_DATA_SET_CHANGE_LAYOUT_TAG = [email protected] (0x12c78400)
12-13 15:08:26.874 D/LeakCanary(1642): | static LAYOUT_MANAGER_CONSTRUCTOR_SIGNATURE = java.lang.Class[4]@318980224 (0x13034080)
12-13 15:08:26.874 D/LeakCanary(1642): | static $staticOverhead = byte[256]@316502017 (0x12dd7001)
12-13 15:08:26.874 D/LeakCanary(1642): | static TOUCH_SLOP_DEFAULT = 0
12-13 15:08:26.874 D/LeakCanary(1642): | static NO_POSITION = -1
12-13 15:08:26.874 D/LeakCanary(1642): | static sFrameIntervalNanos = 16666667
12-13 15:08:26.874 D/LeakCanary(1642): | static MAX_SCROLL_DURATION = 2000
12-13 15:08:26.874 D/LeakCanary(1642): | static TOUCH_SLOP_PAGING = 1
12-13 15:08:26.874 D/LeakCanary(1642): | static DISPATCH_TEMP_DETACH = false
12-13 15:08:26.874 D/LeakCanary(1642): | static NO_ID = -1
12-13 15:08:26.874 D/LeakCanary(1642): | mAccessibilityDelegate = [email protected]10560 (0x12e3abe0)
12-13 15:08:26.874 D/LeakCanary(1642): | mAccessibilityManager = [email protected] (0x12e0f0d0)
12-13 15:08:26.874 D/LeakCanary(1642): | mActiveOnItemTouchListener = null
12-13 15:08:26.874 D/LeakCanary(1642): | mAdapter = [email protected] (0x12e3ac00)
12-13 15:08:26.874 D/LeakCanary(1642): | mAdapterHelper = [email protected] (0x12e3bc40)
12-13 15:08:26.874 D/LeakCanary(1642): | mAdapterUpdateDuringMeasure = false
12-13 15:08:26.874 D/LeakCanary(1642): | mBottomGlow = null
12-13 15:08:26.874 D/LeakCanary(1642): | mChildDrawingOrderCallback = null
12-13 15:08:26.874 D/LeakCanary(1642): | mChildHelper = [email protected] (0x12e3ac20)
12-13 15:08:26.874 D/LeakCanary(1642): | mClipToPadding = true
12-13 15:08:26.874 D/LeakCanary(1642): | mDataSetHasChangedAfterLayout = false
12-13 15:08:26.874 D/LeakCanary(1642): | mDispatchScrollCounter = 0
12-13 15:08:26.875 D/LeakCanary(1642): | mEatRequestLayout = 0
12-13 15:08:26.875 D/LeakCanary(1642): | mEatenAccessibilityChangeFlags = 0
12-13 15:08:26.875 D/LeakCanary(1642): | mFirstLayoutComplete = true
12-13 15:08:26.875 D/LeakCanary(1642): | mHasFixedSize = false
12-13 15:08:26.875 D/LeakCanary(1642): | mIgnoreMotionEventTillDown = false
12-13 15:08:26.875 D/LeakCanary(1642): | mInitialTouchX = 346
12-13 15:08:26.875 D/LeakCanary(1642): | mInitialTouchY = 1293
12-13 15:08:26.875 D/LeakCanary(1642): | mIsAttached = false
12-13 15:08:26.875 D/LeakCanary(1642): | mItemAnimator = [email protected] (0x12c98f40)
12-13 15:08:26.875 D/LeakCanary(1642): | mItemAnimatorListener = and[email protected]314580896 (0x12c01fa0)
12-13 15:08:26.875 D/LeakCanary(1642): | mItemAnimatorRunner = [email protected] (0x12c01fb0)
12-13 15:08:26.875 D/LeakCanary(1642): | mItemDecorations = java.util.Array[email protected] (0x12e3ac40)
12-13 15:08:26.875 D/LeakCanary(1642): | mItemsAddedOrRemoved = false
12-13 15:08:26.875 D/LeakCanary(1642): | mItemsChanged = false
12-13 15:08:26.875 D/LeakCanary(1642): | mLastTouchX = 346
12-13 15:08:26.875 D/LeakCanary(1642): | mLastTouchY = 1293
12-13 15:08:26.875 D/LeakCanary(1642): | mLayout = [email protected] (0x12e3e9c0)
12-13 15:08:26.875 D/LeakCanary(1642): | mLayoutFrozen = false
12-13 15:08:26.875 D/LeakCanary(1642): | mLayoutOrScrollCounter = 0
12-13 15:08:26.875 D/LeakCanary(1642): | mLayoutRequestEaten = false
12-13 15:08:26.875 D/LeakCanary(1642): | mLeftGlow = null
12-13 15:08:26.875 D/LeakCanary(1642): | mMaxFlingVelocity = 28000
12-13 15:08:26.875 D/LeakCanary(1642): | mMinFlingVelocity = 175
12-13 15:08:26.876 D/LeakCanary(1642): | mMinMaxLayoutPositions = int[2]@316910688 (0x12e3ac60)
12-13 15:08:26.876 D/LeakCanary(1642): | mNestedOffsets = int[2]@316910720 (0x12e3ac80)
12-13 15:08:26.876 D/LeakCanary(1642): | mObserver = [email protected]314580928 (0x12c01fc0)
12-13 15:08:26.876 D/LeakCanary(1642): | mOnChildAttachStateListeners = null
12-13 15:08:26.876 D/LeakCanary(1642): | mOnFlingListener = null
12-13 15:08:26.876 D/LeakCanary(1642): | mOnItemTouchListeners = [email protected] (0x12e3aca0)
12-13 15:08:26.876 D/LeakCanary(1642): | mPendingAccessibilityImportanceChange = [email protected] (0x12e3acc0)
12-13 15:08:26.876 D/LeakCanary(1642): | mPendingSavedState = null
12-13 15:08:26.876 D/LeakCanary(1642): | mPostedAnimatorRunner = false
12-13 15:08:26.876 D/LeakCanary(1642): | mPreserveFocusAfterLayout = true
12-13 15:08:26.876 D/LeakCanary(1642): | mRecycler = [email protected] (0x12e3bc70)
12-13 15:08:26.876 D/LeakCanary(1642): | mRecyclerListener = null
12-13 15:08:26.876 D/LeakCanary(1642): | mRightGlow = null
12-13 15:08:26.876 D/LeakCanary(1642): | mScrollConsumed = int[2]@316910816 (0x12e3ace0)
12-13 15:08:26.876 D/LeakCanary(1642): | mScrollFactor = 1.4E-45
12-13 15:08:26.876 D/LeakCanary(1642): | mScrollListener = null
12-13 15:08:26.876 D/LeakCanary(1642): | mScrollListeners = null
12-13 15:08:26.876 D/LeakCanary(1642): | mScrollOffset = int[2]@316910848 (0x12e3ad00)
12-13 15:08:26.876 D/LeakCanary(1642): | mScrollPointerId = 0
12-13 15:08:26.876 D/LeakCanary(1642): | mScrollState = 0
12-13 15:08:26.876 D/LeakCanary(1642): | mScrollingChildHelper = [email protected] (0x12e3ad20)
12-13 15:08:26.876 D/LeakCanary(1642): | mState = [email protected] (0x12e3c900)
12-13 15:08:26.876 D/LeakCanary(1642): | mTempRect = [email protected] (0x12e3ad40)
12-13 15:08:26.876 D/LeakCanary(1642): | mTempRect2 = [email protected] (0x12e3ad60)
12-13 15:08:26.877 D/LeakCanary(1642): | mTempRectF = [email protected] (0x12e3ad80)
12-13 15:08:26.877 D/LeakCanary(1642): | mTopGlow = null
12-13 15:08:26.877 D/LeakCanary(1642): | mTouchSlop = 28
12-13 15:08:26.877 D/LeakCanary(1642): | mUpdateChildViewsRunnable = [email protected] (0x12c01fd0)
12-13 15:08:26.877 D/LeakCanary(1642): | mVelocityTracker = [email protected] (0x12e3ada0)
12-13 15:08:26.877 D/LeakCanary(1642): | mViewFlinger = [email protected] (0x12e3adc0)
12-13 15:08:26.877 D/LeakCanary(1642): | mViewInfoProcessCallback = [email protected] (0x12c01fe0)
12-13 15:08:26.877 D/LeakCanary(1642): | mViewInfoStore = [email protected] (0x12c01ff0)
12-13 15:08:26.877 D/LeakCanary(1642): | mViewPrefetcher = [email protected] (0x12e3ade0)
12-13 15:08:26.877 D/LeakCanary(1642): | mAnimationListener = null
12-13 15:08:26.877 D/LeakCanary(1642): | mCachePaint = null
12-13 15:08:26.877 D/LeakCanary(1642): | mChildAcceptsDrag = false
12-13 15:08:26.877 D/LeakCanary(1642): | mChildCountWithTransientState = 0
12-13 15:08:26.877 D/LeakCanary(1642): | mChildTransformation = null
12-13 15:08:26.877 D/LeakCanary(1642): | mChildren = android.view.View[12]@316918080 (0x12e3c940)
12-13 15:08:26.878 D/LeakCanary(1642): | mChildrenCount = 2
12-13 15:08:26.878 D/LeakCanary(1642): | mCurrentDrag = null
12-13 15:08:26.878 D/LeakCanary(1642): | mCurrentDragView = null
12-13 15:08:26.878 D/LeakCanary(1642): | mDisappearingChildren = null
12-13 15:08:26.878 D/LeakCanary(1642): | mDragNotifiedChildren = null
12-13 15:08:26.878 D/LeakCanary(1642): | mFirstHoverTarget = null
12-13 15:08:26.878 D/LeakCanary(1642): | mFirstTouchTarget = null
12-13 15:08:26.878 D/LeakCanary(1642): | mFocused = null
12-13 15:08:26.878 D/LeakCanary(1642): | mGroupFlags = 2375763
12-13 15:08:26.878 D/LeakCanary(1642): | mHoveredSelf = false
12-13 15:08:26.878 D/LeakCanary(1642): | mInvalidateRegion = null
12-13 15:08:26.878 D/LeakCanary(1642): | mInvalidationTransformation = null
12-13 15:08:26.878 D/LeakCanary(1642): | mLastTouchDownIndex = -1
12-13 15:08:26.878 D/LeakCanary(1642): | mLastTouchDownTime = 0
12-13 15:08:26.878 D/LeakCanary(1642): | mLastTouchDownX = 346.0
12-13 15:08:26.878 D/LeakCanary(1642): | mLastTouchDownY = 1293.0
12-13 15:08:26.878 D/LeakCanary(1642): | mLayoutAnimationController = null
12-13 15:08:26.878 D/LeakCanary(1642): | mLayoutCalledWhileSuppressed = false
12-13 15:08:26.879 D/LeakCanary(1642): | mLayoutMode = -1
12-13 15:08:26.879 D/LeakCanary(1642): | mLayoutTransitionListener = [email protected] (0x12e67070)
12-13 15:08:26.879 D/LeakCanary(1642): | mLocalPoint = null
12-13 15:08:26.879 D/LeakCanary(1642): | mNestedScrollAxes = 0
12-13 15:08:26.879 D/LeakCanary(1642): | mOnHierarchyChangeListener = null
12-13 15:08:26.879 D/LeakCanary(1642): | mPersistentDrawingCache = 2
12-13 15:08:26.879 D/LeakCanary(1642): | mPreSortedChildren = null
12-13 15:08:26.879 D/LeakCanary(1642): | mSuppressLayout = false
12-13 15:08:26.879 D/LeakCanary(1642): | mTempPoint = float[2]@316911104 (0x12e3ae00)
12-13 15:08:26.879 D/LeakCanary(1642): | mTransientIndices = null
12-13 15:08:26.879 D/LeakCanary(1642): | mTransientViews = null
12-13 15:08:26.879 D/LeakCanary(1642): | mTransition = null
12-13 15:08:26.879 D/LeakCanary(1642): | mTransitioningViews = null
12-13 15:08:26.879 D/LeakCanary(1642): | mVisibilityChangingChildren = null
12-13 15:08:26.879 D/LeakCanary(1642): | mAccessibilityCursorPosition = -1
12-13 15:08:26.879 D/LeakCanary(1642): | mAccessibilityDelegate = [email protected]17091968 (0x12e67080)
12-13 15:08:26.879 D/LeakCanary(1642): | mAccessibilityTraversalAfterId = -1
12-13 15:08:26.879 D/LeakCanary(1642): | mAccessibilityTraversalBeforeId = -1
12-13 15:08:26.879 D/LeakCanary(1642): | mAccessibilityViewId = -1
12-13 15:08:26.879 D/LeakCanary(1642): | mAnimator = null
12-13 15:08:26.879 D/LeakCanary(1642): | mAttachInfo = null
12-13 15:08:26.880 D/LeakCanary(1642): | mAttributes = null
12-13 15:08:26.880 D/LeakCanary(1642): | mBackground = null
12-13 15:08:26.880 D/LeakCanary(1642): | mBackgroundRenderNode = null
12-13 15:08:26.880 D/LeakCanary(1642): | mBackgroundResource = 0
12-13 15:08:26.880 D/LeakCanary(1642): | mBackgroundSizeChanged = true
12-13 15:08:26.880 D/LeakCanary(1642): | mBackgroundTint = null
12-13 15:08:26.880 D/LeakCanary(1642): | mBottom = 2112
12-13 15:08:26.880 D/LeakCanary(1642): | mCachingFailed = false
12-13 15:08:26.880 D/LeakCanary(1642): | mClipBounds = null
12-13 15:08:26.880 D/LeakCanary(1642): | mContentDescription = null
12-13 15:08:26.880 D/LeakCanary(1642): | mContext = [email protected] (0x12c336e0)
12-13 15:08:26.880 D/LeakCanary(1642): | mCurrentAnimation = null
12-13 15:08:26.880 D/LeakCanary(1642): | mDrawableState = int[2]@1874654592 (0x6fbcf580)
12-13 15:08:26.880 D/LeakCanary(1642): | mDrawingCache = null
12-13 15:08:26.880 D/LeakCanary(1642): | mDrawingCacheBackgroundColor = 0
12-13 15:08:26.880 D/LeakCanary(1642): | mFloatingTreeObserver = null
12-13 15:08:26.880 D/LeakCanary(1642): | mForegroundInfo = null
12-13 15:08:26.880 D/LeakCanary(1642): | mGhostView = null
12-13 15:08:26.880 D/LeakCanary(1642): | mHasPerformedLongPress = false
12-13 15:08:26.880 D/LeakCanary(1642): | mID = 2131624065
12-13 15:08:26.880 D/LeakCanary(1642): | mIgnoreNextUpEvent = false
12-13 15:08:26.880 D/LeakCanary(1642): | mInContextButtonPress = false
12-13 15:08:26.881 D/LeakCanary(1642): | mInputEventConsistencyVerifier = null
12-13 15:08:26.881 D/LeakCanary(1642): | mKeyedTags = [email protected] (0x12e3ae20)
12-13 15:08:26.881 D/LeakCanary(1642): | mLabelForId = -1
12-13 15:08:26.881 D/LeakCanary(1642): | mLastIsOpaque = false
12-13 15:08:26.881 D/LeakCanary(1642): | mLayerPaint = null
12-13 15:08:26.881 D/LeakCanary(1642): | mLayerType = 0
12-13 15:08:26.881 D/LeakCanary(1642): | mLayoutInsets = null
12-13 15:08:26.881 D/LeakCanary(1642): | mLayoutParams = [email protected] (0x12e3bca0)
12-13 15:08:26.881 D/LeakCanary(1642): | mLeft = 0
12-13 15:08:26.881 D/LeakCanary(1642): | mLeftPaddingDefined = false
12-13 15:08:26.881 D/LeakCanary(1642): | mListenerInfo = null
12-13 15:08:26.881 D/LeakCanary(1642): | mMatchIdPredicate = null
12-13 15:08:26.881 D/LeakCanary(1642): | mMatchLabelForPredicate = null
12-13 15:08:26.881 D/LeakCanary(1642): | mMeasureCache = [email protected] (0x12e3ae40)
12-13 15:08:26.881 D/LeakCanary(1642): | mMeasuredHeight = 2112
12-13 15:08:26.881 D/LeakCanary(1642): | mMeasuredWidth = 1440
12-13 15:08:26.881 D/LeakCanary(1642): | mMinHeight = 0
12-13 15:08:26.881 D/LeakCanary(1642): | mMinWidth = 0
12-13 15:08:26.881 D/LeakCanary(1642): | mNestedScrollingParent = null
12-13 15:08:26.881 D/LeakCanary(1642): | mNextFocusDownId = -1
12-13 15:08:26.881 D/LeakCanary(1642): | mNextFocusForwardId = -1
12-13 15:08:26.882 D/LeakCanary(1642): | mNextFocusLeftId = -1
12-13 15:08:26.882 D/LeakCanary(1642): | mNextFocusRightId = -1
12-13 15:08:26.882 D/LeakCanary(1642): | mNextFocusUpId = -1
12-13 15:08:26.882 D/LeakCanary(1642): | mOldHeightMeasureSpec = 1073743936
12-13 15:08:26.882 D/LeakCanary(1642): | mOldWidthMeasureSpec = 1073743264
12-13 15:08:26.882 D/LeakCanary(1642): | mOutlineProvider = [email protected] (0x6fbce280)
12-13 15:08:26.882 D/LeakCanary(1642): | mOverScrollMode = 1
12-13 15:08:26.882 D/LeakCanary(1642): | mOverlay = null
12-13 15:08:26.882 D/LeakCanary(1642): | mPaddingBottom = 0
12-13 15:08:26.882 D/LeakCanary(1642): | mPaddingLeft = 0
12-13 15:08:26.882 D/LeakCanary(1642): | mPaddingRight = 0
12-13 15:08:26.882 D/LeakCanary(1642): | mPaddingTop = 0
12-13 15:08:26.882 D/LeakCanary(1642): | mParent = null
12-13 15:08:26.882 D/LeakCanary(1642): | mPendingCheckForLongPress = null
12-13 15:08:26.882 D/LeakCanary(1642): | mPendingCheckForTap = null
12-13 15:08:26.882 D/LeakCanary(1642): | mPerformClick = null
12-13 15:08:26.882 D/LeakCanary(1642): | mPrivateFlags = -2127947760
12-13 15:08:26.882 D/LeakCanary(1642): | mPrivateFlags2 = 1611867688
12-13 15:08:26.882 D/LeakCanary(1642): | mPrivateFlags3 = 16
12-13 15:08:26.882 D/LeakCanary(1642): | mRecreateDisplayList = false
12-13 15:08:26.883 D/LeakCanary(1642): | mRenderNode = [email protected] (0x12e3ae60)
12-13 15:08:26.883 D/LeakCanary(1642): | mResources = [email protected] (0x12e3ea10)
12-13 15:08:26.883 D/LeakCanary(1642): | mRight = 1440
12-13 15:08:26.883 D/LeakCanary(1642): | mRightPaddingDefined = false
12-13 15:08:26.883 D/LeakCanary(1642): | mScrollCache = null
12-13 15:08:26.883 D/LeakCanary(1642): | mScrollIndicatorDrawable = null
12-13 15:08:26.883 D/LeakCanary(1642): | mScrollX = 0
12-13 15:08:26.883 D/LeakCanary(1642): | mScrollY = 0
12-13 15:08:26.883 D/LeakCanary(1642): | mSendViewScrolledAccessibilityEvent = null
12-13 15:08:26.883 D/LeakCanary(1642): | mSendViewStateChangedAccessibilityEvent = null
12-13 15:08:26.883 D/LeakCanary(1642): | mSendingHoverAccessibilityEvents = false
12-13 15:08:26.883 D/LeakCanary(1642): | mStartActivityRequestWho = null
12-13 15:08:26.883 D/LeakCanary(1642): | mStateListAnimator = null
12-13 15:08:26.883 D/LeakCanary(1642): | mSystemUiVisibility = 0
12-13 15:08:26.883 D/LeakCanary(1642): | mTag = null
12-13 15:08:26.883 D/LeakCanary(1642): | mTempNestedScrollConsumed = null
12-13 15:08:26.883 D/LeakCanary(1642): | mTop = 0
12-13 15:08:26.883 D/LeakCanary(1642): | mTouchDelegate = null
12-13 15:08:26.883 D/LeakCanary(1642): | mTouchSlop = 28
12-13 15:08:26.883 D/LeakCanary(1642): | mTransformationInfo = [email protected] (0x12e3ae80)
12-13 15:08:26.883 D/LeakCanary(1642): | mTransientStateCount = 0
12-13 15:08:26.884 D/LeakCanary(1642): | mTransitionName = null
Спасибо за ответ! Но я не думаю, что это работает как ожидалось (по крайней мере, не так, как я бы ожидал). Если я исключаю утечку, значит, я знаю об этом, и я не заинтересован в ее появлении. Это затрудняет использование отчетов LeakCanary. – tmtrademark
Я думаю, что вы ошибаетесь под словом «исключено», любая исключенная утечка также является недостатком (известный недостаток, созданный самим sroid android), и в некоторых случаях есть возможность излечить его. –
@tmtrademark У вас возникли проблемы? – alexpfx