【发布时间】:2018-09-23 05:44:03
【问题描述】:
在 Android 中将代码执行转移到后台线程(异步任务、服务、线程等)的阈值是多少?
假设我们知道任务将在 50 毫秒内完成,我们是否应该将其卸载到后台?
限制是多少?
【问题讨论】:
-
我认为一个简单的场景是 FrameDrops 情况,当您在 logcat 中看到主线程占用了太多进程时,您将不得不转移到后台任务。
在 Android 中将代码执行转移到后台线程(异步任务、服务、线程等)的阈值是多少?
假设我们知道任务将在 50 毫秒内完成,我们是否应该将其卸载到后台?
限制是多少?
【问题讨论】:
官方文档Keep your app responsive 说:
一般情况下,100 到 200 毫秒是用户将超过的阈值 感知应用程序的缓慢性。
但这也取决于你在屏幕上做什么。屏幕以 60Hz (16.6ms) 刷新,如果您正在播放动画,这可能是个问题。
他们还在ANR Documentation 上提供了许多解决此问题的建议
【讨论】: