PhilJay / MPAndroidChart

A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations.
Other
37.64k stars 9.02k forks source link

Leak detected via Leak Canary BarChart. #4409

Open raghunandankavi2010 opened 5 years ago

raghunandankavi2010 commented 5 years ago

Getting a leak with leak canary related to BarChart.

androidx.lifecycle.ReportFragment has leaked:

static MoveViewJob.!(pool)!

↳ ObjectPool.!(objects)!

↳ array Object[].!([1])!

↳ MoveViewJob.!(view)!

↳ BarChart.mContext

↳ MyDashBoardActivity.mFragments

↳ FragmentController.mHost

↳ Activity$HostCallbacks.mFragmentManager

↳ FragmentManagerImpl.mAdded

↳ ArrayList.elementData

↳ array Object[].[0]

↳ ReportFragment

Reference Key: f37f1217-ee0d-4f34-bb8b-3bd1ab3e7bcb

Device: Google google Pixel 2 XL taimen

Android Version: 9 API: 28 LeakCanary: 1.6.3 31007b4

Durations: watch=10008ms, gc=145ms, heap dump=1922ms, analysis=10330ms

Details:

Class com.github.mikephil.charting.jobs.MoveViewJob | static $class$copiedMethodsOffset = 6 | static $class$objectSizeAllocFastPath = 40 | static $class$classLoader = dalvik.system.PathClassLoader@319815680 (0x13100000) | static $class$objectSize = 36 | static $class$extData = null | static $class$shadow$klass = java.lang.Class | static $classOverhead = byte[132]@320868729 (0x13201179) | static $class$superClass = com.github.mikephil.charting.jobs.ViewPortJob | static $class$vtable = null | static pool = com.github.mikephil.charting.utils.ObjectPool@320910408 (0x1320b448) | static $class$numReferenceInstanceFields = 0 | static $class$classFlags = 0 | static $class$methods = 477818533664 | static $class$virtualMethodsOffset = 4 | static $class$shadow$monitor = 0 | static $class$sFields = 477818533640 | static $class$componentType = null | static $class$numReferenceStaticFields = 1 | static $class$clinitThreadId = 19052 | static $class$ifTable = java.lang.Object[2]@320910384 (0x1320b430) | static $class$dexCache = java.lang.DexCache@320900296 (0x13208cc8) | static $class$iFields = 0 | static $class$status = -536870912 | static $class$primitiveType = 131072 | static $class$accessFlags = 524289 | static $class$dexTypeIndex = 205 | static $class$name = null | static $class$classSize = 260 | static $class$referenceInstanceOffsets = 30 | static $class$dexClassDefIndex = 91

Instance of com.github.mikephil.charting.utils.ObjectPool | static $class$copiedMethodsOffset = 14 | static $class$objectSizeAllocFastPath = 32 | static $class$classLoader = dalvik.system.PathClassLoader@319815680 (0x13100000) | static $class$objectSize = 32 | static $class$extData = null | static $class$shadow$klass = java.lang.Class | static $classOverhead = byte[164]@320889217 (0x13206181) | static $class$superClass = java.lang.Object | static $class$vtable = null | static $class$numReferenceInstanceFields = 2 | static $class$classFlags = 0 | static $class$methods = 477818552152 | static $class$virtualMethodsOffset = 6 | static $class$shadow$monitor = 0 | static $class$sFields = 477818552024 | static $class$componentType = null | static $class$numReferenceStaticFields = 0 | static $class$clinitThreadId = 19052 | static $class$ifTable = java.lang.Object[0]@1884405672 (0x7051bfa8) | static $class$dexCache = java.lang.DexCache@320900200 (0x13208c68) | static $class$iFields = 477818552048 | static $class$status = -536870912 | static $class$primitiveType = 131072 | static $class$accessFlags = 524289 | static ids = 4 | static $class$dexTypeIndex = 225 | static $class$name = null | static $class$classSize = 292 | static $class$referenceInstanceOffsets = 3 | static $class$dexClassDefIndex = 56 | desiredCapacity = 2 | modelObject = com.github.mikephil.charting.jobs.MoveViewJob@320910440 (0x1320b468) | objects = java.lang.Object[2]@320910480 (0x1320b490) | objectsPointer = 1 | poolId = 3 | replenishPercentage = 0.5 | shadow$klass = com.github.mikephil.charting.utils.ObjectPool | shadow$monitor = 0

Array of java.lang.Object[] | [0] = com.github.mikephil.charting.jobs.MoveViewJob@320910504 (0x1320b4a8) | [1] = com.github.mikephil.charting.jobs.MoveViewJob@320910544 (0x1320b4d0)

Instance of com.github.mikephil.charting.jobs.MoveViewJob | static $class$copiedMethodsOffset = 6 | static $class$objectSizeAllocFastPath = 40 | static $class$classLoader = dalvik.system.PathClassLoader@319815680 (0x13100000) | static $class$objectSize = 36 | static $class$extData = null | static $class$shadow$klass = java.lang.Class | static $classOverhead = byte[132]@320868729 (0x13201179) | static $class$superClass = com.github.mikephil.charting.jobs.ViewPortJob | static $class$vtable = null | static pool = com.github.mikephil.charting.utils.ObjectPool@320910408 (0x1320b448) | static $class$numReferenceInstanceFields = 0 | static $class$classFlags = 0 | static $class$methods = 477818533664 | static $class$virtualMethodsOffset = 4 | static $class$shadow$monitor = 0 | static $class$sFields = 477818533640 | static $class$componentType = null | static $class$numReferenceStaticFields = 1 | static $class$clinitThreadId = 19052 | static $class$ifTable = java.lang.Object[2]@320910384 (0x1320b430) | static $class$dexCache = java.lang.DexCache@320900296 (0x13208cc8) | static $class$iFields = 0 | static $class$status = -536870912 | static $class$primitiveType = 131072 | static $class$accessFlags = 524289 | static $class$dexTypeIndex = 205 | static $class$name = null | static $class$classSize = 260 | static $class$referenceInstanceOffsets = 30 | static $class$dexClassDefIndex = 91 | mTrans = com.github.mikephil.charting.utils.Transformer@320910584 (0x1320b4f8) | mViewPortHandler = com.github.mikephil.charting.utils.ViewPortHandler@320910640 (0x1320b530) | pts = float[2]@320910720 (0x1320b580) | view = com.github.mikephil.charting.charts.BarChart@320910744 (0x1320b598) | xValue = 0.0 | yValue = 0.0 | currentOwnerId = 3 | shadow$klass = com.github.mikephil.charting.jobs.MoveViewJob | shadow$monitor = 0

Instance of com.github.mikephil.charting.charts.BarChart | static $class$copiedMethodsOffset = 18 | static $class$objectSizeAllocFastPath = 840 | static $class$classLoader = dalvik.system.PathClassLoader@319815680 (0x13100000) | static $class$objectSize = 833 | static $class$extData = null | static $class$shadow$klass = java.lang.Class | static $classOverhead = byte[9348]@320837609 (0x131f97e9) | static $class$superClass = com.github.mikephil.charting.charts.BarLineChartBase | static $class$vtable = null | static $class$numReferenceInstanceFields = 0 | static $class$classFlags = 0 | static $class$methods = 477818473032 | static $class$virtualMethodsOffset = 3 | static $class$shadow$monitor = 0 | static $class$sFields = 0 | static $class$componentType = null | static $class$numReferenceStaticFields = 0 | static $class$clinitThreadId = 19052 | static $class$ifTable = java.lang.Object[16]@325111464 (0x1360cea8) | static $class$dexCache = java.lang.DexCache@320900200 (0x13208c68) | static $class$iFields = 477818472960 | static $class$status = -536870912 | static $class$primitiveType = 131072 | static $class$accessFlags = 524289 | static $class$dexTypeIndex = 71 | static $class$name = "com.github.mikephil.charting.charts.BarChart" | static $class$classSize = 9472 | static $class$referenceInstanceOffsets = -1073741824 | static $class$dexClassDefIndex = 73 | mDrawBarShadow = false | mDrawValueAboveBar = true | mFitBars = false | mHighlightFullBarEnabled = false | drawCycles = 0 | mAutoScaleMinMaxEnabled = false | mAxisLeft = com.github.mikephil.charting.components.YAxis@320911584 (0x1320b8e0) | mAxisRendererLeft = com.github.mikephil.charting.renderer.YAxisRenderer@320911744 (0x1320b980) | mAxisRendererRight = com.github.mikephil.charting.renderer.YAxisRenderer@320911824 (0x1320b9d0) | mAxisRight = com.github.mikephil.charting.components.YAxis@320911904 (0x1320ba20) | mBorderPaint = android.graphics.Paint@320912064 (0x1320bac0) | mClipValuesToContent = false | mCustomViewPortEnabled = false | mDoubleTapToZoomEnabled = true | mDragXEnabled = true | mDragYEnabled = true | mDrawBorders = false | mDrawGridBackground = false | mDrawListener = null | mFitScreenMatrixBuffer = android.graphics.Matrix@320912168 (0x1320bb28) | mGetPositionBuffer = float[2]@320912184 (0x1320bb38) | mGridBackgroundPaint = android.graphics.Paint@320912208 (0x1320bb50) | mHighlightPerDragEnabled = true | mKeepPositionOnRotation = false | mLeftAxisTransformer = com.github.mikephil.charting.utils.Transformer@320910584 (0x1320b4f8) | mMaxVisibleCount = 60 | mMinOffset = 15.0 | mOffsetsBuffer = android.graphics.RectF@320912312 (0x1320bbb8) | mOnSizeChangedBuffer = float[2]@320912336 (0x1320bbd0) | mPinchZoomEnabled = false | mRightAxisTransformer = com.github.mikephil.charting.utils.Transformer@320912360 (0x1320bbe8) | mScaleXEnabled = true | mScaleYEnabled = true | mXAxisRenderer = com.github.mikephil.charting.renderer.XAxisRenderer@320912416 (0x1320bc20) | mZoomMatrixBuffer = android.graphics.Matrix@320912488 (0x1320bc68) | posForGetHighestVisibleX = com.github.mikephil.charting.utils.MPPointD@320912504 (0x1320bc78) | posForGetLowestVisibleX = com.github.mikephil.charting.utils.MPPointD@320912536 (0x1320bc98) | totalTime = 0 | mAnimator = com.github.mikephil.charting.animation.ChartAnimator@320912568 (0x1320bcb8) | mChartTouchListener = com.github.mikephil.charting.listener.BarLineChartTouchListener@320912592 (0x1320bcd0) | mData = com.github.mikephil.charting.data.BarData@320912680 (0x1320bd28) | mDefaultValueFormatter = com.github.mikephil.charting.formatter.DefaultValueFormatter@320912728 (0x1320bd58) | mDescPaint = android.graphics.Paint@320912744 (0x1320bd68) | mDescription = com.github.mikephil.charting.components.Description@320912848 (0x1320bdd0) | mDragDecelerationEnabled = true | mDragDecelerationFrictionCoef = 0.9 | mDrawMarkers = true | mExtraBottomOffset = 0.0 | mExtraLeftOffset = 0.0 | mExtraRightOffset = 0.0 | mExtraTopOffset = 0.0 | mGestureListener = null | mHighLightPerTapEnabled = true | mHighlighter = com.github.mikephil.charting.highlight.BarHighlighter@320912896 (0x1320be00) | mIndicesToHighlight = null | mInfoPaint = android.graphics.Paint@320912912 (0x1320be10) | mJobs = java.util.ArrayList@320913016 (0x1320be78) | mLegend = com.github.mikephil.charting.components.Legend@320913040 (0x1320be90) | mLegendRenderer = com.github.mikephil.charting.renderer.LegendRenderer@320913160 (0x1320bf08) | mLogEnabled = false | mMarker = null | mMaxHighlightDistance = 1750.0 | mNoDataText = "No chart data available." | mOffsetsCalculated = true | mRenderer = com.github.mikephil.charting.renderer.BarChartRenderer@320913200 (0x1320bf30) | mSelectionListener = null | mTouchEnabled = false | mUnbind = false | mViewPortHandler = com.github.mikephil.charting.utils.ViewPortHandler@320910640 (0x1320b530) | mXAxis = com.github.mikephil.charting.components.XAxis@320913264 (0x1320bf70) | mAnimationListener = null | mCachePaint = null | mChildCountWithTransientState = 0 | mChildTransformation = null | mChildUnhandledKeyListeners = 0 | mChildren = android.view.View[12]@320913408 (0x1320c000) | mChildrenCount = 0 | mChildrenInterestedInDrag = null | mCurrentDragChild = null | mCurrentDragStartEvent = null | mDefaultFocus = null | mDisappearingChildren = null | mFirstHoverTarget = null | mFirstTouchTarget = null | mFocused = null | mFocusedInCluster = null | mGroupFlags = 2244723 | mHoveredSelf = false | mInvalidateRegion = null | mInvalidationTransformation = null | mIsInterestedInDrag = false | mLastTouchDownIndex = -1 | mLastTouchDownTime = 0 | mLastTouchDownX = 0.0 | mLastTouchDownY = 0.0 | mLayoutAnimationController = null | mLayoutCalledWhileSuppressed = false | mLayoutMode = -1 | mLayoutTransitionListener = android.view.ViewGroup$4@320913472 (0x1320c040) | mLocalPoint = null | mNestedScrollAxes = 0 | mOnHierarchyChangeListener = null | mPersistentDrawingCache = 2 | mPreSortedChildren = null | mSuppressLayout = false | mTempPoint = null | mTooltipHoverTarget = null | mTooltipHoveredSelf = false | mTransientIndices = null | mTransientViews = null | mTransition = null | mTransitioningViews = null | mVisibilityChangingChildren = null | mAccessibilityCursorPosition = -1 | mAccessibilityDelegate = null | mAccessibilityPaneTitle = null | mAccessibilityTraversalAfterId = -1 | mAccessibilityTraversalBeforeId = -1 | mAccessibilityViewId = -1 | mAnimator = null | mAttachInfo = null | mAttributes = null | mAutofillHints = null | mAutofillId = null | mAutofillViewId = -1 | mBackground = null | mBackgroundRenderNode = null | mBackgroundResource = 0 | mBackgroundSizeChanged = true | mBackgroundTint = null | mBottom = 588 | mCachingFailed = false | mClipBounds = null | mContentDescription = null | mContext = com.unilever.truck.activities.MyDashBoardActivity@320913488 (0x1320c050) | mCurrentAnimation = null | mDefaultFocusHighlight = null | mDefaultFocusHighlightCache = null | mDefaultFocusHighlightEnabled = true | mDefaultFocusHighlightSizeChanged = true | mDrawableState = int[2]@1886824016 (0x7076a650) | mDrawingCache = null | mDrawingCacheBackgroundColor = 0 | mFloatingTreeObserver = null | mForegroundInfo = null | mFrameMetricsObservers = null | mGhostView = null | mHasPerformedLongPress = false | mID = 2131230778 | mIgnoreNextUpEvent = false | mInContextButtonPress = false | mInputEventConsistencyVerifier = null | mKeyedTags = null | mLabelForId = -1 | mLastIsOpaque = false | mLayerPaint = null | mLayerType = 0 | mLayoutInsets = null | mLayoutParams = android.widget.FrameLayout$LayoutParams@320913800 (0x1320c188) | mLeft = 88 | mLeftPaddingDefined = false | mListenerInfo = null | mLongClickX = NaN | mLongClickY = NaN | mMatchIdPredicate = null | mMatchLabelForPredicate = null | mMeasureCache = android.util.LongSparseLongArray@320913856 (0x1320c1c0) | mMeasuredHeight = 588 | mMeasuredWidth = 1208 | mMinHeight = 0 | mMinWidth = 0 | mNestedScrollingParent = null | mNextClusterForwardId = -1 | mNextFocusDownId = -1 | mNextFocusForwardId = -1 | mNextFocusLeftId = -1 | mNextFocusRightId = -1 | mNextFocusUpId = -1 | mOldHeightMeasureSpec = 1073742412 | mOldWidthMeasureSpec = 1073743032 | mOutlineProvider = android.view.ViewOutlineProvider$1@1886082744 (0x706b56b8) | mOverScrollMode = 1 | mOverlay = null | mPaddingBottom = 56 | mPaddingLeft = 0 | mPaddingRight = 0 | mPaddingTop = 0 | mParent = android.widget.FrameLayout@320913880 (0x1320c1d8) | mPendingCheckForLongPress = null | mPendingCheckForTap = null | mPerformClick = null | mPointerIcon = null | mPrivateFlags = 16943152 | mPrivateFlags2 = 1610819112 | mPrivateFlags3 = 16 | mRecreateDisplayList = false | mRenderNode = android.view.RenderNode@320914520 (0x1320c458) | mResources = android.content.res.Resources@320914544 (0x1320c470) | mRight = 1296 | 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 = 28 | mTransformationInfo = null | mTransientStateCount = 0 | mTransitionName = null | mUnscaledDrawingCache = null | mUnsetPressedState = null | mUserPaddingBottom = 56 | 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.github.mikephil.charting.charts.BarChart | shadow$monitor = 0

Instance of com.unilever.truck.activities.MyDashBoardActivity | static $class$copiedMethodsOffset = 13 | static $class$objectSizeAllocFastPath = 312 | static $class$classLoader = dalvik.system.PathClassLoader@319815680 (0x13100000) | static $class$objectSize = 308 | static $assertionsDisabled = false | static $class$extData = null | static $class$shadow$klass = java.lang.Class | static $classOverhead = byte[4436]@320442441 (0x13199049) | static $class$superClass = com.unilever.truck.activities.BaseActivity | static $class$vtable = null | static $class$numReferenceInstanceFields = 8 | static $class$classFlags = 0 | static $class$methods = 477752371048 | static $class$virtualMethodsOffset = 6 | static $class$shadow$monitor = -1934278360 | static $class$sFields = 477752370888 | static $class$componentType = null | static $class$numReferenceStaticFields = 0 | static $class$clinitThreadId = 19052 | static $class$ifTable = java.lang.Object[38]@325168512 (0x1361ad80) | static $class$dexCache = java.lang.DexCache@320899272 (0x132088c8) | static $class$iFields = 477752370912 | static $class$status = -536870912 | static $class$primitiveType = 131072 | static $class$accessFlags = 524289 | static $class$dexTypeIndex = 617 | static $class$name = "com.unilever.truck.activities.MyDashBoardActivity" | static $class$classSize = 4561 | static $class$referenceInstanceOffsets = -1073741824 | static $class$dexClassDefIndex = 540 | activityCbuDashboardBinding = com.unilever.truck.databinding.ActivityCbuDashboardBindingImpl@321545272 (0x132a6438) | chart = null | drawables = int[5]@321545368 (0x132a6498) | item_name = "Dashboard" | mAdapter = com.unilever.truck.drawer.SimpleItemRecyclerViewAdapter@321545400 (0x132a64b8) | mDrawerLayout = androidx.drawerlayout.widget.DrawerLayout@321545432 (0x132a64d8) | mToolbar = androidx.appcompat.widget.Toolbar@321546184 (0x132a67c8) | reyclerView = null | powerConnectionReceiver = com.unilever.truck.broadcasts.PowerConnectionReceiver@321546960 (0x132a6ad0) | mDelegate = androidx.appcompat.app.AppCompatDelegateImpl@321546976 (0x132a6ae0) | mResources = null | mThemeId = 2131755008 | mCreated = true | mFragments = androidx.fragment.app.FragmentController@321547112 (0x132a6b68) | mNextCandidateRequestIndex = 0 | mPendingFragmentActivityResults = androidx.collection.SparseArrayCompat@321547128 (0x132a6b78) | mRequestedPermissionsFromFragment = false | mResumed = false | mStartedActivityFromFragment = false | mStartedIntentSenderFromFragment = false | mStopped = true | mLifecycleRegistry = androidx.lifecycle.LifecycleRegistry@321547152 (0x132a6b90) | mOnBackPressedCallbacks = java.util.concurrent.CopyOnWriteArrayList@321547184 (0x132a6bb0) | mViewModelStore = androidx.lifecycle.ViewModelStore@321547200 (0x132a6bc0) | mExtraDataMap = androidx.collection.SimpleArrayMap@321547216 (0x132a6bd0) | mActionBar = null | mActionModeTypeStarting = 0 | mActivityInfo = android.content.pm.ActivityInfo@321547240 (0x132a6be8) | mActivityTransitionState = android.app.ActivityTransitionState@321547392 (0x132a6c80) | mApplication = com.unilever.truck.DebugApplication@319939352 (0x1311e318) | mAutoFillIgnoreFirstResumePause = false | mAutoFillResetNeeded = false | mAutofillManager = null | mAutofillPopupWindow = null | mCalled = true | mCanEnterPictureInPicture = false | mChangeCanvasToTranslucent = false | mChangingConfigurations = false | mComponent = android.content.ComponentName@321547448 (0x132a6cb8) | mConfigChangeFlags = 0 | mCurrentConfig = android.content.res.Configuration@321547464 (0x132a6cc8) | mDecor = null | mDefaultKeyMode = 0 | mDefaultKeySsb = null | mDestroyed = true | mDoReportFullyDrawn = false | mEmbeddedID = null | mEnableDefaultActionBarUp = false | mEnterTransitionListener = android.app.SharedElementCallback$1@1885993040 (0x7069f850) | mExitTransitionListener = android.app.SharedElementCallback$1@1885993040 (0x7069f850) | mFinished = true | mFragments = android.app.FragmentController@321547576 (0x132a6d38) | mHandler = android.os.Handler@321547592 (0x132a6d48) | mHasCurrentPermissionsRequest = false | mIdent = 169133839 | mInstanceTracker = android.os.StrictMode$InstanceTracker@321547624 (0x132a6d68) | mInstrumentation = android.app.Instrumentation@321547640 (0x132a6d78) | mIntent = android.content.Intent@321547712 (0x132a6dc0) | mLastAutofillId = 1073741823 | mLastNonConfigurationInstances = null | mMainThread = android.app.ActivityThread@319816216 (0x13100218) | mManagedCursors = java.util.ArrayList@321547776 (0x132a6e00) | mManagedDialogs = null | mMenuInflater = null | mParent = null | mReferrer = "com.unilever.truck.debug" | mRestoredFromBundle = false | mResultCode = 0 | mResultData = null | mResumed = false | mSearchEvent = null | mSearchManager = null | mStartedActivity = false | mStopped = true | mTaskDescription = android.app.ActivityManager$TaskDescription@321547840 (0x132a6e40) | mTemporaryPause = false | mTitle = "UniLever" | mTitleColor = 0 | mTitleReady = true | mToken = android.os.BinderProxy@321547880 (0x132a6e68) | mTranslucentCallback = null | mUiThread = java.lang.Thread@1960200824 (0x74d64a78) | mVisibleFromClient = true | mVisibleFromServer = false | mVoiceInteractor = null | mWindow = com.android.internal.policy.PhoneWindow@321547904 (0x132a6e80) | mWindowAdded = true | mWindowManager = android.view.WindowManagerImpl@321548280 (0x132a6ff8) | mInflater = com.android.internal.policy.PhoneLayoutInflater@321548304 (0x132a7010) | mOverrideConfiguration = null | mResources = android.content.res.Resources@320914544 (0x1320c470) | mTheme = android.content.res.Resources$Theme@321548352 (0x132a7040) | mThemeResource = 2131755008 | mBase = android.app.ContextImpl@321548368 (0x132a7050) | shadow$klass = com.unilever.truck.activities.MyDashBoardActivity | shadow$monitor = 1073742480

Instance of android.app.FragmentController | static $class$copiedMethodsOffset = 41 | static $class$objectSizeAllocFastPath = 16 | static $class$classLoader = null | static $class$objectSize = 12 | static $class$extData = null | static $class$shadow$klass = java.lang.Class | static $classOverhead = byte[412]@1888741097 (0x7093e6e9) | static $class$superClass = java.lang.Object | static $class$vtable = null | static $class$numReferenceInstanceFields = 1 | static $class$classFlags = 0 | static $class$methods = 1894299256 | static $class$virtualMethodsOffset = 2 | static $class$shadow$monitor = 536870912 | static $class$sFields = 0 | static $class$componentType = null | static $class$numReferenceStaticFields = 0 | static $class$clinitThreadId = 0 | static $class$ifTable = java.lang.Object[0]@1884405672 (0x7051bfa8) | static $class$dexCache = java.lang.DexCache@1885855976 (0x7067e0e8) | static $class$iFields = 1891924640 | static $class$status = -536870912 | static $class$primitiveType = 131072 | static $class$accessFlags = 524289 | static $class$dexTypeIndex = 547 | static $class$name = "android.app.FragmentController" | static $class$classSize = 536 | static $class$referenceInstanceOffsets = 1 | static $class$dexClassDefIndex = 303 | mHost = android.app.Activity$HostCallbacks@324968376 (0x135e9fb8) | shadow$klass = android.app.FragmentController | shadow$monitor = 0

Instance of android.app.Activity$HostCallbacks | static $class$copiedMethodsOffset = 17 | static $class$objectSizeAllocFastPath = 48 | static $class$classLoader = null | static $class$objectSize = 44 | static $class$extData = null | static $class$shadow$klass = java.lang.Class | static $classOverhead = byte[364]@1887783105 (0x708548c1) | static $class$superClass = android.app.FragmentHostCallback | static $class$vtable = null | static $class$numReferenceInstanceFields = 1 | static $class$classFlags = 0 | static $class$methods = 1892881840 | static $class$virtualMethodsOffset = 1 | static $class$shadow$monitor = 536870912 | static $class$sFields = 0 | static $class$componentType = null | static $class$numReferenceStaticFields = 0 | static $class$clinitThreadId = 0 | static $class$ifTable = java.lang.Object[0]@1884405672 (0x7051bfa8) | static $class$dexCache = java.lang.DexCache@1885855976 (0x7067e0e8) | static $class$iFields = 1891494496 | static $class$status = -536870912 | static $class$primitiveType = 131072 | static $class$accessFlags = 524288 | static $class$dexTypeIndex = 355 | static $class$name = "android.app.Activity$HostCallbacks" | static $class$classSize = 488 | static $class$referenceInstanceOffsets = 319 | static $class$dexClassDefIndex = 5011 | this$0 = com.unilever.truck.activities.MyDashBoardActivity@320913488 (0x1320c050) | mActivity = com.unilever.truck.activities.MyDashBoardActivity@320913488 (0x1320c050) | mAllLoaderManagers = android.util.ArrayMap@324968424 (0x135e9fe8) | mCheckedForLoaderManager = true | mContext = com.unilever.truck.activities.MyDashBoardActivity@320913488 (0x1320c050) | mFragmentManager = android.app.FragmentManagerImpl@324968456 (0x135ea008) | mHandler = android.os.Handler@321547592 (0x132a6d48) | mLoaderManager = null | mLoadersStarted = true | mRetainLoaders = false | mWindowAnimations = 0 | shadow$klass = android.app.Activity$HostCallbacks | shadow$monitor = 0

Instance of android.app.FragmentManagerImpl | static DEBUG = false | static $class$copiedMethodsOffset = 132 | static $class$objectSizeAllocFastPath = 112 | static $class$classLoader = null | static $class$objectSize = 110 | static $class$extData = null | static $class$shadow$klass = java.lang.Class | static $classOverhead = byte[916]@1887097689 (0x707ad359) | static $class$superClass = android.app.FragmentManager | static $class$vtable = null | static $class$numReferenceInstanceFields = 22 | static $class$classFlags = 0 | static $class$methods = 1893558808 | static $class$virtualMethodsOffset = 30 | static $class$shadow$monitor = 536870912 | static $class$sFields = 1891672180 | static $class$componentType = null | static $class$numReferenceStaticFields = 5 | static $class$clinitThreadId = 0 | static $class$ifTable = java.lang.Object[4]@1886411736 (0x70705bd8) | static $class$dexCache = java.lang.DexCache@1885855976 (0x7067e0e8) | static $class$iFields = 1891672280 | static $class$status = -536870912 | static TAG = "FragmentManager" | static TARGET_REQUEST_CODE_STATE_TAG = "android:target_req_state" | static $class$primitiveType = 131072 | static $class$accessFlags = 524304 | static TARGET_STATE_TAG = "android:target_state" | static USER_VISIBLE_HINT_TAG = "android:user_visible_hint" | static $class$dexTypeIndex = 560 | static $class$name = "android.app.FragmentManagerImpl" | static $class$classSize = 1061 | static $class$referenceInstanceOffsets = 4194303 | static VIEW_STATE_TAG = "android:view_state" | static $class$dexClassDefIndex = 5028 | mActive = android.util.SparseArray@324968568 (0x135ea078) | mAdded = java.util.ArrayList@324968592 (0x135ea090) | mAllowOldReentrantBehavior = false | mAvailBackStackIndices = null | mBackStack = null | mBackStackChangeListeners = null | mBackStackIndices = null | mContainer = null | mCreatedMenus = null | mCurState = 0 | mDestroyed = true | mExecCommit = android.app.FragmentManagerImpl$1@324968616 (0x135ea0a8) | mExecutingActions = false | mHavePendingDeferredStart = false | mHost = null | mLifecycleCallbacks = java.util.concurrent.CopyOnWriteArrayList@324968632 (0x135ea0b8) | mNeedMenuInvalidate = false | mNextFragmentIndex = 1 | mNoTransactionsBecause = null | mParent = null | mPendingActions = java.util.ArrayList@324968648 (0x135ea0c8) | mPostponedTransactions = null | mPrimaryNav = null | mSavedNonConfig = null | mStateArray = null | mStateBundle = android.os.Bundle@324968672 (0x135ea0e0) | mStateSaved = false | mTmpAddedFragments = java.util.ArrayList@324968704 (0x135ea100) | mTmpIsPop = java.util.ArrayList@324968728 (0x135ea118) | mTmpRecords = java.util.ArrayList@324968752 (0x135ea130) | shadow$klass = android.app.FragmentManagerImpl | shadow$monitor = 0

Instance of java.util.ArrayList | static $class$copiedMethodsOffset = 46 | static $class$objectSizeAllocFastPath = 24 | static $class$classLoader = null | static $class$objectSize = 20 | static DEFAULT_CAPACITY = 10 | static $class$extData = null | static $class$shadow$klass = java.lang.Class | static $classOverhead = byte[364]@1880133833 (0x701090c9) | static $class$superClass = java.util.AbstractList | static $class$vtable = null | static $class$numReferenceInstanceFields = 1 | static $class$classFlags = 0 | static $class$methods = 1881288592 | static $class$virtualMethodsOffset = 15 | static $class$shadow$monitor = 536870912 | static serialVersionUID = 8683452581122892189 | static $class$sFields = 1881146596 | static $class$componentType = null | static $class$numReferenceStaticFields = 2 | static $class$clinitThreadId = 0 | static $class$ifTable = java.lang.Object[12]@1880094048 (0x700ff560) | static $class$dexCache = java.lang.DexCache@1879716080 (0x700a30f0) | static $class$iFields = 1881146680 | static $class$status = -536870912 | static $class$primitiveType = 131072 | static $class$accessFlags = 524289 | static $class$dexTypeIndex = 1417 | static EMPTY_ELEMENTDATA = java.lang.Object[0]@1882929376 (0x703b38e0) | static $class$name = "java.util.ArrayList" | static $class$classSize = 512 | static MAX_ARRAY_SIZE = 2147483639 | static $class$referenceInstanceOffsets = 2 | static DEFAULTCAPACITY_EMPTY_ELEMENTDATA = java.lang.Object[0]@1886078736 (0x706b4710) | static $class$dexClassDefIndex = 3077 | elementData = java.lang.Object[10]@324969072 (0x135ea270) | size = 1 | modCount = 1 | shadow$klass = java.util.ArrayList | shadow$monitor = 0

Array of java.lang.Object[] | [0] = androidx.lifecycle.ReportFragment@324969128 (0x135ea2a8) | [1] = null | [2] = null | [3] = null | [4] = null | [5] = null | [6] = null | [7] = null | [8] = null | [9] = null

Instance of androidx.lifecycle.ReportFragment | static $class$copiedMethodsOffset = 14 | static $class$objectSizeAllocFastPath = 128 | static $class$classLoader = dalvik.system.PathClassLoader@319815680 (0x13100000) | static $class$objectSize = 124 | static $class$extData = null | static $class$shadow$klass = java.lang.Class | static $classOverhead = byte[1316]@320300249 (0x131764d9) | static $class$superClass = android.app.Fragment | static $class$vtable = null | static $class$numReferenceInstanceFields = 1 | static $class$classFlags = 0 | static $class$methods = 478007480432 | static $class$virtualMethodsOffset = 7 | static $class$shadow$monitor = 0 | static REPORT_FRAGMENT_TAG = "androidx.lifecycle.LifecycleDispatcher.report_fragment_tag" | static $class$sFields = 478007480384 | static $class$componentType = null | static $class$numReferenceStaticFields = 1 | static $class$clinitThreadId = 19052 | static $class$ifTable = java.lang.Object[6]@325187408 (0x1361f750) | static $class$dexCache = java.lang.DexCache@320899080 (0x13208808) | static $class$iFields = 478007480408 | static $class$status = -536870912 | static $class$primitiveType = 131072 | static $class$accessFlags = 524289 | static $class$dexTypeIndex = 1940 | static $class$name = "androidx.lifecycle.ReportFragment" | static $class$classSize = 1444 | static $class$referenceInstanceOffsets = 268500991 | static $class$dexClassDefIndex = 945 | mProcessListener = null | mAdded = false | mAnimationInfo = null | mArguments = null | mBackStackNesting = 0 | mCalled = true | mCheckedForLoaderManager = false | mChildFragmentManager = null | mChildNonConfig = null | mContainer = null | mContainerId = 0 | mDeferStart = false | mDetached = false | mFragmentId = 0 | mFragmentManager = null | mFromLayout = false | mHasMenu = false | mHidden = false | mHiddenChanged = false | mHost = null | mInLayout = false | mIndex = -1 | mIsCreated = false | mIsNewlyAdded = false | mLayoutInflater = null | mLoaderManager = null | mLoadersStarted = false | mMenuVisible = true | mParentFragment = null | mPerformedCreateView = false | mRemoving = false | mRestored = false | mRetainInstance = false | mRetaining = false | mSavedFragmentState = null | mSavedViewState = null | mState = 0 | mTag = null | mTarget = null | mTargetIndex = -1 | mTargetRequestCode = 0 | mUserVisibleHint = true | mView = null | mWho = null | shadow$klass = androidx.lifecycle.ReportFragment | shadow$monitor = 0

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)

raghunandankavi2010 commented 5 years ago

Could be related to https://github.com/PhilJay/MPAndroidChart/issues/2238 and probably the workaround mentioned might fix the leak as well. But i think it should be fixed int he charting lib.

pengxinaglin commented 4 years ago

Add the following code to the MoveViewJob class:

public static void recycleInstance(MoveViewJob instance) { instance.mViewPortHandler = null; instance.mTrans = null; instance.view = null; pool.recycle(instance); }

ghost commented 3 years ago

@pengxinaglin you say I should copy lib and edit MoveViewJob class? I mean... that's not the solution for those, who add lib as gradle dependency, right?