Handler reference leaks
Handler reference leaks
Since this Handler is declared as an inner class, it may prevent the outer class from being garbage collected. If the Handler is using a Looper
or MessageQueue
for a thread other than the main thread, then there is no issue. If the Handler
is using the Looper
or MessageQueue
of the main thread, you need to fix your Handler
declaration, as follows: Declare the Handler
as a static class; In the outer class, instantiate a WeakReference
to the outer class and pass this object to your Handler
when you instantiate the Handler
; Make all references to members of the outer class using the WeakReference
object.
Issue id: HandlerLeak
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for Android 2023.3, Qodana for JVM 2023.3 |
Plugin: | Android, 2022.3.1 Beta 2 |