android.support.constraint.ConstraintLayout 已泄露:

2024-03-26

我正在使用 LeakCanary 来检测应用程序中的内存泄漏。我使用它成功识别并修复了一些泄漏,但我正在努力找到此泄漏的根源:

* android.support.constraint.ConstraintLayout has leaked:
* Toast$TN.mNextView
* ↳ LinearLayout.mContext
* ↳ HomeActivity.!(mDelegate)!
* ↳ AppCompatDelegateImplN.!(mActionBar)!
* ↳ ToolbarActionBar.!(mDecorToolbar)!
* ↳ ToolbarWidgetWrapper.!(mToolbar)!
* ↳ Toolbar.mParent
* ↳ ConstraintLayout
* Reference Key: 552b5bc5-409d-44c4-8412-87341237ae6d
* Device: samsung samsung SM-G960F starltexx
* Android Version: 8.0.0 API: 26 LeakCanary: 1.6.2 0ebc1fc
* Durations: watch=5769ms, gc=153ms, heap dump=933ms, analysis=5802ms

此泄漏是由 Android SDK 还是应用程序特定代码引起的?


泄漏是由应用程序特定代码引起的。一个片段称为getActivity().setSupportActionBar()具有片段布局中包含的视图。当切换到另一个片段时,资源无法被回收,因为活动仍然保留对不再可见的工具栏的引用。 我通过调用修复了这个泄漏getActivity().setSupportActionBar(null)在碎片中onDestroyView()方法,该方法删除对工具栏的引用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android.support.constraint.ConstraintLayout 已泄露: 的相关文章

随机推荐