guardianproject / haven

Haven is for people who need a way to protect their personal spaces and possessions without compromising their own privacy, through an Android app and on-device sensors
https://guardianproject.github.io/haven/
GNU General Public License v3.0
6.63k stars 728 forks source link

MonitorActivity Leak #398

Open archie94 opened 5 years ago

archie94 commented 5 years ago

this seems to be an issue with MaterialDateTimePicker

LeakCanary Log:

* org.havenapp.main.MonitorActivity has leaked:
* array Object[].!([0])!
* ↳ ObjectAnimator.!(mUpdateListeners)!
* ↳ ArrayList.!(elementData)!
* ↳ array Object[].!([0])!
* ↳ RadialSelectorView$InvalidateUpdateListener.!(this$0)!
* ↳ RadialSelectorView.mContext
* ↳ ContextThemeWrapper.mBase
* ↳ MonitorActivity

* Reference Key: 0b6f723d-5531-476d-95f8-0dbc4e053c15
* Device: Xiaomi Xiaomi POCO F1 beryllium
* Android Version: 9 API: 28 LeakCanary: 1.6.3 31007b4
* Durations: watch=37809ms, gc=174ms, heap dump=1709ms, analysis=10685ms

* Details:
* Array of java.lang.Object[]
|   [0] = android.animation.ObjectAnimator@316263376 (0x12d9cbd0)
|   [1] = android.animation.AnimatorSet$Node@316263512 (0x12d9cc58)
|   [2] = android.animation.ObjectAnimator@316263568 (0x12d9cc90)
|   [3] = android.animation.AnimatorSet$Node@316263704 (0x12d9cd18)
|   [4] = android.animation.ObjectAnimator@316263760 (0x12d9cd50)
|   [5] = android.animation.AnimatorSet$Node@316263896 (0x12d9cdd8)
|   [6] = android.animation.ValueAnimator@316263952 (0x12d9ce10)
|   [7] = android.animation.AnimatorSet$Node@316264080 (0x12d9ce90)
|   [8] = android.animation.ObjectAnimator@316264136 (0x12d9cec8)
|   [9] = android.animation.AnimatorSet$Node@316264272 (0x12d9cf50)
|   [10] = null
|   [11] = null
|   [12] = null
|   [13] = null
|   [14] = null
|   [15] = null
* Instance of android.animation.ObjectAnimator
|   static $class$dexTypeIndex = 212
|   static LOG_TAG = "ObjectAnimator"
|   static $class$status = -536870912
|   static DBG = false
|   static $class$clinitThreadId = 0
|   static $class$accessFlags = 524305
|   static $class$primitiveType = 131072
|   static $class$objectSizeAllocFastPath = 136
|   static $class$classLoader = null
|   static $class$componentType = null
|   static $class$numReferenceStaticFields = 1
|   static $class$ifTable = java.lang.Object[4]@1889915536 (0x70a5d290)
|   static $class$extData = null
|   static $class$dexClassDefIndex = 5067
|   static $class$copiedMethodsOffset = 51
|   static $class$superClass = android.animation.ValueAnimator
|   static $classOverhead = byte[344]@1890690273 (0x70b1a4e1)
|   static $class$sFields = 1893356264
|   static $class$classSize = 473
|   static $class$referenceInstanceOffsets = -536870425
|   static $class$vtable = null
|   static $class$objectSize = 136
|   static $class$methods = 1894313824
|   static $class$virtualMethodsOffset = 26
|   static $class$shadow$_monitor_ = 536870912
|   static $class$iFields = 1893356300
|   static $class$classFlags = 0
|   static $class$dexCache = java.lang.DexCache@1889632816 (0x70a18230)
|   static $class$name = "android.animation.ObjectAnimator"
|   static $class$shadow$_klass_ = java.lang.Class
|   static $class$numReferenceInstanceFields = 3
|   mAutoCancel = false
|   mProperty = null
|   mPropertyName = null
|   mTarget = java.lang.ref.WeakReference@320671104 (0x131d0d80)
|   mAnimationEndRequested = true
|   mCurrentFraction = 1.0
|   mDuration = 500
|   mDurationScale = -1.0
|   mFirstFrameTime = -1
|   mInitialized = true
|   mInterpolator = android.view.animation.AccelerateDecelerateInterpolator@1889761552 (0x70a37910)
|   mLastFrameTime = -1
|   mOverallFraction = 1.0
|   mPauseTime = 0
|   mRepeatCount = 0
|   mRepeatMode = 1
|   mResumed = false
|   mReversing = false
|   mRunning = false
|   mSeekFraction = -1.0
|   mSelfPulse = false
|   mStartDelay = 0
|   mStartListenersCalled = false
|   mStartTime = -1
|   mStartTimeCommitted = false
|   mStarted = false
|   mSuppressSelfPulseRequested = false
|   mUpdateListeners = java.util.ArrayList@320671016 (0x131d0d28)
|   mValues = android.animation.PropertyValuesHolder[2]@320671040 (0x131d0d40)
|   mValuesMap = java.util.HashMap@320671064 (0x131d0d58)
|   mChangingConfigurations = 0
|   mConstantState = null
|   mListeners = null
|   mPauseListeners = null
|   mPaused = false
|   shadow$_klass_ = android.animation.ObjectAnimator
|   shadow$_monitor_ = -2143708689
* Instance of java.util.ArrayList
|   static $class$dexTypeIndex = 1417
|   static DEFAULT_CAPACITY = 10
|   static $class$status = -536870912
|   static $class$clinitThreadId = 0
|   static $class$accessFlags = 524289
|   static $class$primitiveType = 131072
|   static serialVersionUID = 8683452581122892189
|   static $class$objectSizeAllocFastPath = 24
|   static $class$classLoader = null
|   static $class$componentType = null
|   static $class$numReferenceStaticFields = 2
|   static $class$ifTable = java.lang.Object[12]@1883826232 (0x7048e838)
|   static $class$extData = null
|   static MAX_ARRAY_SIZE = 2147483639
|   static $class$dexClassDefIndex = 3078
|   static $class$copiedMethodsOffset = 46
|   static $class$superClass = java.util.AbstractList
|   static $classOverhead = byte[180]@1883852065 (0x70494d21)
|   static $class$sFields = 1884584396
|   static $class$classSize = 328
|   static $class$referenceInstanceOffsets = 2
|   static $class$vtable = null
|   static $class$objectSize = 20
|   static $class$methods = 1884712548
|   static DEFAULTCAPACITY_EMPTY_ELEMENTDATA = java.lang.Object[0]@1889733056 (0x70a309c0)
|   static $class$virtualMethodsOffset = 15
|   static $class$shadow$_monitor_ = -1449315328
|   static $class$iFields = 1884584480
|   static $class$classFlags = 0
|   static $class$dexCache = java.lang.DexCache@1883557480 (0x7044ce68)
|   static $class$name = "java.util.ArrayList"
|   static $class$shadow$_klass_ = java.lang.Class
|   static EMPTY_ELEMENTDATA = java.lang.Object[0]@1886428272 (0x70709c70)
|   static $class$numReferenceInstanceFields = 1
|   elementData = java.lang.Object[10]@320671688 (0x131d0fc8)
|   size = 1
|   modCount = 1
|   shadow$_klass_ = java.util.ArrayList
|   shadow$_monitor_ = 0
* Array of java.lang.Object[]
|   [0] = com.wdullaer.materialdatetimepicker.time.RadialSelectorView$InvalidateUpdateListener@320664080 (0x131cf210)
|   [1] = null
|   [2] = null
|   [3] = null
|   [4] = null
|   [5] = null
|   [6] = null
|   [7] = null
|   [8] = null
|   [9] = null
* Instance of com.wdullaer.materialdatetimepicker.time.RadialSelectorView$InvalidateUpdateListener
|   static $class$dexTypeIndex = 1494
|   static $class$status = -536870912
|   static $class$clinitThreadId = 32583
|   static $class$accessFlags = 524288
|   static $class$primitiveType = 131072
|   static $class$objectSizeAllocFastPath = 16
|   static $class$classLoader = dalvik.system.PathClassLoader@316264424 (0x12d9cfe8)
|   static $class$componentType = null
|   static $class$numReferenceStaticFields = 0
|   static $class$ifTable = java.lang.Object[2]@318908968 (0x13022a28)
|   static $class$extData = null
|   static $class$dexClassDefIndex = 563
|   static $class$copiedMethodsOffset = 3
|   static $class$superClass = java.lang.Object
|   static $classOverhead = byte[52]@318799745 (0x13007f81)
|   static $class$sFields = 0
|   static $class$classSize = 176
|   static $class$referenceInstanceOffsets = 1
|   static $class$vtable = null
|   static $class$objectSize = 12
|   static $class$methods = 3972994760
|   static $class$virtualMethodsOffset = 2
|   static $class$shadow$_monitor_ = 0
|   static $class$iFields = 3972994736
|   static $class$classFlags = 0
|   static $class$dexCache = java.lang.DexCache@318698128 (0x12fef290)
|   static $class$name = null
|   static $class$shadow$_klass_ = java.lang.Class
|   static $class$numReferenceInstanceFields = 1
|   this$0 = com.wdullaer.materialdatetimepicker.time.RadialSelectorView@319954808 (0x13121f78)
|   shadow$_klass_ = com.wdullaer.materialdatetimepicker.time.RadialSelectorView$InvalidateUpdateListener
|   shadow$_monitor_ = 0
* Instance of com.wdullaer.materialdatetimepicker.time.RadialSelectorView
|   static $class$dexTypeIndex = 1495
|   static $class$status = -536870912
|   static $class$clinitThreadId = 32583
|   static $class$accessFlags = 524289
|   static $class$primitiveType = 131072
|   static $class$objectSizeAllocFastPath = 552
|   static FULL_ALPHA = 255
|   static $class$classLoader = dalvik.system.PathClassLoader@316264424 (0x12d9cfe8)
|   static $class$componentType = null
|   static $class$numReferenceStaticFields = 1
|   static $class$ifTable= java.lang.Object[6]@318908848 (0x130229b0)
|   static $class$extData = null
|   static $class$dexClassDefIndex = 564
|   static $class$copiedMethodsOffset = 9
|   static SELECTED_ALPHA_THEME_DARK = 255
|   static $class$superClass = android.view.View
|   static $classOverhead = byte[3244]@318799921 (0x13008031)
|   static $class$sFields = 3972991712
|   static $class$classSize = 3384
|   static $class$referenceInstanceOffsets = -1073741824
|   static $class$vtable = null
|   static $class$objectSize = 549
|   static $class$methods = 3972992176
|   static $class$virtualMethodsOffset = 1
|   static $class$shadow$_monitor_ = -1959795189
|   static $class$iFields = 3972991784
|   static $class$classFlags = 0
|   static TAG = "RadialSelectorView"
|   static $class$dexCache = java.lang.DexCache@318698128 (0x12fef290)
|   static $class$name = "com.wdullaer.materialdatetimepicker.time.RadialSelectorView"
|   static $class$shadow$_klass_ = java.lang.Class
|   static SELECTED_ALPHA = 255
|   static $class$numReferenceInstanceFields = 2
|   mAmPmCircleRadiusMultiplier = 0.0
|   mAnimationRadiusMultiplier = 1.3
|   mCircleRadius = 315
|   mCircleRadiusMultiplier = 0.85
|   mDrawValuesReady = true
|   mForceDrawDot = true
|   mHasInnerCircle = true
|   mInnerNumbersRadiusMultiplier = 0.6
|   mInvalidateUpdateListener = com.wdullaer.materialdatetimepicker.time.RadialSelectorView$InvalidateUpdateListener@320664080 (0x131cf210)
|   mIs24HourMode = true
|   mIsInitialized = true
|   mLineLength = 245
|   mNumbersRadiusMultiplier = 0.6
|   mOuterNumbersRadiusMultiplier = 0.83
|   mPaint = android.graphics.Paint@320664096 (0x131cf220)
|   mSelectionAlpha = 255
|   mSelectionDegrees = 0
|   mSelectionRadians = 0.0
|   mSelectionRadius = 50
|   mSelectionRadiusMultiplier = 0.16
|   mTransitionEndRadiusMultiplier = 1.3
|   mTransitionMidRadiusMultiplier = 0.95
|   mXCenter = 371
|   mYCenter = 371
|   mAccessibilityCursorPosition = -1
|   mAccessibilityDelegate = null
|   mAccessibilityPaneTitle = null
|   mAccessibilityTraversalAfterId = -1
|   mAccessibilityTraversalBeforeId = -1
|   mAccessibilityViewId = -1
|   mAnimator = null
|   mAttachInfo = null
|   mAttachedActivity = null
|   mAttributes = null
|   mAutofillHints = null
|   mAutofillId = null
|   mAutofillViewId = -1
|   mBackground = null
|   mBackgroundRenderNode = null
|   mBackgroundResource = 0
|   mBackgroundSizeChanged = true
|   mBackgroundTint = null
|   mBottom = 743
|   mCachingFailed = false
|   mClipBounds = null
|   mContentDescription = null
|   mContext = android.view.ContextThemeWrapper@319951144 (0x13121128)
|   mCurrentAnimation = null
|   mDefaultFocusHighlight = null
|   mDefaultFocusHighlightCache = null
|   mDefaultFocusHighlightEnabled = true
|   mDefaultFocusHighlightSizeChanged = true
|   mDrawableState = int[3]@1890142488 (0x70a94918)
|   mDrawingCache = null
|   mDrawingCacheBackgroundColor = 0
|   mFirst = true
|   mFloatingTreeObserver = null
|   mForegroundInfo = null
|   mFrameMetricsObservers = null
|   mGhostView = null
|   mHapticEnabledExplicitly = false
|   mHasPerformedLongPress = false
|   mID = -1
|   mIgnoreNextUpEvent = false
|   mInContextButtonPress = false
|   mInputEventConsistencyVerifier = null
|   mIsWebView = false
|   mIsWebViewScroll = false
|   mKeyedTags = null
|   mLabelForId = -1
|   mLastIsOpaque = false
|   mLayerPaint = null
|   mLayerType = 0
|   mLayoutInsets = null
|   mLayoutParams = android.widget.FrameLayout$LayoutParams@320664200 (0x131cf288)
|   mLeft = 0
|   mLeftPaddingDefined = false
|   mListenerInfo = null
|   mLongClickX = NaN
|   mLongClickY = NaN
|   mMatchIdPredicate = null
|   mMatchLabelForPredicate = null
|   mMeasureCache = android.util.LongSparseLongArray@320664256 (0x131cf2c0)
|   mMeasuredHeight = 743
|   mMeasuredWidth = 743
|   mMinHeight = 0
|   mMinWidth = 0
|   mNestedScrollingParent = null
|   mNextClusterForwardId = -1
|   mNextFocusDownId = -1
|   mNextFocusForwardId = -1
|   mNextFocusLeftId = -1
|   mNextFocusRightId = -1
|   mNextFocusUpId = -1
|   mOldHeightMeasureSpec = 1073742567
|mOldWidthMeasureSpec = 1073742567
|   mOutlineProvider = android.view.ViewOutlineProvider$1@1889734920 (0x70a31108)
|   mOverScrollMode = 1
|   mOverlay = null
|   mPaddingBottom = 0
|   mPaddingLeft = 0
|   mPaddingRight = 0
|   mPaddingTop = 0
|   mParent = com.wdullaer.materialdatetimepicker.time.RadialPickerLayout@319951256 (0x13121198)
|   mPendingCheckForLongPress = null
|   mPendingCheckForTap = null
|   mPerformClick = null
|   mPointerIcon = null
|   mPrivateFlags = 34864
|   mPrivateFlags2 = 1610819112
|   mPrivateFlags3 = 16
|   mRecreateDisplayList = false
|   mRenderNode = android.view.RenderNode@320664280 (0x131cf2d8)
|   mResources = android.content.res.MiuiResources@319952032 (0x131214a0)
|   mRight = 743
|   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 = 22
|   mTransformationInfo = android.view.View$TransformationInfo@320664304 (0x131cf2f0)
|   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 = 402653200
|   mVisibilityChangeForAutofillHandler = null
|   mWindowAttachCount = 1
|   shadow$_klass_ = com.wdullaer.materialdatetimepicker.time.RadialSelectorView
|   shadow$_monitor_ = 0
* Instance of android.view.ContextThemeWrapper
|   static $class$dexTypeIndex = 4626
|   static $class$status = -536870912
|   static $class$clinitThreadId = 0
|   static $class$accessFlags = 524289
|   static $class$primitiveType = 131072
|   static $class$objectSizeAllocFastPath = 32
|   static $class$classLoader = null
|   static $class$componentType = null
|   static $class$numReferenceStaticFields = 0
|   static $class$ifTable = java.lang.Object[0]@1888038496 (0x70892e60)
|   static $class$extData = null
|   static $class$dexClassDefIndex = 5518
|   static $class$copiedMethodsOffset = 15
|   static $class$superClass = android.content.ContextWrapper
|   static $classOverhead = byte[752]@1890493289 (0x70aea369)
|   static $class$sFields = 0
|   static $class$classSize = 876
|   static $class$referenceInstanceOffsets = 31
|   static $class$vtable = null
|   static $class$objectSize = 32
|   static $class$methods = 1894026900
|   static $class$virtualMethodsOffset = 5
|   static $class$shadow$_monitor_ = 536870912
|   static $class$iFields = 1893242944
|   static $class$classFlags = 0
|   static $class$dexCache = java.lang.DexCache@1889632912 (0x70a18290)
|   static $class$name = "android.view.ContextThemeWrapper"
|   static $class$shadow$_klass_ = java.lang.Class
|   static $class$numReferenceInstanceFields = 4
|   mInflater = com.android.internal.policy.PhoneLayoutInflater@319966160 (0x13124bd0)
|   mOverrideConfiguration = null
|   mResources = android.content.res.MiuiResources@319952032 (0x131214a0)
|   mTheme = android.content.res.Resources$Theme@319966808 (0x13124e58)
|   mThemeResource = 16974550
|   mBase = org.havenapp.main.MonitorActivity@319967048 (0x13124f48)
|   shadow$_klass_ = android.view.ContextThemeWrapper
|   shadow$_monitor_ = 0
* Instance of org.havenapp.main.MonitorActivity
|   static $class$dexTypeIndex = 342
|   static $class$status = -536870912
|   static $class$clinitThreadId = 32583
|   static $class$accessFlags = 524289
|   static $class$primitiveType = 131072
|   static serialVersionUID = -8293310074117104639
|   static $class$objectSizeAllocFastPath = 336
|   static $class$classLoader = dalvik.system.PathClassLoader@316264424 (0x12d9cfe8)
|   static $class$componentType = null
|   static $change = null
|   static $class$numReferenceStaticFields = 1
|   static $class$ifTable = java.lang.Object[40]@318901040 (0x13020b30)
|   static $class$extData = null
|   static $class$dexClassDefIndex = 125
|   static $class$copiedMethodsOffset = 43
|   static $class$superClass = androidx.appcompat.app.AppCompatActivity
|   static $classOverhead = byte[2216]@318842825 (0x130127c9)
|   static $class$sFields = 3978889352
|   static $class$classSize = 2360
|   static $class$referenceInstanceOffsets = -1073741824
|   static $class$vtable = null
|   static $class$objectSize = 331
|   static $class$methods = 3978889672
|   static $class$virtualMethodsOffset = 33
|   static $class$shadow$_monitor_ = -1916372288
|   static REQUEST_CAMERA = 999
|   static $class$iFields = 3978889424
|   static $class$classFlags = 0
|   static $class$dexCache = java.lang.DexCache@318829128 (0x1300f248)
|   static REQUEST_TIMER = 1000
|   static $class$name = "org.havenapp.main.MonitorActivity"
|   static $class$shadow$_klass_ = java.lang.Class
|   static $class$numReferenceInstanceFields = 11
|   cTimer = null
|   handler = org.havenapp.main.MonitorActivity$1@319970440 (0x13125c88)
|   lastEventType = -1
|   mAnimShake = android.view.animation.AnimationSet@319970472 (0x13125ca8)
|   mBtnAccel = androidx.appcompat.widget.AppCompatImageView@319970616 (0x13125d38)
|   mBtnCamera = androidx.appcompat.widget.AppCompatImageView@319971192 (0x13125f78)
|   mBtnMic = androidx.appcompat.widget.AppCompatImageView@319971768 (0x131261b8)
|   mFragmentCamera = org.havenapp.main.ui.CameraFragment@319972344 (0x131263f8)
|   mIsInitializedLayout = true
|   mIsMonitoring = false
|   mOnTimerTicking = false
|   preferences = org.havenapp.main.PreferenceManager@319972496 (0x13126490)
|   receiver = org.havenapp.main.MonitorActivity$2@319972520 (0x131264a8)
|   txtStatus = androidx.appcompat.widget.AppCompatTextView@319972544 (0x131264c0)
|   txtTimer = androidx.appcompat.widget.AppCompatTextView@319973384 (0x13126808)
|   mDelegate = androidx.appcompat.app.AppCompatDelegateImpl@319974224 (0x13126b50)
|   mResources = null
|   mThemeId = 2131886103
|   mCreated = true
|   mFragments = androidx.fragment.app.FragmentController@319974360 (0x13126bd8)
|   mNextCandidateRequestIndex = 0
|   mPendingFragmentActivityResults = androidx.collection.SparseArrayCompat@319974376 (0x13126be8)
|   mRequestedPermissionsFromFragment = false
|   mResumed = false
|   mStartedActivityFromFragment = false
|   mStartedIntentSenderFromFragment = false
|   mStopped = true
|   mLifecycleRegistry = androidx.lifecycle.LifecycleRegistry@319974400 (0x13126c00)
|   mOnBackPressedCallbacks = java.util.concurrent.CopyOnWriteArrayList@319974432 (0x13126c20)
|   mSavedStateRegistry = androidx.savedstate.bundle.BundleSavedStateRegistry@319974448 (0x13126c30)
|   mViewModelStore = androidx.lifecycle.ViewModelStore@319974472 (0x13126c48)
|   mExtraDataMap = androidx.collection.SimpleArrayMap@319974488 (0x13126c58)
|   mActionBar = null
|   mActionModeTypeStarting = 0
|   mActivityInfo = android.content.pm.ActivityInfo@319974512 (0x13126c70)
|   mActivityTransitionState = android.app.ActivityTransitionState@319974664 (0x13126d08)
|   mApplication = org.havenapp.main.HavenApp@316169328 (0x12d85c70)
|   mAutoFillIgnoreFirstResumePause = false
|   mAutoFillResetNeeded = false
|   mAutofillManager = null
|   mAutofillPopupWindow = null
|   mCalled = true
|   mCanEnterPictureInPicture = false
|   mChangeCanvasToTranslucent = false
|   mChangingConfigurations = false
|   mComponent = android.content.ComponentName@319974720 (0x13126d40)
|   mConfigChangeFlags = 0
|   mCurrentConfig = android.content.res.Configuration@319974736 (0x13126d50)
|   mDecor = null
|   mDefaultKeyMode = 0
|   mDefaultKeySsb = null
|   mDestroyed = true
|   mDoReportFullyDrawn = false
|   mEmbeddedID = null
|   mEnableDefaultActionBarUp = false
|   mEnterTransitionListener = android.app.SharedElementCallback$1@1889691912 (0x70a26908)
|   mExitTransitionListener = android.app.SharedElementCallback$1@1889691912 (0x70a26908)
|   mFinished = true
|   mFragments = android.app.FragmentController@319974856 (0x13126dc8)
|   mHandler = android.os.Handler@319974872 (0x13126dd8)
|   mHasCurrentPermissionsRequest = false
|   mIdent = 64787558
|   mInstanceTracker = android.os.StrictMode$InstanceTracker@319974904 (0x13126df8)
|   mInstrumentation = android.app.Instrumentation@319065968 (0x13048f70)
|   mIntent = android.content.Intent@319974920 (0x13126e08)
|   mInterceptor = null
|   mLastAutofillId = 1073741823
|   mLastNonConfigurationInstances = null
|   mMainThread = android.app.ActivityThread@316146144 (0x12d801e0)
|   mManagedCursors = java.util.ArrayList@319975000 (0x13126e58)
|   mManagedDialogs = null
|   mMenuInflater = null
|   mParent = null
|   mReferrer = "org.havenapp.main"
|   mRestoredFromBundle = false
|   mResultCode = 0
|   mResultData = null
|   mResumed = false
|   mSearchEvent = null
|   mSearchManager = null
|   mStartedActivity = false
|   mStopped = true
|   mTaskDescription = android.app.ActivityManager$TaskDescription@319975064 (0x13126e98)
|   mTemporaryPause = false
|   mTitle = "Haven"
|   mTitleColor = 0
|   mTitleReady = true
|   mToken = android.os.BinderProxy@319965936 (0x13124af0)
|   mTranslucentCallback = null
|   mUiThread = java.lang.Thread@2015227184 (0x781ded30)
|   mVisibleFromClient = true
|   mVisibleFromServer = false
|   mVoiceInteractor = null
|   mWindow = com.android.internal.policy.PhoneWindow@319975104 (0x13126ec0)
|   mWindowAdded = true
|   mWindowManager = android.view.WindowManagerImpl@319975480 (0x13127038)
|   mInflater = com.android.internal.policy.PhoneLayoutInflater@319975504 (0x13127050)
|   mOverrideConfiguration = null
|   mResources = android.content.res.MiuiResources@319952032 (0x131214a0)
|   mTheme = android.content.res.Resources$Theme@319975552 (0x13127080)
|   mThemeResource = 2131886103
|   mBase = android.app.ContextImpl@319966920 (0x13124ec8)
|   shadow$_klass_ = org.havenapp.main.MonitorActivity
|   shadow$_monitor_ = -2013756692
* Excluded Refs:
| Field: android.os.Message.obj
| Field: android.os.Message.next
| Field: android.os.Message.target
| Field: android.view.Choreographer$FrameDisplayEventReceiver.mMessageQueue (always)
| Field: android.view.ViewGroup$ViewLocationHolder.mRoot
| 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)