Ios UIImageView setHighlightedImage:它必须在主线程上吗?

Ios UIImageView setHighlightedImage:它必须在主线程上吗?,ios,objective-c,multithreading,uiimageview,uikit,Ios,Objective C,Multithreading,Uiimageview,Uikit,我正在努力提高向用户显示的图像的性能。我已经删除了alpha混合,并且已经将缩放/正确大小的图像分配给UIImageView以及一些缓存。然而,作为其中的一部分,我正在考虑将setHiglightedImage:调用移动到后台线程 ImageView封装在UIKit中,UIKit表示对布局的任何修改都应该在主线程上完成。但是,在为图像分配HighlighteImage时,我们不会触发任何布局更改或调用任何约束。这是一个不违反UIKit规则的有效更改吗?是否会因此引发任何异常 到目前为止,在后台线

我正在努力提高向用户显示的图像的性能。我已经删除了alpha混合,并且已经将缩放/正确大小的图像分配给UIImageView以及一些缓存。然而,作为其中的一部分,我正在考虑将
setHiglightedImage:
调用移动到后台线程

ImageView封装在UIKit中,UIKit表示对布局的任何修改都应该在主线程上完成。但是,在为图像分配HighlighteImage时,我们不会触发任何布局更改或调用任何约束。这是一个不违反UIKit规则的有效更改吗?是否会因此引发任何异常

到目前为止,在后台线程上运行此程序时,我没有看到调试器出现任何问题或警告。此外,苹果关于UIImageView的官方文档(和)也没有明确说明这是在后台线程上。我试着在网上搜索更多关于这方面的信息,但找不到任何有用的东西


是否有任何原因使
[UIImageView setHighlightedImage:
不在后台线程上?它会有任何性能优势吗

设置HighlighteImage正在更改用户界面。您不能在后台线程上运行它

在Cocoa应用程序中,主线程运行用户界面, 即,所有图形和所有事件都在主线程上处理。如果你的 应用程序对该应用程序执行任何冗长的同步操作 线程,您的用户界面可能会变得无响应并触发 旋转光标。为了避免这种情况,你应该缩短时间 被这些操作消耗,延迟其执行,或将其移动到 辅助线程