ACRA 和 LeakCanary
ACRA and LeakCanary
最近我开始使用LeakCanary。我这是我的堆栈跟踪:
com.my.app.ui.menu.MenuActivity has leaked:
D/LeakCanary: * GC ROOT static org.acra.ACRA.errorReporterSingleton
D/LeakCanary: * references org.acra.ErrorReporter.lastActivityCreated
D/LeakCanary: * leaks com.my.app.ui.menu.MenuActivity instance
如果我没理解错的话,MenuActivity 包含字段 errorReporterSingleton 上的静态引用,对吗?我该如何解决这个漏洞?
LeakCanary 似乎在告诉 org.acra.ErrorReporter.lastActivityCreated
持有对 com.my.app.ui.menu.MenuActivity
的引用。
LeakCanary 弄错了。
lastActivityCreated
是对最后一个 Activity 的 弱 引用。即当没有 strong/direct 个引用时它会被释放。
最近我开始使用LeakCanary。我这是我的堆栈跟踪:
com.my.app.ui.menu.MenuActivity has leaked:
D/LeakCanary: * GC ROOT static org.acra.ACRA.errorReporterSingleton
D/LeakCanary: * references org.acra.ErrorReporter.lastActivityCreated
D/LeakCanary: * leaks com.my.app.ui.menu.MenuActivity instance
如果我没理解错的话,MenuActivity 包含字段 errorReporterSingleton 上的静态引用,对吗?我该如何解决这个漏洞?
LeakCanary 似乎在告诉 org.acra.ErrorReporter.lastActivityCreated
持有对 com.my.app.ui.menu.MenuActivity
的引用。
LeakCanary 弄错了。
lastActivityCreated
是对最后一个 Activity 的 弱 引用。即当没有 strong/direct 个引用时它会被释放。