UIImageView + UIImage vs CALayer + 内容效率
UIImageView + UIImage vs CALayer + Content Efficiency
目前,我有一个 UIImageView
每隔几秒左右更新一次 UIImage
。这是一个非常沉重的无尽过程UI.
考虑到尽可能使用 CALayers
比 UIView
更轻,我想知道是否将 UIImageView
转换为 CALayer
并设置UIImage
到CALayer
的设置内容?
当前
//Every 2 seconds
myImageView.image = UIImage(cgImage: myCGImage)
建议
//Every 2 seconds
myLayer.content = myCGImage
由于 UIImageView
的行为略有不同,我想知道哪种方法在 CPU/GPU 整体上更有效。
一般来说,UIView
对象是 CALayers
周围相当薄的包装器。 UIImageView
也不例外。在这两种情况下,解码和显示图像的大部分 "heavy lifting" 都是由 CALayer
完成的,所以我怀疑您是否会看到很大差异。
UIImageView
更容易使用,生成的代码也更容易阅读,所以除非你需要做一些需要你使用 CALayers
的事情,否则我会坚持使用 [=16] =] 个对象。
目前,我有一个 UIImageView
每隔几秒左右更新一次 UIImage
。这是一个非常沉重的无尽过程UI.
考虑到尽可能使用 CALayers
比 UIView
更轻,我想知道是否将 UIImageView
转换为 CALayer
并设置UIImage
到CALayer
的设置内容?
当前
//Every 2 seconds
myImageView.image = UIImage(cgImage: myCGImage)
建议
//Every 2 seconds
myLayer.content = myCGImage
由于 UIImageView
的行为略有不同,我想知道哪种方法在 CPU/GPU 整体上更有效。
一般来说,UIView
对象是 CALayers
周围相当薄的包装器。 UIImageView
也不例外。在这两种情况下,解码和显示图像的大部分 "heavy lifting" 都是由 CALayer
完成的,所以我怀疑您是否会看到很大差异。
UIImageView
更容易使用,生成的代码也更容易阅读,所以除非你需要做一些需要你使用 CALayers
的事情,否则我会坚持使用 [=16] =] 个对象。