큰 파일을 업로드하려면 내 Android 앱이 지원해야하지만 업로드가 완료 될 때까지 사용자가 기다리지 않기를 바랍니다.RxJava, 처분하지 않으면 어떻게됩니까?
일반적으로 Observable을 사용하면 뷰가 소멸 될 때 dispose()를 호출합니다.
업로드 할 때 어떤 경우에도 완료 될 때까지 처리 할 수 없습니다.
그래서 나는이 좋아하려고private val compositeDisposable: CompositeDisposable = CompositeDisposable()
fun upload() {
val disposable = Observable.just(true).delay(20, TimeUnit.SECONDS).subscribe({
Log.d("=>", "Upload finished")
disposeUploader()
})
compositeDisposable.add(disposable)
}
fun disposeUploader() {
compositeDisposable.clear()
compositeDisposable.dispose()
}
생각하고 있었다 그러나 문제는 업로드입니다() 최초의 업 로더가 다른 모든 처리 호출을 처리 할 수 있도록, 여러 번 호출 할 수있다.
처분을하지 않으면 어떻게됩니까? 또는 그것이 완료되었을 때 그 자체를 버리는 어떤 방법이 있습니까? - 지속적으로 요청 모듈에 의해 유지 될 수 분리보기 참조
1) 않도록 메모리 누수 :
그러나 업로드 할 때 어떤 경우에도 처리가 끝날 때까지 처리 할 수 없습니다. "- 업로드 케이스를 여기서 처리 할 수없는 이유를 자세히 설명해 주시겠습니까? –
업로드하는 동안 관찰을 처분하면 업로드가 종료됩니다. –
rxjava2의'.subscribe()'는 Disposable을 리턴하지 않고 대신 void를 리턴합니다. rxjava1과 혼동하여'구독 '을 반환하는'.subscribe()'를 허용합니까? –