美文网首页
Core Animation架构分析

Core Animation架构分析

作者: 退役程序员Franco | 来源:发表于2019-01-29 11:16 被阅读4次

    CALayer的存在意义

    layer渲染,view负责用户交互,这是基于单一职责原则的设计。在iOS 和 Mac OS 两个平台下,事件和用户交互存在比较大的差异,比如Mac OS的用户交互可以通过鼠标/键盘控制,而iOS通过手势触摸。
    如果将view与layer糅合在一起,做成通用的,里面判断的代码会一大堆,不利于各个平台的单独发展;如果view与layer糅合在一起后,平台各自维护一份,就会有大量重复的渲染层的代码。
    所以,就抽取了CALayer用于跨平台。

    modelLayerpresentationLayer的存在意义

    设置frame、backgroundColor之类的属性,会先保存在modelLayer里面,渲染时间到了,才会同步到presentationLayer上。modelLayer起到一个缓冲区的作用,这样可以防止每设置一次属性,就重新渲染一次,大幅的提高了性能。

    相关文章

      网友评论

          本文标题:Core Animation架构分析

          本文链接:https://www.haomeiwen.com/subject/dsttsqtx.html