iOS:如何在后台线程中创建UIImage?

6

苹果的文档说:

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

链接

此外,如果您查看"UIImage的线程安全性"问题的答案,可以得出结论:至少从iOS 9开始,可以安全地从任何线程使用它们。

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

在我的情况下,我确定这会导致动画停止工作。有人对此有深入了解吗?


1
你遇到了什么问题?UIImage可以在任何线程上创建。UI更新必须在主线程上完成。 - Teja Nandamuri
我的动画停止了动画。视图不再平滑地从A到B过渡,而是直接跳转。 - fancy
1个回答

4
我看不到你的代码,但如果你遇到动画问题,我怀疑这是UIImage与UIImageView之间的问题。 UIImage 管理屏幕外的图像数据。
UIImageView 将图像显示在用户界面上。
使用 UIImage 在主线程之外处理图像数据可以接受。
但使用 UIImageView 显示或动画化图像则不行。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接