【发布时间】:2013-03-23 04:17:31
【问题描述】:
关于UIView,Apple 有一些关于线程的建议:
对应用程序用户界面的操作必须在 主线程。因此,您应该始终调用 UIView 的方法 应用程序主线程中运行的代码中的类。这 只有在创建视图时这可能不是绝对必要的 对象本身,但所有其他操作应发生在主 线程。
在后台线程中释放 UIView 对象通常(不)安全吗?无论哪种情况,我都在寻找一些支持文档。
【问题讨论】:
标签: uikit
关于UIView,Apple 有一些关于线程的建议:
对应用程序用户界面的操作必须在 主线程。因此,您应该始终调用 UIView 的方法 应用程序主线程中运行的代码中的类。这 只有在创建视图时这可能不是绝对必要的 对象本身,但所有其他操作应发生在主 线程。
在后台线程中释放 UIView 对象通常(不)安全吗?无论哪种情况,我都在寻找一些支持文档。
【问题讨论】:
标签: uikit
iOS 开发人员库文档链接到 NSView 限制 部分,所以我猜它们也适用于 UIView。
NSView 限制
NSView 类通常不是线程安全的。您应该仅从应用程序的主线程创建、销毁、调整大小、移动和对 NSView 对象执行其他操作。只要将绘图调用与 lockFocusIfCanDraw 和 unlockFocus 调用括起来,从辅助线程绘图就是线程安全的。
我希望这会有所帮助。
【讨论】:
是的,UIKit 对象需要在主线程上释放。在后台线程中释放 UIView 对象是不安全的。详情请见here。
【讨论】: