我是 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)