RxDownload icon indicating copy to clipboard operation
RxDownload copied to clipboard

订阅状态更新 导致页面卡顿问题

Open UsingMisz opened this issue 4 years ago • 6 comments

taskManager.subscribe

在刷新进度条时候刷新页面导致卡顿问题

UsingMisz avatar Jun 16 '20 07:06 UsingMisz

因为如果在主线程中更新大量的进度时 整个页面在操作就会出现卡顿 大佬可以订阅在异步线程吗 之后在转到主线程中 或者做一个延迟处理

UsingMisz avatar Jun 18 '20 04:06 UsingMisz

卡顿问题我是修改TaskManager里的subscribeDownload方法来解决,我改了1s一次: 原来的: private fun subscribeDownload() { downloadDisposable = connectFlowable .doOnSubscribe { downloadHandler.onStarted() } .subscribeOn(mainThread()) .observeOn(mainThread()) .doOnNext { downloadHandler.onDownloading(it) } .doOnComplete { downloadHandler.onCompleted() } .doOnError { downloadHandler.onFailed(it) } .doOnCancel { downloadHandler.onPaused() } .subscribeBy() } 修改后: private fun subscribeDownload() { downloadDisposable = connectFlowable.sample(1, SECONDS) .doOnSubscribe { downloadHandler.onStarted() } .subscribeOn(mainThread()) .observeOn(mainThread()) .doOnNext { downloadHandler.onDownloading(it) } .doOnComplete { downloadHandler.onCompleted() } .doOnError { downloadHandler.onFailed(it) } .doOnCancel { downloadHandler.onPaused() } .subscribeBy() }

zhangnin avatar Jan 11 '21 09:01 zhangnin

我这里也有ANR 是因为耗时操作在主线程中吗 .subscribeOn(mainThread()) .observeOn(mainThread())

740599886 avatar Jun 25 '23 08:06 740599886

邮件已收到,三日内拜读

Teemo100 avatar Jun 25 '23 08:06 Teemo100

1687680338990 这是日志

740599886 avatar Jun 25 '23 08:06 740599886

我把这里改成了IO 线程 然后改了两个地方的断言 效果倒是不影响 想问下 这个有什么其他影响吗 c1ea9640178c5c7be209b63c6bdd56e 974d1e9539b080a79a87f114a6b695d 755e58d56ed736710fc823eea84e409 af22f0c7258e6dedbfa50b6cb4bb6e9 8054129b9e6bf9696dcf7f6aed40c66

740599886 avatar Jun 25 '23 08:06 740599886