iOS:从后台线程创建 UIImage?

fan*_*ncy 5 iphone multithreading uiimage ios

苹果文档说:

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

关联

此外,如果您查看这个“UIImage 的线程安全”问题的答案,可以得出结论,从任何线程(至少从 iOS 9 开始)使用它们都是安全的。

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

就我而言,我确信这会导致动画停止工作的问题。有人对此有见解吗?

Dec*_*nna 4

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

A管理屏幕外的图像数据。 A将您的图像显示到您的用户界面上。UIImage
UIImageView

从主线程处理图像数据UIImage就可以了。
显示或动画图像UIImageView不是。