目前,我有一个UIImageView
每隔几秒左右更新一次UIImage
。在非常繁重的用户界面中,这是一个无休止的过程。
鉴于在CALayers
以上使用UIView
的重量总是较轻,我想知道我是否将UIImageView
转换为CALayer
并设置{{ 1}}设置UIImage
的内容?
当前
CALayer
建议
//Every 2 seconds
myImageView.image = UIImage(cgImage: myCGImage)
由于//Every 2 seconds
myLayer.content = myCGImage
的行为略有不同,我想知道哪种方法在整体上对CPU / GPU更有效。
答案 0 :(得分:2)
通常,UIView
对象是CALayers
周围相当薄的包装器。 UIImageView
也不例外。解码和显示图像的大部分“繁重”都是由CALayer
在两种情况下完成的,所以我怀疑你是否会看到很多不同。
UIImageView
更易于使用,生成的代码更易于阅读,因此除非您需要执行需要使用CALayers
的操作,否则我会坚持使用UIKit
对象。