AndroidPicker icon indicating copy to clipboard operation
AndroidPicker copied to clipboard

出现内存泄漏的问题

Open GGjin opened this issue 6 years ago • 2 comments

下面是LeakCanary检测出来的日志

GGjin avatar May 14 '18 01:05 GGjin

In com.anpxd.ewalker.beta:1.1.9:21.

  • com.anpxd.ewalker.activity.CarEntryFirstEditActivity has leaked:

  • GC ROOT android.os.HandlerThread.<Java Local>

  • references android.os.Message.obj

  • references cn.qqtheme.framework.picker.DatePicker.activity

  • leaks com.anpxd.ewalker.activity.CarEntryFirstEditActivity instance

  • Retaining: 130 kB.

  • Reference Key: 6466bdb6-b062-4273-8851-b6896ce19de4

  • Device: Xiaomi Xiaomi MI 6 sagit

  • Android Version: 8.0.0 API: 26 LeakCanary: 1.5.4 74837f0

  • Durations: watch=5109ms, gc=230ms, heap dump=1697ms, analysis=225748ms

  • Details:

  • Instance of android.os.HandlerThread | static $classOverhead = byte[424]@1899939009 (0x713ec4c1) | mHandler = null | mLooper = android.os.Looper@337389040 (0x141c25f0) | mPriority = -2 | mTid = 27324 | blocker = null | blockerLock = java.lang.Object@347224608 (0x14b23a20) | contextClassLoader = dalvik.system.PathClassLoader@337718792 (0x14212e08) | daemon = false | eetop = 0 | group = java.lang.ThreadGroup@1892791192 (0x70d1b398) | inheritableThreadLocals = null | inheritedAccessControlContext = java.security.AccessControlContext@347224616 (0x14b23a28) | lock = java.lang.Object@347224624 (0x14b23a30) | name = java.lang.String@1900428552 (0x71463d08) | nativeParkEventPointer = 0 | nativePeer = 494164600832 | parkBlocker = null | parkState = 1 | priority = 5 | single_step = false | stackSize = 0 | started = true | stillborn = false | target = null | threadLocalRandomProbe = 0 | threadLocalRandomSecondarySeed = 0 | threadLocalRandomSeed = 0 | threadLocals = java.lang.ThreadLocal$ThreadLocalMap@347224632 (0x14b23a38) | threadQ = null | threadStatus = 0 | tid = 874 | uncaughtExceptionHandler = null | shadow$klass = android.os.HandlerThread | shadow$monitor = 1073743193

  • Instance of android.os.Message | static gCheckRecycle = true | static FLAGS_TO_CLEAR_ON_COPY_FROM = 1 | static MAX_POOL_SIZE = 50 | static sPool = android.os.Message@346765824 (0x14ab3a00) | static sPoolSync = java.lang.Object@1898557960 (0x7129b208) | static FLAG_ASYNCHRONOUS = 2 | static FLAG_IN_USE = 1 | static $classOverhead = byte[289]@1899154937 (0x7132cdf9) | static CREATOR = android.os.Message$1@1898652288 (0x712b2280) | static sPoolSize = 50 | arg1 = 0 | arg2 = 0 | callback = null | data = null | flags = 0 | next = null | obj = cn.qqtheme.framework.picker.DatePicker@346776664 (0x14ab6458) | replyTo = null | sendingUid = -1 | target = android.app.Dialog$ListenersHandler@346776952 (0x14ab6578) | what = 67 | when = 0 | shadow$klass = android.os.Message | shadow$monitor = 0

  • Instance of cn.qqtheme.framework.picker.DatePicker | static $classOverhead = byte[1016]@338114601 (0x14273829) | dateMode = 1 | dayLabel = java.lang.String@337808320 (0x14228bc0) | days = java.util.ArrayList@346777008 (0x14ab65b0) | endDay = 31 | endHour = 23 | endMinute = 59 | endMonth = 5 | endYear = 2018 | hourLabel = java.lang.String@337808432 (0x14228c30) | hours = java.util.ArrayList@346777032 (0x14ab65c8) | minuteLabel = java.lang.String@337751240 (0x1421acc8) | minutes = java.util.ArrayList@346777056 (0x14ab65e0) | monthLabel = java.lang.String@337814280 (0x1422a308) | months = java.util.ArrayList@346777080 (0x14ab65f8) | onDateTimePickListener = cn.qqtheme.framework.picker.DatePicker$3@346777104 (0x14ab6610) | onWheelListener = null | resetWhileWheel = true | selectedDayIndex = 0 | selectedHour = java.lang.String@1892856544 (0x70d2b2e0) | selectedMinute = java.lang.String@1892856544 (0x70d2b2e0) | selectedMonthIndex = 4 | selectedYearIndex = 19 | startDay = 1 | startHour = 0 | startMinute = 0 | startMonth = 1 | startYear = 1999 | textSize = 16 | timeMode = -1 | yearLabel = java.lang.String@337786832 (0x142237d0) | years = java.util.ArrayList@346777120 (0x14ab6620) | cycleDisable = true | dividerConfig = cn.qqtheme.framework.widget.WheelView$DividerConfig@346777144 (0x14ab6638) | labelTextColor = -16611122 | lineSpaceMultiplier = 2.0 | offset = 3 | textColorFocus = -16611122 | textColorNormal = -4473925 | textPadding = -1 | textSize = 16 | textSizeAutoFit = true | typeface = android.graphics.Typeface@1956256936 (0x749a1ca8) | useWeight = true | backgroundColor = -1 | cancelButton = android.widget.TextView@346777184 (0x14ab6660) | cancelText = java.lang.String@343659576 (0x147bd438) | cancelTextColor = -13388315 | cancelTextSize = 0 | cancelVisible = true | centerView = android.widget.LinearLayout@346777984 (0x14ab6980) | contentLeftAndRightPadding = 0 | contentTopAndBottomPadding = 0 | footerView = null | headerView = null | pressedTextColor = -16611122 | submitButton = android.widget.TextView@346778664 (0x14ab6c28) | submitText = java.lang.String@343659624 (0x147bd468) | submitTextColor = -13388315 | submitTextSize = 0 | titleText = java.lang.String@1892856544 (0x70d2b2e0) | titleTextColor = -16777216 | titleTextSize = 0 | titleView = android.widget.TextView@346779464 (0x14ab6f48) | topBackgroundColor = -1 | topHeight = 40 | topLineColor = -13388315 | topLineHeightPixels = 1 | topLineVisible = true | topPadding = 15 | activity = com.anpxd.ewalker.activity.CarEntryFirstEditActivity@346780264 (0x14ab7268) | contentLayout = android.widget.FrameLayout@346780680 (0x14ab7408) | dialog = android.app.Dialog@346781328 (0x14ab7690) | isPrepared = true | screenHeightPixels = 1920 | screenWidthPixels = 1080 | shadow$klass = cn.qqtheme.framework.picker.DatePicker | shadow$monitor = 0

  • Instance of com.anpxd.ewalker.activity.CarEntryFirstEditActivity | static $change = null | static Type_Reject = java.lang.String@337750520 (0x1421a9f8) | static $$delegatedProperties = kotlin.reflect.KProperty[12]@343000776 (0x1471c6c8) | static serialVersionUID = 3189065138996316267 | static Type_Car_Edit = java.lang.String@337835704 (0x1422f6b8) | static $classOverhead = byte[4552]@342415473 (0x1468d871) | static Type_Apply_In_Storage = java.lang.String@337818144 (0x1422b220) | static Companion = com.anpxd.ewalker.activity.CarEntryFirstEditActivity$Companion@343000840 (0x1471c708) | static Type_Car_Entry = java.lang.String@337750904 (0x1421ab78) | _$_findViewCache = java.util.HashMap@347083696 (0x14b013b0) | blackColor$delegate = kotlin.SynchronizedLazyImpl@347083736 (0x14b013d8) | bodyTypePicker$delegate = kotlin.SynchronizedLazyImpl@347083760 (0x14b013f0) | businessInsuranceListener = com.anpxd.ewalker.activity.CarEntryFirstEditActivity$businessInsuranceListener$1@347083784 (0x14b01408) | calendar = java.util.GregorianCalendar@347083800 (0x14b01418) | car = com.anpxd.ewalker.bean.car.Car@347083912 (0x14b01488) | carBaseParam = com.anpxd.ewalker.bean.CarBaseParam@347084248 (0x14b015d8) | carLog = null | editCar = null | explanationWatch = com.anpxd.ewalker.activity.CarEntryFirstEditActivity$explanationWatch$1@346831200 (0x14ac3960) | forceInsuranceListener = com.anpxd.ewalker.activity.CarEntryFirstEditActivity$forceInsuranceListener$1@347084288 (0x14b01600) | gearBoxPicker$delegate = kotlin.SynchronizedLazyImpl@347084304 (0x14b01610) | greyColor$delegate = kotlin.SynchronizedLazyImpl@347084328 (0x14b01628) | keyNumPicker$delegate = kotlin.SynchronizedLazyImpl@347084352 (0x14b01640) | licenseListener = com.anpxd.ewalker.activity.CarEntryFirstEditActivity$licenseListener$1@347084376 (0x14b01658) | licensePicker$delegate = kotlin.SynchronizedLazyImpl@347084392 (0x14b01668) | mBusinessInsurancePicker$delegate = kotlin.SynchronizedLazyImpl@347084416 (0x14b01680) | mForceInsurancePicker$delegate = kotlin.SynchronizedLazyImpl@347084440 (0x14b01698) | mLicensePicker$delegate = kotlin.SynchronizedLazyImpl@347084464 (0x14b016b0) | mTitle = java.lang.String@347045232 (0x14af7d70) | mType = java.lang.String@337835704 (0x1422f6b8) | mUnitPicker$delegate = kotlin.SynchronizedLazyImpl@347084488 (0x14b016c8) | mValidatePicker$delegate = kotlin.SynchronizedLazyImpl@347084512 (0x14b016e0) | mileageWatch = com.anpxd.ewalker.activity.CarEntryFirstEditActivity$mileageWatch$1@346797080 (0x14abb418) | redWatch = com.anpxd.ewalker.activity.CarEntryFirstEditActivity$redWatch$1@346838760 (0x14ac56e8) | retailPriceWatch = com.anpxd.ewalker.activity.CarEntryFirstEditActivity$retailPriceWatch$1@346916128 (0x14ad8520) | titleWatch = com.anpxd.ewalker.activity.CarEntryFirstEditActivity$titleWatch$1@346973544 (0x14ae6568) | transferWatch = com.anpxd.ewalker.activity.CarEntryFirstEditActivity$transferWatch$1@346865216 (0x14acbe40) | useNaturePicker$delegate = kotlin.SynchronizedLazyImpl@347084536 (0x14b016f8) | validateListener = com.anpxd.ewalker.activity.CarEntryFirstEditActivity$validateListener$1@347084560 (0x14b01710) | yellowWatch = com.anpxd.ewalker.activity.CarEntryFirstEditActivity$yellowWatch$1@346845952 (0x14ac7300) | _$_findViewCache = null | mBinder = com.lsxiao.apollo.core.entity.ApolloBinderImpl@347084576 (0x14b01720) | lifecycleSubject = io.reactivex.subjects.BehaviorSubject@347084592 (0x14b01730) | mDelegate = android.support.v7.app.AppCompatDelegateImplN@346786256 (0x14ab89d0) | mResources = null | mThemeId = 2131755015 | mCreated = true | mFragments = android.support.v4.app.FragmentController@347084632 (0x14b01758) | mHandler = android.support.v4.app.FragmentActivity$1@347084648 (0x14b01768) | mLoaderManager = null | mNextCandidateRequestIndex = 0 | mPendingFragmentActivityResults = android.support.v4.util.SparseArrayCompat@347084680 (0x14b01788) | mReallyStopped = true | mRequestedPermissionsFromFragment = false | mResumed = false | mRetaining = false | mStopped = true | mViewModelStore = null | mStartedActivityFromFragment = false | mStartedIntentSenderFromFragment = false | mExtraDataMap = android.support.v4.util.SimpleArrayMap@347084704 (0x14b017a0) | mLifecycleRegistry = android.arch.lifecycle.LifecycleRegistry@347084728 (0x14b017b8) | mActionBar = null | mActionModeTypeStarting = 0 | mActivityInfo = android.content.pm.ActivityInfo@347050000 (0x14af9010) | mActivityTransitionState = android.app.ActivityTransitionState@347084760 (0x14b017d8) | mApplication = com.anpxd.ewalker.App@337711808 (0x142112c0) | mAutoFillResetNeeded = false | mAutofillManager = null | mAutofillPopupWindow = null | mCalled = true | mChangeCanvasToTranslucent = false | mChangingConfigurations = false | mComponent = android.content.ComponentName@347053808 (0x14af9ef0) | mConfigChangeFlags = 0 | mCurrentConfig = android.content.res.Configuration@347084816 (0x14b01810) | mDecor = null | mDefaultKeyMode = 0 | mDefaultKeySsb = null | mDestroyed = true | mDoReportFullyDrawn = false | mEmbeddedID = null | mEnableDefaultActionBarUp = false | mEnterTransitionListener = android.app.SharedElementCallback$1@1898640216 (0x712af358) | mExitTransitionListener = android.app.SharedElementCallback$1@1898640216 (0x712af358) | mFinished = true | mFragments = android.app.FragmentController@347084936 (0x14b01888) | mHandler = android.os.Handler@347084952 (0x14b01898) | mHasCurrentPermissionsRequest = false | mIdent = 36941545 | mInstanceTracker = android.os.StrictMode$InstanceTracker@347084984 (0x14b018b8) | mInstrumentation = android.app.Instrumentation@342346744 (0x1467cbf8) | mIntent = android.content.Intent@347050176 (0x14af90c0) | mInterceptor = miui.contentcatcher.InterceptorProxy@347085000 (0x14b018c8) | mLastAutofillId = 1073741832 | mLastNonConfigurationInstances = null | mMainThread = android.app.ActivityThread@337379552 (0x141c00e0) | mManagedCursors = java.util.ArrayList@347085016 (0x14b018d8) | mManagedDialogs = null | mMenuInflater = null | mParent = null | mReferrer = java.lang.String@347050368 (0x14af9180) | mResultCode = 0 | mResultData = null | mResumed = false | mSearchEvent = null | mSearchManager = null | mStartedActivity = false | mStopped = true | mTaskDescription = android.app.ActivityManager$TaskDescription@347085040 (0x14b018f0) | mTemporaryPause = false | mTitle = java.lang.String@342347008 (0x1467cd00) | mTitleColor = 0 | mTitleReady = true | mToken = android.os.BinderProxy@346784800 (0x14ab8420) | mTranslucentCallback = null | mUiThread = java.lang.Thread@1956104144 (0x7497c7d0) | mVisibleBehind = false | mVisibleFromClient = true | mVisibleFromServer = false | mVoiceInteractor = null | mWindow = com.android.internal.policy.MiuiPhoneWindow@346782000 (0x14ab7930) | mWindowAdded = true | mWindowManager = android.view.WindowManagerImpl@346781856 (0x14ab78a0) | mInflater = com.android.internal.policy.PhoneLayoutInflater@346784240 (0x14ab81f0) | mOverrideConfiguration = null | mResources = android.content.res.MiuiResources@346785112 (0x14ab8558) | mTheme = android.content.res.Resources$Theme@346785152 (0x14ab8580) | mThemeResource = 2131755015 | mBase = android.app.ContextImpl@346781880 (0x14ab78b8) | shadow$klass = com.anpxd.ewalker.activity.CarEntryFirstEditActivity | shadow$monitor = 1073746892

  • Excluded Refs: | Field: android.view.textservice.SpellCheckerSession$1.this$0 | 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)

GGjin avatar May 14 '18 01:05 GGjin

请问这个问题有解决吗,我用了最新版本还是有这个现象

Pannarrow avatar Mar 14 '23 08:03 Pannarrow