最近,我正在研究android.view.animation.Animation
的系统实现。
我重写了Animation.applyTransformation()方法,并记录了调用间隔时间,大约是16毫秒。
16ms'间隔意味着60fps。这使动画播放顺畅。
但为什么是16ms?谁控制了这个?
如果我实现一个动画线程来实现自定义动画,我通常会postDelayed(this, 16)
,所以我的线程将以60fps运行,每次都发送一条消息给Handler
,告诉它做一些UI更改Main Thread
。
android系统怎么样?
答案 0 :(得分:2)
我认为您正在寻找Choreographer
课程:
协调动画,输入和绘图的时间。编舞者从显示子系统接收定时脉冲(例如垂直同步),然后安排工作作为渲染下一个显示帧的一部分发生。