UIImageView + UIImage与CALayer +内容效率

时间:2018-05-29 16:26:05

标签: ios swift uiimage cgimage

目前,我有一个UIImageView每隔几秒左右更新一次UIImage。在非常繁重的用户界面中,这是一个无休止的过程。

鉴于在CALayers以上使用UIView的重量总是较轻,我想知道我是否将UIImageView转换为CALayer并设置{{ 1}}设置UIImage的内容?

当前

CALayer

建议

//Every 2 seconds
myImageView.image = UIImage(cgImage: myCGImage)

enter image description here

enter image description here

由于//Every 2 seconds myLayer.content = myCGImage 的行为略有不同,我想知道哪种方法在整体上对CPU / GPU更有效。

1 个答案:

答案 0 :(得分:2)

通常,UIView对象是CALayers周围相当薄的包装器。 UIImageView也不例外。解码和显示图像的大部分“繁重”都是由CALayer在两种情况下完成的,所以我怀疑你是否会看到很多不同。

UIImageView更易于使用,生成的代码更易于阅读,因此除非您需要执行需要使用CALayers的操作,否则我会坚持使用UIKit对象。