编舞跳帧!多少算太多?
Posted
技术标签:
【中文标题】编舞跳帧!多少算太多?【英文标题】:Choreographer skipped frames! How many is too many? 【发布时间】:2013-11-03 10:31:40 【问题描述】:有时我会在 logcat 中看到类似的日志条目:
编舞跳过了 35 帧!应用程序可能在其主线程上做了太多工作。
我知道这条消息的含义(例如在这里解释:Meaning of Choreographer messages in Logcat),这个问题与消息的含义无关。
我的问题是:多少跳帧太多了? 有没有任何指导(官方或经验)说大约 50 帧太多而少了可以?即使在速度较慢的设备上,我也没有真正看到任何性能下降。也许我真的不应该仅仅根据这条消息担心性能?
【问题讨论】:
【参考方案1】:有多少跳过的帧太多了?
根据一些人的说法,1 太多了。
是否有任何指导(官方或经验)说大约 50 太多而更少是可以的?
50 会相当糟糕。每帧 16 毫秒,即您的 UI 冻结的时间为 800 毫秒。用户很有可能注意到这一点(例如,他们尝试点击按钮但没有视觉响应)。
您的 UI 越生动,用户就越有可能注意到丢帧。在相当静态的 UI 上丢帧可能不会被注意到;在用户滚动ListView
时丢帧更容易被注意到。用户对丢帧的敏感程度因用户而异。
也许我真的不应该仅仅根据这条消息担心性能?
恕我直言,你应该这样做。
【讨论】:
我的 UI 在启动 Activity 时跳过了大约 2、3 帧。我没有太多可以优化的地方。但是,如果我看到错过的帧仍然会伤害我。 :(以上是关于编舞跳帧!多少算太多?的主要内容,如果未能解决你的问题,请参考以下文章