将代码执行移至后台线程的阈值是多少? [关闭]

Posted

技术标签:

【中文标题】将代码执行移至后台线程的阈值是多少? [关闭]【英文标题】:Whats the threshold to move code execution to a background thread? [closed] 【发布时间】:2018-09-23 05:44:03 【问题描述】:

android 中将代码执行转移到后台线程(异步任务、服务、线程等)的阈值是多少?

假设我们知道任务将在 50 毫秒内完成,我们是否应该将其卸载到后台?

限制是多少?

【问题讨论】:

我认为一个简单的场景是 FrameDrops 情况,当您在 logcat 中看到主线程占用了太多进程时,您将不得不转移到后台任务。 【参考方案1】:

官方文档Keep your app responsive 说:

一般情况下,100 到 200 毫秒是用户将超过的阈值 感知应用程序的缓慢性。

但这也取决于你在屏幕上做什么。屏幕以 60Hz (16.6ms) 刷新,如果您正在播放动画,这可能是个问题。

他们还在ANR Documentation 上提供了许多解决此问题的建议

【讨论】:

这确实是一个准确的答案。谢谢@Xiome。

以上是关于将代码执行移至后台线程的阈值是多少? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何将正在运行的进程移至后台 (UNIX)

如何将 sizeForItemAt 放在后台线程上?

C#多线程编程

C#多线程编程

C#多线程编程

C#多线程编程