UIImageView + UIImage vs CALayer + 内容效率

UIImageView + UIImage vs CALayer + Content Efficiency

目前,我有一个 UIImageView 每隔几秒左右更新一次 UIImage。这是一个非常沉重的无尽过程UI.

考虑到尽可能使用 CALayersUIView 更轻,我想知道是否将 UIImageView 转换为 CALayer 并设置UIImageCALayer的设置内容?


当前

//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] =] 个对象。