Skip to content
阅读进度

动画卡顿时 怎样减少 View 层的开销? ​

返回 性能与稳定性 目录

标准回答 ​

我会先确认耗时发生在动画计算、布局绘制还是 GPU。只做移动、缩放和透明度变化时,尽量使用合适的属性和已有绘制内容,避免每帧改 LayoutParams 导致反复 measure 和 layout。自定义绘制中缓存不随帧变化的对象和计算,减少无效 invalidate、重度透明叠加和过度绘制。需要硬件 layer 时要测量其内存与合成成本,并在动画结束后恢复;同时检查图片大小和每帧分配引起的 GC。

延伸追问 ​

动画是否达到目标帧率应看实际帧期限和呈现结果,不能只观察 ValueAnimator 回调是否持续执行。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。