iOS:从后台线程创建UIImage?

时间:2016-11-16 15:55:18

标签: ios iphone multithreading uiimage

苹果文档说:

  

由于图像对象是不可变的,因此在创建后无法更改其属性。使用附带图像文件或图像数据中的元数据自动设置大多数图像属性。图像对象的不可变特性也意味着它们可以安全地从任何线程创建和使用。

Link

另外,如果你看看这个"Thread safety of UIImage"问题的答案,可以得出结论,从任何线程使用它们是安全的(至少从iOS 9开始)。

然而,有评论抱怨问题,特别是关于在后台线程上创建UIImages。

在我的情况下,我确信这会导致动画停止工作的问题。 有没有人对此有见解?

1 个答案:

答案 0 :(得分:2)

我看不到您的代码,但是如果您遇到动画问题,我怀疑这是UIImage vs UIImageView问题。

UIImage 管理图像数据不在屏幕上。
UIImageView 图像显示在用户界面上。

使用UIImage处理来自主线程的图像数据是可以的。
不能使用UIImageView显示或设置图像动画。