美文网首页
所谓的列表卡顿,到底是什么原因引发的?view绘制机制和CPU之

所谓的列表卡顿,到底是什么原因引发的?view绘制机制和CPU之

作者: 张无奈 | 来源:发表于2018-05-24 17:07 被阅读0次

iOS的mainRunloop是一个60fps的回调,也就是说每16.7ms会绘制一次屏幕,这个时间段内要完成view的缓冲区创建,view内容的绘制(如果重写了drawRect),这些CPU的工作。然后将这个缓冲区交给GPU渲染,这个过程又包括多个view的拼接(compositing),纹理的渲染(Texture)等,最终显示在屏幕上。整个过程就是我们上面画的流程图。 因此,如果在16.7ms内完不成这些操作,比如,CPU做了太多的工作,或者view层次过于多,图片过于大,导致GPU压力太大,就会导致“卡”的现象,也就是丢帧。

view绘制机制和CPU之间关系?
创建对象会分配内存,对象过多,比较消耗 CPU 资源 。
1、尽量用轻量的对象代替重量的对象,可以对性能有所优化。比如 CALayer 比 UIView 要轻量,如果不需要响应触摸事件,用 CALayer 显示会更加合适。如果对象不涉及 UI 操作,则尽量放到后台线程去创建,但如果是包含了 CALayer 的控件,都只能在主线程创建和操作。
2、通过 Storyboard 创建视图对象时,其资源消耗会比直接通过代码创建对象要大非常多。
3、使用懒加载,尽量推迟对象创建的时间,并把对象的创建分散到多个任务中去。

相关文章

  • iOS 界面渲染

    尝试和大家一起探讨以下问题: view绘制渲染机制和runloop什么关系? 所谓的列表卡顿,到底是什么原因引发的...

  • 所谓的列表卡顿,到底是什么原因引发的?view绘制机制和CPU之

    iOS的mainRunloop是一个60fps的回调,也就是说每16.7ms会绘制一次屏幕,这个时间段内要完成vi...

  • [Graphic]——基础理论

    目录: 图像系统 view的绘制 UI更新 人眼机制 卡顿 systrace 资料 https://mp.weix...

  • 无标题文章

    APP性能优化 UI卡顿优化 View的绘制原理 UI卡顿原理分析 UI卡顿检测分析 BlockCanary原理分...

  • 21-性能优化

    一、CPU和GPU 二、卡顿产生的原因和优化 卡顿优化-CPU 卡顿优化-GPU 卡顿监测 监控卡顿的demo:推...

  • Android自定义控件系列博客

    绘制机制 先好好的理解一下绘制流程 公共技术点之 View 绘制流程 GcsSloop---自定义View系列自定...

  • 【ANR/UI卡顿】

    UI卡顿 1、UI卡顿原理 View的绘制帧数保持60fps是最佳,这要求每帧的绘制时间不超过16ms(1000/...

  • View绘制及事件机制原理

    一、View绘制流程机制 1、View绘制起点 performTraversals()方法触发了View 的绘制。...

  • 性能优化

    面试题 CPU和GPU 屏幕成像原理 卡顿产生的原因 卡顿优化 - CPU 卡顿优化 - GPU 离屏渲染 卡顿检...

  • BlockCanary UI卡顿优化框架源码解析

    一、UI卡顿监测原理 尽量保证每次在16ms内处理完所有的CPU和GPU计算、绘制、渲染等操作,否则会造成丢帧卡顿...

网友评论

      本文标题:所谓的列表卡顿,到底是什么原因引发的?view绘制机制和CPU之

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