gpt4 book ai didi

android - 我如何从 LeakCanary 中排除一个类?

转载 作者:太空宇宙 更新时间:2023-11-03 11:23:46 26 4
gpt4 key购买 nike

我这样做:

ExcludedRefs excludedRefs = AndroidExcludedRefs.createAppDefaults()
.clazz("androidx.lifecycle.ReportFragment")
.reason("Very annoying report fragment leak that isn't a leak apparently")
.alwaysExclude()
.build();
LeakCanary
.refWatcher(context)
.listenerServiceClass(DisplayLeakService.class)
.excludedRefs(excludedRefs)
.watchDelay(10, TimeUnit.SECONDS)
.buildAndInstall();

但我仍然得到 ReportFragment was never GCed but no leak found

我在我的一项 Activity 中也得到了这一点,但我不知道如何处理这些 no leak found 消息。

编辑:当前使用 LeakCanary 1.6.3

最佳答案

我找到了这个;我想我可以试试看

这按预期工作。在执行堆转储和分析之前,我们无法知道是否排除了泄漏。完成此操作后,默认行为是显示带有 [Excluded] 作为前缀的通知。这让用户知道 LeakCanary 已经完成。如果根本没有反馈,您将无法知道泄漏金丝雀是否完成。这可以说是比完全没有反馈更好的用户体验。

您可以通过提供自己的 com.squareup.leakcanary.AbstractAnalysisResultService 子类而不是使用默认的 com.squareup.leakcanary.DisplayLeakService 来自定义此行为

关于android - 我如何从 LeakCanary 中排除一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54598742/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com