苹果对于CoreAnimation的定义
CoreAnimation本质是一个复合引擎,主要职责是渲染、构建和实现动画。
下面我们通过两张图片来理解一下CoreAnimation在项目中的使用
iOS渲染框架
iOS Core Animation
- 最底层是图形硬件(GPU)
- 上层是Metal和CoreGraphics,提供一些接口来访问GPU
- 再上层的CoreAnimation在此基础上封装了一套动画的API
- 最上面属于应用层,处理与用户的交互
CoreAnimation处理流程:此流程是在CPU中完成的
- 处理Handle Events响应事件,如用户的点击操作,在此过程中 app可能需要更新视图树,相应地,图层树也会被更新。
- Commit Transaction:通过 CPU 完成对显示内容的计算,如:视图的创建、布局计算、图片解码、文本绘制等。并等待下一次runloop提交到RenderServer。
- Render Server主要执行 Open GL、Core Graphics 相关程序,并调用 GPU。