leakcanary: cannot find error in class with leak in leakcanary.
I’m write not good, so sorry. this is my leak: (I’m really cannot find class have name “hj.o” `In com.tp.loigiaihay:1.3.0:27.
-
com.tp.loigiaihay.activitys.DetailLessonActivity has leaked:
-
GC ROOT static hj.o
-
references hs.a
-
leaks com.tp.loigiaihay.activitys.DetailLessonActivity instance
-
Retaining: 3,3MB.
-
Reference Key: 04461260-eb6c-4734-b0f1-29ab8a3e4aee
-
Device: samsung samsung SM-J500H j53gxx
-
Android Version: 5.1.1 API: 22 LeakCanary: 1.5 00f37f5
-
Durations: watch=5123ms, gc=319ms, heap dump=5046ms, analysis=89914ms
-
Details:
-
Class hj | static n = java.lang.String@317318720 (0x12e9e640) | static q = 1481098646 | static p = true | static o = hs@315204000 (0x12c9a1a0) | static l = java.lang.Object@315200864 (0x12c99560) | static $staticOverhead = byte[40]@322352193 (0x1336b441)
-
Instance of hs | static u = lr@316602336 (0x12def7e0) | static t = java.lang.Object@316368000 (0x12db6480) | static j = java.lang.Object@316367968 (0x12db6460) | static p = java.lang.String@317319680 (0x12e9ea00) | static $staticOverhead = byte[32]@319733825 (0x130ec041) | a = com.tp.loigiaihay.activitys.DetailLessonActivity@320144384 (0x13150400) | b = com.tp.loigiaihay.ultils.ApplicationController@315000384 (0x12c68640) | c = java.util.concurrent.ThreadPoolExecutor@315204080 (0x12c9a1f0) | d = dalvik.system.DexClassLoader@316714624 (0x12e0ae80) | e = hn@318227056 (0x12f7c270) | f = byte[16]@314797120 (0x12c36c40) | g = com.google.ads.afma.nano.h@318245888 (0x12f80c00) | h = java.util.concurrent.FutureTask@318503520 (0x12fbfa60) | i = false | k = he@318228880 (0x12f7c990) | l = adk@316631424 (0x12df6980) | m = true | n = true | o = false | q = null | r = false | s = null | v = java.util.HashMap@316855872 (0x12e2d640)
-
Instance of com.tp.loigiaihay.activitys.DetailLessonActivity | adLinLay = android.widget.LinearLayout@318485504 (0x12fbb400) | adPopupFrequency = java.lang.String@317478816 (0x12ec57a0) | adView = com.google.android.gms.ads.NativeExpressAdView@326387712 (0x13744800) | adapterInfo = com.tp.loigiaihay.adapter.DetailLessonAdapter@316613104 (0x12df21f0) | arrListInfo = java.util.ArrayList@318070592 (0x12f55f40) | articleInfo = com.tp.loigiaihay.object.ArticleInfo@326921088 (0x137c6b80) | articleInfoNew = com.tp.loigiaihay.object.ArticleInfo@326921280 (0x137c6c40) | bottomUnitId = java.lang.String@317478080 (0x12ec54c0) | changeClass = java.lang.String@317555904 (0x12ed84c0) | changeObj = java.lang.String@317510848 (0x12ecd4c0) | coutPop = 0 | dbHis = com.tp.loigiaihay.data.DatabaseHandlerHistory@317156560 (0x12e76cd0) | dbSavePost = com.tp.loigiaihay.data.DatabaseHandlerSavePost@327161504 (0x138016a0) | dbSearch = null | edit_id_ar = android.app.SharedPreferencesImpl$EditorImpl@318073376 (0x12f56a20) | edit_next_post = android.app.SharedPreferencesImpl$EditorImpl@316458816 (0x12dcc740) | fistOpent = false | h = 1816 | header = android.widget.RelativeLayout@320160768 (0x13154400) | id_ar = java.lang.String@327134976 (0x137faf00) | imArrow = android.support.v7.widget.AppCompatImageView@320156672 (0x13153400) | imSave = android.support.v7.widget.AppCompatImageView@318481408 (0x12fba400) | imgBack = android.support.v7.widget.AppCompatImageView@320153600 (0x13152800) | inflater = com.android.internal.policy.impl.PhoneLayoutInflater@314862080 (0x12c46a00) | jsArticleInfo = org.json.JSONObject@316358320 (0x12db3eb0) | layout = null | like = false | listViewIntro = android.widget.ListView@315793408 (0x12d2a000) | llNextPost = android.widget.LinearLayout@320030720 (0x13134800) | ll_time_info = android.widget.RelativeLayout@318479360 (0x12fb9c00) | noFa = com.tp.loigiaihay.activitys.DetailLessonActivity@320144384 (0x13150400) | preClass = android.app.SharedPreferencesImpl@317050240 (0x12e5cd80) | preNextPost = android.app.SharedPreferencesImpl@316773760 (0x12e19580) | preObj = android.app.SharedPreferencesImpl@317049088 (0x12e5c900) | pre_id_ar = android.app.SharedPreferencesImpl@318042560 (0x12f4f1c0) | pre_save = null | pre_update_time = android.app.SharedPreferencesImpl@317460160 (0x12ec0ec0) | progressBar = android.widget.ProgressBar@320157696 (0x13153800) | storedUserError = null | storedUserNext = java.lang.String@1867470336 (0x6f4f5600) | title_ar = java.lang.String@318071488 (0x12f562c0) | tvBody = android.webkit.WebView@320164864 (0x13155400) | tvIntro = me.biubiubiu.justifytext.library.JustifyTextView@320163840 (0x13155000) | tvNoConnect = android.support.v7.widget.AppCompatTextView@320151552 (0x13152000) | tvSave = android.support.v7.widget.AppCompatTextView@318480384 (0x12fba000) | tvShare = android.support.v7.widget.AppCompatTextView@318482432 (0x12fba800) | tvTime = android.support.v7.widget.AppCompatTextView@318484480 (0x12fbb000) | tvTitle = me.biubiubiu.justifytext.library.JustifyTextView@320162816 (0x13154c00) | tvTitleDetail = android.support.v7.widget.AppCompatTextView@320155648 (0x13153000) | view = null | adRequest = null | advertisementStatus = null | edit = null | edtUpdateTime = android.app.SharedPreferencesImpl$EditorImpl@316345024 (0x12db0ac0) | fistLoadingApp = null | getUpdateTime = null | getVerCodeFromServer = null | interstitial = null | mFirebaseRemoteConfig = null | netWork = true | posAdsString = null | posAdsStringDetail = null | pre_update_time = android.app.SharedPreferencesImpl@317460160 (0x12ec0ec0) | strUpdatetime = java.lang.String@317479168 (0x12ec5900) | verName = null | mDelegate = android.support.v7.app.AppCompatDelegateImplV14@314700496 (0x12c1f2d0) | mCreated = true | mFragments = android.support.v4.app.FragmentController@314827120 (0x12c3e170) | mHandler = android.support.v4.app.FragmentActivity$1@314804192 (0x12c387e0) | mMediaController = null | mOptionsMenuInvalidated = false | mReallyStopped = true | mRequestedPermissionsFromFragment = false | mResumed = false | mRetaining = false | mStopped = true | DEBUG_ELASTIC = true | mActionBar = null | mActivityInfo = android.content.pm.ActivityInfo@314581376 (0x12c02180) | mActivityTransitionState = android.app.ActivityTransitionState@314786112 (0x12c34140) | mAllLoaderManagers = android.util.ArrayMap@319763968 (0x130f3600) | mApplication = com.tp.loigiaihay.ultils.ApplicationController@315000384 (0x12c68640) | mCalled = true | mChangeCanvasToTranslucent = false | mChangingConfigurations = false | mCheckedForLoaderManager = true | mComponent = android.content.ComponentName@314810544 (0x12c3a0b0) | mConfigChangeFlags = 0 | mContainer = android.app.Activity$1@314827056 (0x12c3e130) | mCurrentConfig = android.content.res.Configuration@314991888 (0x12c66510) | mDecor = null | mDefaultKeyMode = 0 | mDefaultKeySsb = null | mDestroyed = true | mDoReportFullyDrawn = false | mEmbeddedID = null | mEnableDefaultActionBarUp = false | mEnterTransitionListener = android.app.SharedElementCallback$1@1885790480 (0x7066e110) | mExitTransitionListener = android.app.SharedElementCallback$1@1885790480 (0x7066e110) | mFeatureContextMenuListener = android.app.Activity$FeatureContextMenuListener@314827024 (0x12c3e110) | mFinished = true | mFlipfont = 0 | mFragments = android.app.FragmentManagerImpl@314990768 (0x12c660b0) | mHandler = android.os.Handler@314804160 (0x12c387c0) | mIdent = 867318078 | mInjectionManager = android.app.im.InjectionManager@317027712 (0x12e57580) | mInstanceTracker = android.os.StrictMode$InstanceTracker@314827088 (0x12c3e150) | mInstrumentation = android.app.Instrumentation@314784832 (0x12c33c40) | mIntent = android.content.Intent@314613824 (0x12c0a040) | mLastNonConfigurationInstances = null | mLauncherBooster = null | mLoaderManager = null | mLoadersStarted = false | mMainThread = android.app.ActivityThread@314843392 (0x12c42100) | mManagedCursors = java.util.ArrayList@314803808 (0x12c38660) | mManagedDialogs = null | mMenuInflater = null | mParent = null | mPreventEmbeddedTabs = false | mReferrer = java.lang.String@314825920 (0x12c3dcc0) | mResultCode = 0 | mResultData = null | mResumed = false | mSearchManager = null | mStackedHeight = -1 | mStartedActivity = false | mStopped = true | mTemporaryPause = false | mTitle = java.lang.String@316388096 (0x12dbb300) | mTitleColor = 0 | mTitleReady = true | mToken = android.os.BinderProxy@314823712 (0x12c3d420) | mTranslucentCallback = null | mUiThread = java.lang.Thread@1974001480 (0x75a8df48) | mVisibleBehind = false | mVisibleFromClient = true | mVisibleFromServer = true | mVoiceInteractor = null | mWindow = com.android.internal.policy.impl.PhoneWindow@316306976 (0x12da7620) | mWindowAdded = true | mWindowManager = android.view.WindowManagerImpl@314804928 (0x12c38ac0) | myName = java.lang.String@314824096 (0x12c3d5a0) | mInflater = com.android.internal.policy.impl.PhoneLayoutInflater@314862080 (0x12c46a00) | mOverrideConfiguration = null | mResources = android.content.res.Resources@314582400 (0x12c02580) | mTheme = android.content.res.Resources$Theme@314804960 (0x12c38ae0) | mThemeResource = 2131427459 | mBase = android.app.ContextImpl@314947072 (0x12c5b600)
-
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.animation.LayoutTransition$1.val$parent | Field: android.view.textservice.SpellCheckerSession$1.this$0 | Field: android.support.v7.internal.widget.ActivityChooserModel.mActivityChoserModelPolicy | Field: android.widget.ActivityChooserModel.mActivityChoserModelPolicy | Field: android.accounts.AccountManager$AmsTask$Response.this$1 | Field: android.media.MediaScannerConnection.mContext | Field: android.os.UserManager.mContext | Field: android.media.AudioManager$1.this$0 | Field: android.widget.Editor$Blink.this$0 | Field: android.net.ConnectivityManager.sInstance | Field: android.view.Choreographer$FrameDisplayEventReceiver.mMessageQueue (always) | Static field: android.text.TextLine.sCached | Static field: android.app.ActivityManager.mContext | 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)`
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Comments: 17
@geecko86 I was adding adview in xml, then also I was getting the leak. Currently this works for me. http://stackoverflow.com/questions/9558708/admob-memory-leak-avoiding-by-using-empty-activity