Cómo get el último valor emitido de observable

Supongamos que tengo un timer que emite un elemento después de un segundo intervalo.

Quiero suscribirme a él y ejecutarlo durante 10 segundos. Después de 10 segundos me desuscribo y luego quiero poder acceder a su último valor emitado de alguna otra parte del código. Aquí hay un código de muestra:

@Test fun testMeasuretime(){ val emitter = Observable.interval(1, TimeUnit.SECONDS) .doOnNext{t: Long? -> Log.v("emitter", t.toString())} val disposable = emitter.subscribe() Thread.sleep(10000) disposable.dispose() Thread.sleep(5000) //get the last emited value Thread.sleep(5000) } 

¿Hay alguna forma de get el último valor emitido de una parte del código? Quiero usar esta solución para medir la ejecución del time de alguna tarea.

Puede get el último valor utilizando doOnNext() para establecer el valor de un campo de class o insert un BehaviorSubject en la ruta.

Sin embargo, no creo que su código realmente mida el time de ejecución de la CPU de la CPU. En cambio, está capturando los puntos de inicio y fin del procesamiento posiblemente en un hilo no relacionado. Entonces, lo mejor que puedes get es el reloj de panetworking.

Un mejor enfoque es algo así como (escrito en Java, ya que no conozco a Kotlin):

 long start = System.nanoTime(); performTaskOnThisThread(); long end = System.nanoTime(); long durationInNanoSeconds = end - start; 
  • ¿Cómo escalar dinámicamente el rebote de la stream de emisión de ráfagas?
  • ¿Por qué tengo un Log de salida no deseado al fusionar 2 observables en otro Observable, que los almacena temporalmente cada 10 segundos?
  • Error "No se puede combinar Dex" al usar Room + Kotlin
  • RxJava 1.x .zip () no funciona en RxJava 2.0
  • No se puede llamar al operador desde () en Observable en Android Kotlin
  • Enfrentando problemas con la implementación de Rx Java con la architecture de flujo en Android kotlin
  • Retrofit 2, Rx 2 y llamadas asincrónicas
  • RxJava2 switchIfEmpty y verificando una ejecución
  • ¿Cómo se usa Flowable.generate de Kotlin?
  • kotlin consiguiendo un suscriptor para observar un observable usando RxJava2
  • RxJava2 observable no procesando en Siguiente cuando hay un cambio