为什么BroadcastReceiver会保留我的对象?

时间:2015-04-22 10:47:02

标签: java gson

每次我在print()的实例上调用myMethod()时,都会分配一个新实例,并且在MyObject结束后没有进行GC。

我几个小时都在苦苦思索,我缺少什么?

myMethod()

1 个答案:

答案 0 :(得分:0)

这与GSON无关。 new BroadcastReceiver()创建一个匿名类的实例,该实例保留对其包含MyObject的引用。 LocalBroadcastManager依次保留对mReceiver的引用。要解决此问题,请定义实现BroadcastReceiver的静态内部类(或顶级类)。静态内部类不会保留对其封闭类的引用。

相关问题