我有一个实现DefaultLifecycleObserver
. 我想lifecycle.addObserver(this)
从init
块中调用,但它说"Leaking 'this' in constructor of non-final class MyAbstractClass"。
我的代码:
abstract class MyAbstractClass(protected val activity: AppCompatActivity) : DefaultLifecycleObserver {
init {
activity.lifecycle.addObserver(this)
}
.
.
.
}
我可以把这行代码移到每个扩展这个抽象类的final类的init块中,但是我不喜欢这个想法,特别是因为我想保证将来每个扩展MyAbstractClass的新类都会调用它也是。有没有更好的地方可以在不造成泄漏的情况下调用它?