Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
UsingMisz opened this issue Jun 16, 2020 · 6 comments
Open

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

UsingMisz opened this issue Jun 16, 2020 · 6 comments

Comments

@UsingMisz
Copy link

taskManager.subscribe

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

@UsingMisz
Copy link
Author

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

@zhangnin
Copy link

卡顿问题我是修改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()
}

@740599886
Copy link

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

@Teemo100
Copy link

Teemo100 commented Jun 25, 2023 via email

@740599886
Copy link

1687680338990
这是日志

@740599886
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants