|
|
1
5
UI更新不适用于后台线程。所有UI更新都需要在主线程上完成。如果您的视图花费了太多的时间来呈现,请考虑重构、预重定义和缓存或其他一些优化方法。 音频代码可以是基于背景的,但不应该那么贵
|
|
|
2
4
我同意后台线程不是UI更新的任务。由于用户在等待UI向他们显示正在发生的事情时被“阻止”了(从逻辑的角度看,这是不合理的),并且可能导致其他编码问题。 这个 最大的 异步的 操作。(想想AJAX网页)。如果希望用户能够与UI交互 发生了什么事。一个很好的例子是从web上检索、更新、获取任何类型的数据。 即使你在做任何你认为应该做的网络操作 -(就像从一个网站加载一条消息)你很可能想要处理它 异步 即使你想 块 同步的 从网络上获取的数据,您可能仍然希望这样做 -因此,您可以在后台线程中加载数据—同时提供进度条、微调器(进度)控件,或允许用户在 前景 用户界面线程。 将“异步”请求视为需要较长时间的请求,或者 需要多少时间。 |
|
|
3
3
一些UI绘制方法在iOS 4.0中是线程安全的:
我发现我的应用程序通常从后台线程中受益最大:
如果您确实决定后台执行一些任务,我建议您使用NSOperation和NSOperationQueue,因为它们简化了很多事情。有点学习曲线,但绝对值得!
|
|
|
mikko · SwiftUI如何在不同堆栈中实现同一视图的平滑动画 1 年前 |
|
|
routern · 如何组合contextMenu和圆角矩形? 1 年前 |
|
|
DevHome98 · 3D触摸不适用于设备swift 2 年前 |
|
|
dunoiww · 从全屏返回时如何触发onAppear 3 年前 |
|
|
Community wiki · iPhone上ivar的继承问题 3 年前 |
|
|
Community wiki · 查找iOS日历 3 年前 |
|
|
Community wiki · 有效的IPhone编程技术[关闭] 3 年前 |