iOS的Label渲染性能对比

Tags
iOS
Date
Apr 10, 2019
 
最近做了UILabelYYLabel的FPS性能测试,结论就是UILabel在主线程的渲染太耗时了,尤其在中文和Emoji较多的场景。
然后,由于YYLabel过于复杂,且与UILabel的运行效果存在不一致(如行距),还有较多的issues未得到解决,于是自己做了一个极其简单的异步渲染的WJAsyncLabel,可以看到排版与UILabel的运行效果是一致的。
异步的原理与YYLabel基本一致,都是异步绘制生成Image对象,传递给CALayer
weakSelf.layer.contents = (__bridge id _Nullable)(image.CGImage);
绘制是直接基于-[NSAttributedString drawInRect:],保持与原生一致的效果。
更详细的代码与图文介绍请前往Github
notion image

Loading Comments...