LiveEventBus icon indicating copy to clipboard operation
LiveEventBus copied to clipboard

postDelay可能会导致内存泄漏

Open leoray1990 opened this issue 6 years ago • 1 comments

通过 posDelay 发送一个事件出去,然后当前 Fragment (或 Activity)重新创建,但是这个延迟事件不会重新开始计时,下次再打开这个 Fragment 以后,就会很快收到超时事件,这个算是一个 bug 吧。 而且由于 postDelay 是用Handler 实现的,就算这个时候Fragment 被销毁了,这个事件还是在的,这种感觉也是有问题的。 按我的理解postDelay 的生命周期应该和 ViewModel 类似吧,目前来看不是这样的。这里主要针对 postDelay 的场景

leoray1990 avatar Aug 26 '19 03:08 leoray1990

应该不会造成内存泄漏,因为虽然使用了基于handler的postDelay,但是post的Runnable不是匿名内部类,所以不会造成发送发或者接收方的内存泄漏。我理解应该是这个样子

JeremyLiao avatar Aug 27 '19 03:08 JeremyLiao