Пройдет ли lambdas к Observable.subscribe в kotlin приведет к утечкам памяти?

См. Следующий код kotlin:

class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { val disposable = Observable.interval(1, TimeUnit.SECONDS, AndroidSchedulers.mainThread()) .subscribe { textView.text = it.toString } } } 

Здесь я передаю лямбда-выражение в методе подписки вместо анонимных внутренних классов. Так требуется ли вызвать disposable.dispose() , чтобы предотвратить утечку памяти? Или выражение лямбда не будет содержать неявной ссылки на экземпляр класса MainActivity.

И если мне это нужно, это лучший способ и почему?

Solutions Collecting From Web of "Пройдет ли lambdas к Observable.subscribe в kotlin приведет к утечкам памяти?"

Я добавил регистратор в Observable.subscribe () следующим образом:

 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { val disposable = Observable.interval(1, TimeUnit.SECONDS, AndroidSchedulers.mainThread()).subscribe { Log.d(TAG, "Interval:" + it.toString()) textView.text = it.toString } } } 

и заметил, что даже после выхода из приложения, нажав клавишу «назад», наблюдаемый продолжает работать. Поэтому я добавил следующий код в onDestroy ():

 override fun onDestroy() { disposable.dispose() super.onDestroy() } 

и теперь все работает как ожидалось