【问题标题】:Android ViewRootImpl context leak issueAndroid ViewRootImpl 上下文泄漏问题
【发布时间】:2019-08-16 15:37:18
【问题描述】:

您好,我正在为我的应用程序进行内存分析。为此,我正在尝试识别我的应用程序的内存泄漏。我遇到以下类型的内存泄漏。

com.sample.activityname has leaked:
* static WindowManagerGlobal.sDefaultWindowManager
* ↳ WindowManagerGlobal.mRoots
* ↳ ArrayList.elementData
* ↳ array Object[].[4]
* ↳ **ViewRootImpl.!(mContext)!**
* ↳ **ContextThemeWrapper.!(mBase)!**
* ↳ activityname

ViewRootImpl.mContext 泄漏的可能原因是什么。我正在使用leakcanary 来识别我的泄漏。我也已经通过 https://github.com/square/leakcanary/issues/94 。但无法得到任何提示。

【问题讨论】:

    标签: android memory-leaks leakcanary


    【解决方案1】:

    我注意到我的应用程序中存在内存泄漏,其中堆转储看起来就像您的一样。我最终将此追溯到我对ProgressDialog 类的使用。我的一些活动会使用ProgressDialog.show() 显示一个进度对话框,但会在显示的进度对话框上调用dismiss() 之前调用finish()

    也许您正在显示某种类型的 ProgressDialog、AlertDialog 或在 Activity 销毁之前未关闭的 Dialog?希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-27
      • 1970-01-01
      • 2010-10-03
      相关资源
      最近更新 更多