5

我是 LeakCanary 工具的新手,并且无法确定此泄漏是由我的代码泄漏还是 Android 本身的泄漏引起的。

我的猜测是这是一个 Android 问题,应该添加到 AndroidExcludedRefs.java 中,但由于我是该工具的新手,所以我想在这个主题上得到一些帮助。

这是泄漏跟踪:

In com.visma.ruby:2.14.0:20.
* com.visma.ruby.invoice.create.InvoiceActivity has leaked:
* GC ROOT static android.view.WindowManagerGlobal.sDefaultWindowManager
* references android.view.WindowManagerGlobal.mRoots
* references java.util.ArrayList.array
* references array java.lang.Object[].[3]
* references android.view.ViewRootImpl.mContext
* references android.view.ContextThemeWrapper.mBase
* leaks com.visma.ruby.invoice.create.InvoiceActivity instance
* Retaining: 26 KB.
* Reference Key: ecc25c5b-2e09-492d-bdf4-cf5c02029ae3
* Device: LGE google Nexus 5 hammerhead
* Android Version: 6.0.1 API: 23 LeakCanary: 1.5 00f37f5
* Durations: watch=643568ms, gc=155ms, heap dump=3193ms, analysis=51151ms

* Details:
* Class android.view.WindowManagerGlobal
|   static ADD_INVALID_TYPE = -10
|   static RELAYOUT_RES_SURFACE_CHANGED = 4
|   static ADD_FLAG_APP_VISIBLE = 2
|   static ADD_DUPLICATE_ADD = -5
|   static ADD_OKAY = 0
|   static sWindowSession = android.view.IWindowSession$Stub$Proxy@851449264 (0x32c015b0)
|   static ADD_STARTING_NOT_NEEDED = -6
|   static $staticOverhead = byte[176]@1891548001 (0x70bebb61)
|   static RELAYOUT_RES_IN_TOUCH_MODE = 1
|   static RELAYOUT_INSETS_PENDING = 1
|   static sWindowManagerService = android.view.IWindowManager$Stub$Proxy@851449248 (0x32c015a0)
|   static sDefaultWindowManager = android.view.WindowManagerGlobal@853405664 (0x32ddefe0)
|   static ADD_FLAG_IN_TOUCH_MODE = 1
|   static ADD_BAD_APP_TOKEN = -1
|   static ADD_MULTIPLE_SINGLETON = -7
|   static ADD_BAD_SUBWINDOW_TOKEN = -2
|   static RELAYOUT_DEFER_SURFACE_DESTROY = 2
|   static ADD_APP_EXITING = -4
|   static RELAYOUT_RES_FIRST_TIME = 2
|   static ADD_NOT_APP_TOKEN = -3
|   static ADD_INVALID_DISPLAY = -9
|   static ADD_PERMISSION_DENIED = -8
|   static TAG = java.lang.String@1888583576 (0x70917f98)
* Instance of android.view.WindowManagerGlobal
|   static ADD_INVALID_TYPE = -10
|   static RELAYOUT_RES_SURFACE_CHANGED = 4
|   static ADD_FLAG_APP_VISIBLE = 2
|   static ADD_DUPLICATE_ADD = -5
|   static ADD_OKAY = 0
|   static sWindowSession = android.view.IWindowSession$Stub$Proxy@851449264 (0x32c015b0)
|   static ADD_STARTING_NOT_NEEDED = -6
|   static $staticOverhead = byte[176]@1891548001 (0x70bebb61)
|   static RELAYOUT_RES_IN_TOUCH_MODE = 1
|   static RELAYOUT_INSETS_PENDING = 1
|   static sWindowManagerService = android.view.IWindowManager$Stub$Proxy@851449248 (0x32c015a0)
|   static sDefaultWindowManager = android.view.WindowManagerGlobal@853405664 (0x32ddefe0)
|   static ADD_FLAG_IN_TOUCH_MODE = 1
|   static ADD_BAD_APP_TOKEN = -1
|   static ADD_MULTIPLE_SINGLETON = -7
|   static ADD_BAD_SUBWINDOW_TOKEN = -2
|   static RELAYOUT_DEFER_SURFACE_DESTROY = 2
|   static ADD_APP_EXITING = -4
|   static RELAYOUT_RES_FIRST_TIME = 2
|   static ADD_NOT_APP_TOKEN = -3
|   static ADD_INVALID_DISPLAY = -9
|   static ADD_PERMISSION_DENIED = -8
|   static TAG = java.lang.String@1888583576 (0x70917f98)
|   mDyingViews = android.util.ArraySet@854104576 (0x32e89a00)
|   mLock = java.lang.Object@853993248 (0x32e6e720)
|   mParams = java.util.ArrayList@854104608 (0x32e89a20)
|   mRoots = java.util.ArrayList@854104640 (0x32e89a40)
|   mSystemPropertyUpdater = android.view.WindowManagerGlobal$2@851449376 (0x32c01620)
|   mViews = java.util.ArrayList@854104672 (0x32e89a60)
|   shadow$_klass_ = android.view.WindowManagerGlobal
|   shadow$_monitor_ = 0
* Instance of java.util.ArrayList
|   static $staticOverhead = byte[16]@1890195593 (0x70aa1889)
|   static MIN_CAPACITY_INCREMENT = 12
|   static serialVersionUID = 8683452581122892189
|   array = java.lang.Object[12]@854100736 (0x32e88b00)
|   size = 11
|   modCount = 133
|   shadow$_klass_ = java.util.ArrayList
|   shadow$_monitor_ = 0
* Array of java.lang.Object[]
|   [0] = android.view.ViewRootImpl@853266752 (0x32dbd140)
|   [1] = android.view.ViewRootImpl@860036256 (0x33431ca0)
|   [2] = android.view.ViewRootImpl@860046816 (0x334345e0)
|   [3] = android.view.ViewRootImpl@860045856 (0x33434220)
|   [4] = android.view.ViewRootImpl@860050656 (0x334354e0)
|   [5] = android.view.ViewRootImpl@860055936 (0x33436980)
|   [6] = android.view.ViewRootImpl@860051136 (0x334356c0)
|   [7] = android.view.ViewRootImpl@860047776 (0x334349a0)
|   [8] = android.view.ViewRootImpl@860048256 (0x33434b80)
|   [9] = android.view.ViewRootImpl@860051616 (0x334358a0)
|   [10] = android.view.ViewRootImpl@860053536 (0x33436020)
|   [11] = null
* Instance of android.view.ViewRootImpl
|   static MAX_TRACKBALL_DELAY = 250
|   static MSG_UPDATE_CONFIGURATION = 18
|   static MSG_CLOSE_SYSTEM_DIALOGS = 14
|   static sRunQueues = java.lang.ThreadLocal@1889902464 (0x70a59f80)
|   static MSG_DISPATCH_DRAG_LOCATION_EVENT = 16
|   static MSG_CHECK_FOCUS = 13
|   static sFirstDrawHandlers = java.util.ArrayList@1889947528 (0x70a64f88)
|   static MSG_RESIZED = 4
|   static DEBUG_FPS = false
|   static LOCAL_LOGV = false
|   static MSG_DISPATCH_WINDOW_SHOWN = 25
|   static DEBUG_CONFIGURATION = false
|   static sConfigCallbacks = java.util.ArrayList@1889947552 (0x70a64fa0)
|   static MSG_PROCESS_INPUT_EVENTS = 19
|   static MSG_DISPATCH_DRAG_EVENT = 15
|   static DEBUG_LAYOUT = false
|   static DEBUG_INPUT_RESIZE = false
|   static mResizeInterpolator = android.view.animation.AccelerateDecelerateInterpolator@1889902504 (0x70a59fa8)
|   static MSG_INVALIDATE_RECT = 2
|   static TAG = java.lang.String@1888581880 (0x709178f8)
|   static MSG_DISPATCH_WINDOW_ANIMATION_STARTED = 27
|   static DEBUG_IMF = false
|   static DBG = false
|   static MSG_WINDOW_FOCUS_CHANGED = 6
|   static MSG_FINISH_INPUT_CONNECTION = 12
|   static MSG_SYNTHESIZE_INPUT_EVENT = 24
|   static MSG_CLEAR_ACCESSIBILITY_FOCUS_HOST = 21
|   static PROPERTY_EMULATOR_WIN_OUTSET_BOTTOM_PX = java.lang.String@1888640536 (0x70925e18)
|   static MSG_DIE = 3
|   static $staticOverhead = byte[376]@1891546865 (0x70beb6f1)
|   static MSG_RESIZED_REPORT = 5
|   static PROPERTY_PROFILE_RENDERING = java.lang.String@1888649944 (0x709282d8)
|   static MSG_INVALIDATE = 1
|   static MSG_DISPATCH_INPUT_EVENT = 7
|   static MSG_DISPATCH_APP_VISIBILITY = 8
|   static DEBUG_TRACKBALL = false
|   static MSG_DISPATCH_KEY_FROM_IME = 11
|   static MSG_INVALIDATE_WORLD = 22
|   static MSG_DISPATCH_GET_NEW_SURFACE = 9
|   static MAX_QUEUED_INPUT_EVENT_POOL_SIZE = 10
|   static MSG_DISPATCH_SYSTEM_UI_VISIBILITY = 17
|   static sFirstDrawComplete = true
|   static DEBUG_DIALOG = false
|   static MSG_DISPATCH_WINDOW_ANIMATION_STOPPED = 26
|   static DEBUG_DRAW = false
|   static DEBUG_ORIENTATION = false
|   static MSG_WINDOW_MOVED = 23
|   static DEBUG_INPUT_STAGES = false
|   mAccessibilityFocusedHost = null
|   mAccessibilityFocusedVirtualView = null
|   mAccessibilityInteractionConnectionManager = android.view.ViewRootImpl$AccessibilityInteractionConnectionManager@861332112 (0x3356e290)
|   mAccessibilityInteractionController = null
|   mAccessibilityManager = android.view.accessibility.AccessibilityManager@852229904 (0x32cbff10)
|   mAdded = true
|   mAddedTouchMode = true
|   mAppVisible = false
|   mApplyInsetsRequested = false
|   mAttachInfo = android.view.View$AttachInfo@860884800 (0x33500f40)
|   mAudioManager = null
|   mBasePackageName = java.lang.String@853613296 (0x32e11af0)
|   mBlockResizeBuffer = false
|   mChoreographer = android.view.Choreographer@852264256 (0x32cc8540)
|   mClientWindowLayoutFlags = 8519680
|   mConsumeBatchedInputImmediatelyRunnable = android.view.ViewRootImpl$ConsumeBatchedInputImmediatelyRunnable@861332000 (0x3356e220)
|   mConsumeBatchedInputImmediatelyScheduled = false
|   mConsumeBatchedInputScheduled = false
|   mConsumedBatchedInputRunnable = android.view.ViewRootImpl$ConsumeBatchedInputRunnable@861331984 (0x3356e210)
|   mContext = android.view.ContextThemeWrapper@860526656 (0x334a9840)
|   mCurScrollY = 0
|   mCurrentDragView = null
|   mDensity = 480
|   mDirty = android.graphics.Rect@860642720 (0x334c5da0)
|   mDispatchContentInsets = android.graphics.Rect@860642400 (0x334c5c60)
|   mDispatchStableInsets = android.graphics.Rect@860642464 (0x334c5ca0)
|   mDisplay = android.view.Display@853714032 (0x32e2a470)
|   mDisplayAdjustments = android.view.DisplayAdjustments@853689728 (0x32e24580)
|   mDisplayListener = android.view.ViewRootImpl$1@861331952 (0x3356e1f0)
|   mDisplayManager = android.hardware.display.DisplayManager@858904352 (0x3331d720)
|   mDragDescription = null
|   mDragPoint = android.graphics.PointF@861331920 (0x3356e1d0)
|   mDrawDuringWindowsAnimating = false
|   mDrawingAllowed = false
|   mFallbackEventHandler = com.android.internal.policy.PhoneFallbackEventHandler@860647808 (0x334c7180)
|   mFirst = false
|   mFirstInputStage = android.view.ViewRootImpl$NativePreImeInputStage@859080592 (0x33348790)
|   mFirstPostImeInputStage = android.view.ViewRootImpl$EarlyPostImeInputStage@860648128 (0x334c72c0)
|   mFpsNumFrames = 0
|   mFpsPrevTime = -1
|   mFpsStartTime = -1
|   mFullRedrawNeeded = false
|   mHandler = android.view.ViewRootImpl$ViewRootHandler@860642560 (0x334c5d00)
|   mHandlingLayoutInLayoutRequest = false
|   mHardwareXOffset = -96
|   mHardwareYOffset = -96
|   mHasHadWindowFocus = false
|   mHeight = 270
|   mHighContrastTextManager = android.view.ViewRootImpl$HighContrastTextManager@861332128 (0x3356e2a0)
|   mInLayout = false
|   mInputChannel = android.view.InputChannel@861332208 (0x3356e2f0)
|   mInputEventConsistencyVerifier = null
|   mInputEventReceiver = android.view.ViewRootImpl$WindowInputEventReceiver@859080112 (0x333485b0)
|   mInputQueue = null
|   mInputQueueCallback = null
|   mInvalidateOnAnimationRunnable = android.view.ViewRootImpl$InvalidateOnAnimationRunnable@860642592 (0x334c5d20)
|   mIsAnimating = true
|   mIsCreating = false
|   mIsDrawing = false
|   mIsInTraversal = false
|   mLastConfiguration = android.content.res.Configuration@859944608 (0x3341b6a0)
|   mLastGivenInsets = android.view.ViewTreeObserver$InternalInsetsInfo@860642304 (0x334c5c00)
|   mLastInCompatMode = false
|   mLastOverscanRequested = false
|   mLastScrolledFocus = null
|   mLastSystemUiVisibility = 0
|   mLastTouchPoint = android.graphics.PointF@861331936 (0x3356e1e0)
|   mLastWasImTarget = false
|   mLastWindowInsets = android.view.WindowInsets@860650784 (0x334c7d20)
|   mLayoutRequested = false
|   mLayoutRequesters = java.util.ArrayList@860642528 (0x334c5ce0)
|   mLocalDragState = null
|   mLocation = android.view.WindowLeaked@860642688 (0x334c5d80)
|   mNewSurfaceNeeded = false
|   mNoncompatDensity = 480
|   mOrigWindowType = 2
|   mPausedForTransition = false
|   mPendingConfiguration = android.content.res.Configuration@859944800 (0x3341b760)
|   mPendingContentInsets = android.graphics.Rect@860642240 (0x334c5bc0)
|   mPendingInputEventCount = 0
|   mPendingInputEventHead = null
|   mPendingInputEventQueueLengthCounterName = java.lang.String@861058272 (0x3352b4e0)
|   mPendingInputEventTail = null
|   mPendingOutsets = android.graphics.Rect@860642272 (0x334c5be0)
|   mPendingOverscanInsets = android.graphics.Rect@860642144 (0x334c5b60)
|   mPendingStableInsets = android.graphics.Rect@860642208 (0x334c5ba0)
|   mPendingTransitions = null
|   mPendingVisibleInsets = android.graphics.Rect@860642176 (0x334c5b80)
|   mPreviousTransparentRegion = android.graphics.Region@861332032 (0x3356e240)
|   mProcessInputEventsScheduled = false
|   mProfile = false
|   mProfileRendering = false
|   mQueuedInputEventPool = null
|   mQueuedInputEventPoolSize = 0
|   mRemainingFrameCount = -1
|   mRemoved = false
|   mRenderProfiler = null
|   mRenderProfilingEnabled = false
|   mReportNextDraw = false
|   mResizeAlpha = 0
|   mResizeBuffer = null
|   mResizeBufferDuration = 0
|   mResizeBufferStartTime = 0
|   mResizePaint = android.graphics.Paint@859944992 (0x3341b820)
|   mScrollMayChange = true
|   mScrollY = 0
|   mScroller = null
|   mSendWindowContentChangedAccessibilityEvent = null
|   mSeq = 0
|   mSoftInputMode = 288
|   mStopped = false
|   mSurface = android.view.Surface@860496832 (0x334a23c0)
|   mSurfaceHolder = null
|   mSurfaceHolderCallback = null
|   mSyntheticInputStage = android.view.ViewRootImpl$SyntheticInputStage@859080208 (0x33348610)
|   mTargetSdkVersion = 25
|   mTempHashSet = null
|   mTempRect = android.graphics.Rect@860642752 (0x334c5dc0)
|   mThread = java.lang.Thread@1951326880 (0x744ee2a0)
|   mTmpLocation = int[2]@860642080 (0x334c5b20)
|   mTmpValue = android.util.TypedValue@859078960 (0x33348130)
|   mTranslator = null
|   mTransparentRegion = android.graphics.Region@861332016 (0x3356e230)
|   mTraversalBarrier = 1192
|   mTraversalRunnable = android.view.ViewRootImpl$TraversalRunnable@861331968 (0x3356e200)
|   mTraversalScheduled = false
|   mUnbufferedInputDispatch = false
|   mView = com.android.internal.policy.PhoneWindow$DecorView@861795328 (0x335df400)
|   mViewConfiguration = android.view.ViewConfiguration@852224848 (0x32cbeb50)
|   mViewLayoutDirectionInitial = 2
|   mViewVisibility = 8
|   mVisRect = android.graphics.Rect@860642784 (0x334c5de0)
|   mWidth = 960
|   mWillDrawSoon = false
|   mWinFrame = android.graphics.Rect@860642816 (0x334c5e00)
|   mWindow = android.view.ViewRootImpl$W@860642848 (0x334c5e20)
|   mWindowAttributes = android.view.WindowManager$LayoutParams@861057152 (0x3352b080)
|   mWindowAttributesChanged = false
|   mWindowAttributesChangesFlag = 0
|   mWindowSession = android.view.IWindowSession$Stub$Proxy@851449264 (0x32c015b0)
|   mWindowsAnimating = true
|   shadow$_klass_ = android.view.ViewRootImpl
|   shadow$_monitor_ = 0
* Instance of android.view.ContextThemeWrapper
|   mInflater = com.android.internal.policy.PhoneLayoutInflater@859000544 (0x33334ee0)
|   mOverrideConfiguration = null
|   mResources = android.content.res.Resources@853683504 (0x32e22d30)
|   mTheme = android.content.res.Resources$Theme@860575648 (0x334b57a0)
|   mThemeResource = 2131362017
|   mBase = com.visma.ruby.invoice.create.InvoiceActivity@851887008 (0x32c6c3a0)
|   shadow$_klass_ = android.view.ContextThemeWrapper
|   shadow$_monitor_ = -1898473849
* Instance of com.visma.ruby.invoice.create.InvoiceActivity
|   static EXTRA_CUSTOMER_EMAIL = java.lang.String@859309312 (0x33380500)
|   static EXTRA_COST_CENTER_3 = java.lang.String@859309184 (0x33380480)
|   static INVOICE_DATE_PICKER_TAG = java.lang.String@859309888 (0x33380740)
|   static EXTRA_COST_CENTER_IDS = java.lang.String@859309248 (0x333804c0)
|   static EXTRA_DATA_DRAFT_GUID = java.lang.String@859309504 (0x333805c0)
|   static EXTRA_CUSTOMER_REFERENCE = java.lang.String@859309440 (0x33380580)
|   static DELIVERY_DATE_PICKER_TAG = java.lang.String@859308928 (0x33380380)
|   static EXTRA_DATA_DATABASE_ID = java.lang.String@859268352 (0x33376500)
|   static EXTRA_INITIAL_INVOICE_DATA = java.lang.String@859266272 (0x33375ce0)
|   static DUE_DATE_PICKER_TAG = java.lang.String@859308992 (0x333803c0)
|   static EXTRA_INVOICE_DATA = java.lang.String@859309632 (0x33380640)
|   static LOADER_ID_INVOICE_DRAFT_ROWS = 2
|   static ACTIVITY_REQUEST_EDIT_INVOICE_ROW = 2
|   static EXTRA_DELIVERY_DATE = java.lang.String@859309568 (0x33380600)
|   static EXTRA_COST_CENTER_1 = java.lang.String@859309056 (0x33380400)
|   static ACTIVITY_REQUEST_NEW_INVOICE_ROW = 1
|   static LOADER_ID_CUSTOMER = 3
|   static ACTIVITY_REQUEST_CREATE_CUSTOMER = 3
|   static EXTRA_CUSTOMER_GUID = java.lang.String@859309376 (0x33380540)
|   static $staticOverhead = byte[216]@859283457 (0x3337a001)
|   static EXTRA_COST_CENTER_2 = java.lang.String@859309120 (0x33380440)
|   static EXTRA_OUR_REFERENCE = java.lang.String@859309824 (0x33380700)
|   static LOADER_ID_INVOICE_DRAFT = 1
|   static EXTRA_DUE_DATE = java.lang.String@859281152 (0x33379700)
|   static EXTRA_INVOICE_ROWS = java.lang.String@859309760 (0x333806c0)
|   static EXTRA_INVOICE_DATE = java.lang.String@859309696 (0x33380680)
|   static LOADER_ID_CUSTOMERS = 0
|   static ACTIVITY_REQUEST_VIEW_OR_EDIT_CUSTOMER = 4
|   mBinding = com.visma.ruby.databinding.ActivityNewCustomerInvoiceBinding@856028240 (0x3305f450)
|   mCostCenter1 = null
|   mCostCenter2 = null
|   mCostCenter3 = null
|   mCostCenterIdsFromDraft = java.lang.String[3]@859368800 (0x3338ed60)
|   mCurrentAnimator = null
|   mCustomerAdapter = com.visma.ruby.customer.CustomerAdapter@857851872 (0x3321c7e0)
|   mCustomerEmail = java.lang.String@858657936 (0x332e1490)
|   mCustomerFields = java.lang.String[8]@857330256 (0x3319d250)
|   mCustomerGuid = java.lang.String@858705824 (0x332ecfa0)
|   mCustomerReference = java.lang.String@860303216 (0x33472f70)
|   mDeliveryDate = null
|   mDeliveryDatePickerDialog = com.wdullaer.materialdatetimepicker.date.DatePickerDialog@860821984 (0x334f19e0)
|   mDraftGuid = java.lang.String@858705248 (0x332ecd60)
|   mDueDate = java.util.Date@860874256 (0x334fe610)
|   mDueDatePickerDialog = com.wdullaer.materialdatetimepicker.date.DatePickerDialog@860821680 (0x334f18b0)
|   mEmailPattern = java.util.regex.Pattern@858490432 (0x332b8640)
|   mInitialInvoiceData = com.visma.ruby.network.request.customerinvoice.create.GetInitialDataForInvoiceAnswer@859982016 (0x334248c0)
|   mInvoiceDate = java.util.Date@858817056 (0x33308220)
|   mInvoiceDatePickerDialog = com.wdullaer.materialdatetimepicker.date.DatePickerDialog@860821376 (0x334f1780)
|   mInvoiceRowAdapter = com.visma.ruby.invoice.create.InvoiceRowAdapter@858789504 (0x33301680)
|   mInvoiceViewModel = com.visma.ruby.invoice.create.InvoiceViewModel@858767328 (0x332fbfe0)
|   mIsRestoringState = false
|   mIsSendingInvoice = true
|   mIsShowingExtendedInvoiceData = false
|   mListFooter = android.widget.RelativeLayout@857997312 (0x33240000)
|   mListHeader = android.support.v7.widget.CardView@857981952 (0x3323c400)
|   mOnDeliveryDateSetListener = com.visma.ruby.invoice.create.InvoiceActivity$24@856513920 (0x330d5d80)
|   mOnDueDateSetListener = com.visma.ruby.invoice.create.InvoiceActivity$23@856513904 (0x330d5d70)
|   mOnInvoiceDateSetListener = com.visma.ruby.invoice.create.InvoiceActivity$22@856513888 (0x330d5d60)
|   mOurReference = java.lang.String@860450960 (0x33497090)
|   mShortAnimationDuration = 500
|   mDelegate = android.support.v7.app.AppCompatDelegateImplV23@857012160 (0x3314f7c0)
|   mEatKeyUpEvent = false
|   mResources = null
|   mThemeId = 2131362025
|   mCreated = true
|   mFragments = android.support.v4.app.FragmentController@856513872 (0x330d5d50)
|   mHandler = android.support.v4.app.FragmentActivity$1@858490368 (0x332b8600)
|   mMediaController = null
|   mNextCandidateRequestIndex = 0
|   mOptionsMenuInvalidated = false
|   mPendingFragmentActivityResults = android.support.v4.util.SparseArrayCompat@858492032 (0x332b8c80)
|   mReallyStopped = true
|   mRequestedPermissionsFromFragment = false
|   mResumed = false
|   mRetaining = false
|   mStopped = true
|   mStartedActivityFromFragment = false
|   mStartedIntentSenderFromFragment = false
|   mActionBar = null
|   mActionModeTypeStarting = 0
|   mActivityInfo = android.content.pm.ActivityInfo@859447424 (0x333a2080)
|   mActivityTransitionState = android.app.ActivityTransitionState@858041728 (0x3324ad80)
|   mApplication = com.visma.ruby.RubyDebugApplication@853914336 (0x32e5b2e0)
|   mCalled = true
|   mChangeCanvasToTranslucent = false
|   mChangingConfigurations = false
|   mComponent = android.content.ComponentName@855490800 (0x32fdc0f0)
|   mConfigChangeFlags = 0
|   mCurrentConfig = android.content.res.Configuration@857278112 (0x331906a0)
|   mDecor = null
|   mDefaultKeyMode = 0
|   mDefaultKeySsb = null
|   mDestroyed = true
|   mDoReportFullyDrawn = false
|   mEmbeddedID = null
|   mEnableDefaultActionBarUp = false
|   mEnterTransitionListener = android.app.SharedElementCallback$1@1889850936 (0x70a4d638)
|   mExitTransitionListener = android.app.SharedElementCallback$1@1889850936 (0x70a4d638)
|   mFinished = true
|   mFragments = android.app.FragmentController@856513824 (0x330d5d20)
|   mHandler = android.os.Handler@858490304 (0x332b85c0)
|   mHasCurrentPermissionsRequest = false
|   mIdent = 94576212
|   mInstanceTracker = android.os.StrictMode$InstanceTracker@856513840 (0x330d5d30)
|   mInstrumentation = android.app.Instrumentation@853888784 (0x32e54f10)
|   mIntent = android.content.Intent@855433792 (0x32fce240)
|   mLastNonConfigurationInstances = null
|   mMainThread = android.app.ActivityThread@851456256 (0x32c03100)
|   mManagedCursors = java.util.ArrayList@858490336 (0x332b85e0)
|   mManagedDialogs = null
|   mMenuInflater = null
|   mParent = null
|   mReferrer = java.lang.String@855450288 (0x32fd22b0)
|   mResultCode = 0
|   mResultData = null
|   mResumed = false
|   mSearchEvent = null
|   mSearchManager = null
|   mStartedActivity = false
|   mStopped = true
|   mTemporaryPause = false
|   mTitle = java.lang.String@859281632 (0x333798e0)
|   mTitleColor = 0
|   mTitleReady = true
|   mToken = android.os.BinderProxy@858474560 (0x332b4840)
|   mTranslucentCallback = null
|   mUiThread = java.lang.Thread@1951326880 (0x744ee2a0)
|   mVisibleBehind = false
|   mVisibleFromClient = true
|   mVisibleFromServer = true
|   mVoiceInteractor = null
|   mWindow = com.android.internal.policy.PhoneWindow@853561984 (0x32e05280)
|   mWindowAdded = true
|   mWindowManager = android.view.WindowManagerImpl@858490880 (0x332b8800)
|   mInflater = com.android.internal.policy.PhoneLayoutInflater@857330544 (0x3319d370)
|   mOverrideConfiguration = null
|   mResources = android.content.res.Resources@853683504 (0x32e22d30)
|   mTheme = android.content.res.Resources$Theme@858490912 (0x332b8820)
|   mThemeResource = 2131362025
|   mBase = android.app.ContextImpl@858878464 (0x33317200)
|   shadow$_klass_ = com.visma.ruby.invoice.create.InvoiceActivity
|   shadow$_monitor_ = 1231866070
* Excluded Refs:
| Field: android.view.inputmethod.InputMethodManager.mNextServedView
| Field: android.view.inputmethod.InputMethodManager.mServedView
| Field: android.view.inputmethod.InputMethodManager.mServedInputConnection
| Field: android.view.inputmethod.InputMethodManager.mCurRootView
| Field: android.os.UserManager.mContext
| Field: android.net.ConnectivityManager.sInstance
| 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)
4

0 回答 0