¿Pasar lambdas a Observable.subscribe en kotlin dará como resultado pérdidas de memory?
Vea el siguiente código de kotlin:
class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { val disposable = Observable.interval(1, TimeUnit.SECONDS, AndroidSchedulers.mainThread()) .subscribe { textView.text = it.toString } } }
Aquí estoy pasando una expresión lambda en el método de suscripción en lugar de una class interna anónima. Entonces, ¿es necesario llamar a disposable.dispose()
para evitar pérdidas de memory? O la expresión lambda no mantendrá una reference implícita a la instancia de la class MainActivity.
- Kotlin RxJava Bug Nullable
- Repetir acciones en estado con RxJava
- Cómo contar el time de ejecución de lo observable
- Invoque RxJava2 cancelable / desechable del hilo correcto
- Filter rxjava no funciona
Y si necesito desecharlo, ¿cuál es la mejor manera y por qué?
- Operador RxJava para el método de conmutación
- La reconnection de RxJava en observable conectable no funciona
- Pruebas unitarias Rxjava observables que tienen un retraso
- Kotlin cuádruple, quíntuple, etc. para desestructurar
- Usando RxJava para get un resultado distinto con Realm y Retrofit
- Espere hasta que dos observables emitan verdadero
- Cómo usar la class ContextWrapper con subscribeWith
- Cómo upload el valor de retorno de un constructor
Agregué un registrador al Observable.subscribe () de la siguiente manera:
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 } } }
y notó que incluso después de salir de la aplicación presionando la tecla de retroceso, el observable seguía funcionando. Así que agregué el siguiente código a onDestroy ():
override fun onDestroy() { disposable.dispose() super.onDestroy() }
y ahora todo está funcionando como se esperaba
- ClassCastException con el método bindService de ServiceTestRule
- Especificación Jpa para encontrar un subset del valor del campo