Autodispose를 사용하는 스트림은 범위가 ON_PAUSE 또는 ON_STOP 상태에있을 때 방출을 중지해야합니까?

친구

autodispose 라이브러리에서 간격 연산자가있는 스트림과 autodispose가있는 경우 범위가 일시 중지 및 중지 상태를 내 보낸 경우에도 스트림이 계속 트리거되도록 설계되어 있습니까?

Fragment {

   override fun onViewCreated() {
      Flowable.just(1).flatMap{ value -> 
         Flowable.interval(1, TimeUnit.SECONDS).map{value}
         .autoDispose(viewLifecycleOwner)
         .subscribe{Timber.d("Value: $value")}
      }
   }
}

다음 활동으로 변경하면 범위 자체가 ON_PAUSE 상태가 된 다음 ON_STOP 상태가 되더라도 간격은 계속 값을 방출합니다.

사용할 때 동작이 변경되지 않습니다.

    private val scopeProvider by lazy { AndroidLifecycleScopeProvider.from(viewLifecycleOwner) }

대신 autoDispose (scopeProvider)를 사용하십시오.

잭 스위 어스

귀하의 예에 해당 라이프 사이클 이벤트는 것 onDestroyView()모두 후에이다, onPause()하고 onStop(). 수명주기 흐름은 https://i.imgur.com/0EVReuq.png 다이어그램을 참조 하세요 .

일시 중지 또는 중지 상태에서 중지하려면 다음 중 하나를 수행 할 수 있습니다.

1-이 구독을 onStart()(중지) 또는 onResume()(일시 중지)로 이동

2-원하는 종료 이벤트를 수동으로 설정

Fragment {

   override fun onViewCreated() {
      Flowable.just(1).flatMap{ value -> 
         Flowable.interval(1, TimeUnit.SECONDS).map{value}
         .autoDispose(viewLifecycleOwner, untilEvent = Lifecycle.Event.ON_PAUSE) // or ON_STOP
         .subscribe{Timber.d("Value: $value")}
      }
   }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관