In org.kiwix.kiwixmobile:2.3:55. * org.kiwix.kiwixmobile.KiwixMobileActivity has leaked: * GC ROOT android.speech.tts.TextToSpeech$Connection$1.this$1 (anonymous subclass of android.speech.tts.ITextToSpeechCallback$Stub) * references android.speech.tts.TextToSpeech$Connection.this$0 * references android.speech.tts.TextToSpeech.mContext * leaks org.kiwix.kiwixmobile.KiwixMobileActivity instance * Retaining: 11 kB. * Reference Key: 2e075854-09f8-48c1-a686-e40f6fcc3c23 * Device: LENOVO Lenovo Lenovo K33a42 karate * Android Version: 7.0 API: 24 LeakCanary: 1.5.4 74837f0 * Durations: watch=75826ms, gc=243ms, heap dump=4050ms, analysis=130322ms * Details: * Instance of android.speech.tts.TextToSpeech$Connection$1 | static $classOverhead = byte[392]@317248513 (0x12e8d401) | this$1 = android.speech.tts.TextToSpeech$Connection@317390528 (0x12eafec0) | mDescriptor = java.lang.String@1874337112 (0x6fb81d58) | mObject = -1902827416 | mOwner = android.speech.tts.TextToSpeech$Connection$1@317390560 (0x12eafee0) | shadow$_klass_ = android.speech.tts.TextToSpeech$Connection$1 | shadow$_monitor_ = 0 * Instance of android.speech.tts.TextToSpeech$Connection | static $classOverhead = byte[328]@317217889 (0x12e85c61) | mCallback = android.speech.tts.TextToSpeech$Connection$1@317390560 (0x12eafee0) | mEstablished = true | mOnSetupConnectionAsyncTask = null | mService = null | this$0 = android.speech.tts.TextToSpeech@316000512 (0x12d5c900) | shadow$_klass_ = android.speech.tts.TextToSpeech$Connection | shadow$_monitor_ = -2046571428 * Instance of android.speech.tts.TextToSpeech | static QUEUE_DESTROY = 2 | static LANG_NOT_SUPPORTED = -2 | static QUEUE_FLUSH = 0 | static ERROR_NETWORK = -6 | static STOPPED = -2 | static ERROR = -1 | static LANG_COUNTRY_AVAILABLE = 1 | static ACTION_TTS_QUEUE_PROCESSING_COMPLETED = java.lang.String@1874283072 (0x6fb74a40) | static ERROR_SERVICE = -4 | static LANG_COUNTRY_VAR_AVAILABLE = 2 | static ERROR_SYNTHESIS = -3 | static ERROR_INVALID_REQUEST = -8 | static SUCCESS = 0 | static ERROR_NOT_INSTALLED_YET = -9 | static QUEUE_ADD = 1 | static ERROR_OUTPUT = -5 | static LANG_AVAILABLE = 0 | static $classOverhead = byte[536]@317225985 (0x12e87c01) | static LANG_MISSING_DATA = -1 | static TAG = java.lang.String@1874326192 (0x6fb7f2b0) | static ERROR_NETWORK_TIMEOUT = -7 | mConnectingServiceConnection = null | mContext = org.kiwix.kiwixmobile.KiwixMobileActivity@314573312 (0x12c00200) | mCurrentEngine = null | mEarcons = java.util.HashMap@316656424 (0x12dfcb28) | mEnginesHelper = android.speech.tts.TtsEngines@315981664 (0x12d57f60) | mInitListener = null | mParams = android.os.Bundle@316658424 (0x12dfd2f8) | mRequestedEngine = null | mServiceConnection = null | mStartLock = java.lang.Object@314873240 (0x12c49598) | mUseFallback = true | mUtteranceProgressListener = null | mUtterances = java.util.HashMap@316656304 (0x12dfcab0) | shadow$_klass_ = android.speech.tts.TextToSpeech | shadow$_monitor_ = 0 * Instance of org.kiwix.kiwixmobile.KiwixMobileActivity | static KIWIX_BROWSER_MARKET_URI = android.net.Uri$StringUri@324576192 (0x1358a3c0) | static nightMode = false | static $classOverhead = byte[2352]@315281409 (0x12cad001) | static KIWIX_LOCAL_MARKET_URI = android.net.Uri$StringUri@324576136 (0x1358a388) | static wifiOnly = true | static isFullscreenOpened = false | static refresh = false | TTSControls = android.widget.LinearLayout@316216320 (0x12d91400) | actionMode = null | backToTopButton = android.support.v7.widget.AppCompatButton@316217344 (0x12d91800) | bookmarkTabEnabled = true | bookmarks = java.util.ArrayList@315618424 (0x12cff478) | bookmarksDao = org.kiwix.kiwixmobile.database.BookmarksDao@314592256 (0x12c04c00) | compatCallback = org.kiwix.kiwixmobile.views.CompatFindActionModeCallback@316518936 (0x12ddb218) | contentFrame = android.support.design.internal.ScrimInsetsFrameLayout@315755520 (0x12d20c00) | currentWebViewIndex = 0 | documentParser = org.kiwix.kiwixmobile.utils.DocumentParser@317407824 (0x12eb4250) | documentParserJs = java.lang.String@317203456 (0x12e82400) | documentSections = java.util.ArrayList@316515616 (0x12dda520) | drawerLayout = android.support.v4.widget.DrawerLayout@315681792 (0x12d0ec00) | exitFullscreenButton = android.support.v7.widget.AppCompatImageButton@315784192 (0x12d27c00) | file = null | isBackToTopEnabled = false | isExternalLinkPopup = true | isFirstRun = true | isHideToolbar = true | isOpenNewTabInBackground = false | isSpeaking = false | mWebViews = java.util.ArrayList@314842608 (0x12c41df0) | menu = android.support.v7.view.menu.MenuBuilder@318316104 (0x12f91e48) | menuBookmarks = android.support.v7.view.menu.MenuItemImpl@314794120 (0x12c36088) | newTabButton = android.widget.RelativeLayout@317086720 (0x12e65c00) | okHttpClient = okhttp3.OkHttpClient@314668416 (0x12c17580) | pageActionTabsCallback = org.kiwix.kiwixmobile.KiwixMobileActivity$2@314925408 (0x12c56160) | pageBottomTabLayout = org.kiwix.kiwixmobile.views.PageBottomTabLayout@316237824 (0x12d96800) | pageBottomTabListener = org.kiwix.kiwixmobile.KiwixMobileActivity$1@314925392 (0x12c56150) | pauseTTSButton = android.support.v7.widget.AppCompatButton@316214272 (0x12d90c00) | progressBar = org.kiwix.kiwixmobile.views.AnimatedProgressBar@317102080 (0x12e69800) | requestClearHistoryAfterLoad = false | requestInitAllMenuItems = true | sharedPreferenceUtil = org.kiwix.kiwixmobile.utils.SharedPreferenceUtil@314592352 (0x12c04c60) | snackbarLayout = android.support.design.widget.CoordinatorLayout@314713088 (0x12c22400) | stopTTSButton = android.support.v7.widget.AppCompatButton@316213248 (0x12d90800) | tabBackButton = android.support.v7.widget.AppCompatImageView@317085696 (0x12e65800) | tabBackButtonContainer = android.widget.RelativeLayout@317084672 (0x12e65400) | tabDrawerAdapter = org.kiwix.kiwixmobile.TabDrawerAdapter@315718816 (0x12d17ca0) | tabDrawerLeft = android.support.v7.widget.RecyclerView@317052928 (0x12e5d800) | tabDrawerLeftContainer = android.widget.LinearLayout@317032448 (0x12e58800) | tabForwardButton = android.support.v7.widget.AppCompatImageView@317089792 (0x12e66800) | tabForwardButtonContainer = android.widget.RelativeLayout@317088768 (0x12e66400) | tableDrawerRight = android.support.v7.widget.RecyclerView@317096960 (0x12e68400) | tableDrawerRightContainer = android.widget.LinearLayout@317090816 (0x12e66c00) | tempForUndo = null | tempVisitCount = 5 | toolbar = android.support.v7.widget.Toolbar@317101056 (0x12e69400) | toolbarContainer = android.widget.RelativeLayout@317097984 (0x12e68800) | tts = org.kiwix.kiwixmobile.utils.KiwixTextToSpeech@316656904 (0x12dfcd08) | visitCounterPref = org.kiwix.kiwixmobile.utils.RateAppCounter@315132320 (0x12c889a0) | wasHideToolbar = true | mDelegate = android.support.v7.app.AppCompatDelegateImplN@314859872 (0x12c46160) | mResources = null | mThemeId = 2131689478 | mCreated = true | mFragments = android.support.v4.app.FragmentController@314925376 (0x12c56140) | mHandler = android.support.v4.app.FragmentActivity$1@314609472 (0x12c08f40) | mNextCandidateRequestIndex = 0 | mPendingFragmentActivityResults = android.support.v4.util.SparseArrayCompat@314920072 (0x12c54c88) | mReallyStopped = true | mRequestedPermissionsFromFragment = false | mResumed = false | mRetaining = false | mStopped = true | mStartedActivityFromFragment = false | mStartedIntentSenderFromFragment = false | mExtraDataMap = android.support.v4.util.SimpleArrayMap@314842944 (0x12c41f40) | mLifecycleRegistry = android.arch.lifecycle.LifecycleRegistry@314609536 (0x12c08f80) | mActionBar = null | mActionModeTypeStarting = 0 | mActivityInfo = android.content.pm.ActivityInfo@315700272 (0x12d13430) | mActivityTransitionState = android.app.ActivityTransitionState@314941784 (0x12c5a158) | mApplication = org.kiwix.kiwixmobile.KiwixApplication@315052408 (0x12c75178) | mCalled = true | mChangeCanvasToTranslucent = false | mChangingConfigurations = false | mComponent = android.content.ComponentName@314953968 (0x12c5d0f0) | mConfigChangeFlags = 0 | mCurrentConfig = android.content.res.Configuration@314601056 (0x12c06e60) | mDecor = null | mDefaultKeyMode = 0 | mDefaultKeySsb = null | mDestroyed = true | mDoReportFullyDrawn = false | mEatKeyUpEvent = false | mEmbeddedID = null | mEnableDefaultActionBarUp = false | mEnterTransitionListener = android.app.SharedElementCallback$1@1878070800 (0x6ff11610) | mExitTransitionListener = android.app.SharedElementCallback$1@1878070800 (0x6ff11610) | mFinished = true | mFragments = android.app.FragmentController@314925312 (0x12c56100) | mHandler = android.os.Handler@314609600 (0x12c08fc0) | mHasCurrentPermissionsRequest = false | mIdent = 226507064 | mInstanceTracker = android.os.StrictMode$InstanceTracker@314925328 (0x12c56110) | mInstrumentation = android.app.Instrumentation@314814248 (0x12c3af28) | mIntent = android.content.Intent@315736464 (0x12d1c190) | mLastNonConfigurationInstances = null | mMainThread = android.app.ActivityThread@315048960 (0x12c74400) | mManagedCursors = java.util.ArrayList@314842992 (0x12c41f70) | mManagedDialogs = null | mMenuInflater = null | mParent = null | mReferrer = java.lang.String@314902208 (0x12c506c0) | mResultCode = 0 | mResultData = null | mResumed = false | mSearchEvent = null | mSearchManager = null | mStartedActivity = true | mStopped = true | mTaskDescription = android.app.ActivityManager$TaskDescription@314609568 (0x12c08fa0) | mTemporaryPause = false | mTitle = java.lang.String@315556128 (0x12cf0120) | mTitleColor = 0 | mTitleReady = true | mToken = android.os.BinderProxy@314849344 (0x12c43840) | mTranslucentCallback = null | mUiThread = java.lang.Thread@1946977776 (0x740c85f0) | mVisibleBehind = false | mVisibleFromClient = true | mVisibleFromServer = false | mVoiceInteractor = null | mWindow = com.android.internal.policy.PhoneWindow@314998080 (0x12c67d40) | mWindowAdded = true | mWindowManager = android.view.WindowManagerImpl@314842176 (0x12c41c40) | mInflater = com.android.internal.policy.PhoneLayoutInflater@314838656 (0x12c40e80) | mOverrideConfiguration = null | mResources = android.content.res.Resources@314613480 (0x12c09ee8) | mTheme = android.content.res.Resources$Theme@314925552 (0x12c561f0) | mThemeResource = 2131689478 | mBase = android.app.ContextImpl@314974976 (0x12c62300) | shadow$_klass_ = org.kiwix.kiwixmobile.KiwixMobileActivity | shadow$_monitor_ = 1218324991 * Excluded Refs: | Field: android.view.inputmethod.InputMethodManager.mNextServedView | Field: android.view.inputmethod.InputMethodManager.mServedView | Field: android.view.inputmethod.InputMethodManager.mServedInputConnection | 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)