美文网首页
UI主要技术

UI主要技术

作者: 灬小0哥 | 来源:发表于2019-05-29 13:33 被阅读0次

    UITableView重用机制

    1. 数据源同步问题
      例如:ui显示数据源请求来的数据,删除某行后,子线程请求数据又同步到ui上
      解决数据源同步问题的
    并发访问数据拷贝
    串行访问

    子线程请求数据 主线程刷新数据 删除操作后

    1.UIView和UILayer的区别 (ios单一原则)

    -- UIView为其提供内容以及负责处理触摸事件,参与响应。(事件传递和事件响应)
    --CALayer负责显示内容 (图像渲染)

    2.事件传递

    //点击某个视图后将视图返回
    -(UIView)hitTest:(CGPoint *)point withEvent:(UIEvent *)event;
    //返回点击的点是否在视图内
    -(Bool)pointInSide(CGPoint *)point withEvent:(UIEvent *)event;
    

    3.点击屏幕处理流程

    点击屏幕-->UIApplication-->UIWindow-->HitTest-->PointInSide-->SubView-->UIView
    UIView倒叙遍历内部视图-->HitTest

    HitTest相应前判断

    1.是否可以交互 2. 是否不隐藏 3.透明度 >0.01 4.判断点击是否在视图内部 5.遍历视图内部是否内部操作

    4.UI卡顿 掉针的原因

    在贵定的16.7毫秒中,在下一帧vsync信号到来之前,cpu和Gpu并没有完成下一帧画面的合成,于是就出现了卡顿和掉帧

    5.滑动优化方案

    CPU:对象的创建,调整,销毁都放在子线程做 布局计算,文本计算都子线程做
    GPU: 纹理渲染cpu异步绘制

    什么是离屏渲染?

    Gpu在当前屏幕缓冲区外新开辟的一块区域渲染叫做离屏渲染

    相关文章

      网友评论

          本文标题:UI主要技术

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