我正在这样做:
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
。
我也从我的一项活动中得知,我不知道该如何处理这些no leak found
消息。
编辑:当前使用的是LeakCanary 1.6.3
答案 0 :(得分:0)
我发现了这个;我以为我可以尝试
这按预期工作。 我们不知道在执行堆转储和分析之前是否排除了泄漏。完成此操作后,默认行为是显示带有[Excluded]作为前缀的通知。这使用户知道LeakCanary已完成。如果根本没有任何反馈,您将无法知道泄漏金丝雀是否已制成。可以说这比没有反馈更好的用户体验。
您可以通过提供自己的com.squareup.leakcanary.AbstractAnalysisResultService子类来自定义此行为,而不是使用默认的com.squareup.leakcanary.DisplayLeakService
答案 1 :(得分:0)
perf <- performance(pred,"tpr","fpr")
plot(perf,col="grey82",lty=3)
plot(perf,lwd=3,avg="vertical",spread.estimate="boxplot",add=TRUE)