iOS界面优化

219 阅读1分钟

问:为什么要进行界面优化?

答:APP在实际操作使用中会出现卡顿的情况,此成为掉帧。

又问:为什么会出现掉帧?

答:页面渲染流程为 CPU->GPU->帧缓存池->videoController->显示器,当videController逐帧去帧缓存池中读取的时候CPU的运算以及GPU的帧数转化跟不上的时候就会出现掉帧即卡顿。

关于如何进行卡顿检测有如下三种方式:

1,利用FPS工具检测

2,利用Runloop状态检测进行监听

3,Runloop的升级方式,利用微信卡顿检测工具检测

所以要避免此类问题首先

一:我们要尽量的减少复杂逻辑的运算,使CPU负担不那么大。

二:进行预加载,即先计算自身以及所属子控件的frame以及模型数据的数据处理然后再到主线程进行渲染.

三:图片的加载过程实际上并不只是拿到图片数据然后显示在图层上就可以了,其实期间进行了一次编解码过程,这个操作是默认在主线程上执行的,所以增加了性能的消耗。SDWebImage就很好的进行了这方面的处理。

四:异步渲染

例:开启线程网络请求到数据后,再开启一个线程进行异步渲染,然后回到主线程上显示。