老师,概念上基本明白,但具体实际上有什么应用?异步绘制在全局的并发队列中感觉只是做了系统原有的工作,这部分我们可以做些什么

来源:3-6 UI绘制原理&异步绘制 相关面试问题

慕后端6449339

2019-10-01

写回答

1回答

慕容7525655

2019-10-12

异步绘制,在简单的页面下没什么用,但是复杂的页面,比如微博首页,朋友圈等,用处极大。

UIView有CALayer *layer属性,layer有 id contents 属性。contents通常是CGImageRef。

可以在自定义并发队列子线程中,进行文本计算,布局,预排版,编解码等一系列的操作,然后得到一个CGImageRef,这个直接在主线程赋给layer.contents即可。

异步绘制实际上就是把系统原有的工作,分散主线程和子线程中执行。既保证了主线程的流畅度,又在子线程里完成了该做的绘制工作。


7
0

资深大牛带你深度剖析ios高级面试

从BAT/TMD名企真题入手,结合源码及应用,构建完整iOS知识体系

1749 学习 · 600 问题

查看课程