在非 Android 应用程序上使用 LeakCanary

Using LeakCanary on a non Android application

LeakCanary 可以用于非 Android 应用程序吗? 例如,在 JavaFx 应用程序中?

简短的回答是不可以。


LeakCanary documentation site 是这样说的:

LeakCanary’s knowledge of the internals of the Android Framework gives it a unique ability to narrow down the cause of each leak, helping developers dramatically reduce OutOfMemoryError crashes.

据此,我们推断正是该工具对 Android 的了解使其有别于一般的检漏仪。

然后我们查看 Github 上的源代码 repo,源代码树中有许多目录用于 Android 支持,但没有明显的提供对任何其他框架的支持(Swing 、JavaFX、SWT 等)。

最后,在项目的问题跟踪器上请求了对 JavaFX 的 LeakCanary 支持,但该请求已被拒绝 "not a priority"。

有人可以将 LeakCanary 使用的方法应用到其他框架,这并不是不可想象的。甚至扩展 LeakCanary 以支持其他框架。但没有迹象表明有人这样做过。 (我能找到。)