属性动画ValueAnimator运行原理时序图
2020-12-08 11:23:54 0 举报
属性动画ValueAnimator动画运行原理时序图
作者其他创作
大纲/内容
7.start()
11.接收到屏幕刷新信号
1.ofInt()
10.向底层注册监听下一个屏幕刷新信号事件(具体分析见上一篇博客Android屏幕绘制机制制)
25.addUpdateListener()
31.重复12-27步骤
19.animateValue()
13.doAnimationFrame()
3.ofInt()
24.mAnimatedValue(动画进度值映射到所需的值)
Keyframe
17.fraction = currentTime - mStartTime) / scaledDuration;(计算当前帧的动画进度)
参考:Android屏幕绘制机制
18.clampFraction()&getCurrentIterationFraction()(确保上述计算的进度值在0-1区间)
21.calculateValue()
4.ofInt()
14.doAnimationFrame()
20.fraction = mInterpolator.getInterpolation(fraction);(根据插值器规则计算当前帧的实际动画进度)
6.IntKeyframeSet
15.处理第一帧动画工作
28.postFrameCallback()
AnimationHandler
16.animateBasedOnTime()
KeyframeSet
30.接收倒屏幕刷新信号
27.当前帧的动画工作处理结束
22.getValue()
2.setIntValue()
12.mFrameCallback.doFrame()
IntKeyframeSet
9.postFrameCallback()
26.mUpdateListeners.get(i).onAnimationUpdate(this)
PropertyValuesHolder
5.IntKeyframe
ValueAnimation
29.向底层注册监听下一个屏幕刷新信号事件
8.addAnimationFrameCallback()
Choreographer
23.getIntValue()
0 条评论
下一页