1

除了繁重的处理之外,当你有一个不太响应的 UI 时,是否应该主要使用多线程?还是有其他考虑?我如何知道我的应用程序是否应该具有多线程?

4

3 回答 3

0

基本上在iOS开发Threads中用于当您不想影响您UI需要process很长时间才能完成时。例如,当您connection解析 xml、json、图像数据等时,您不想interaction在那时停止用户,您可以使用threads.

您可以使用NSThread.

使用线程之前要记住的事情 -

  • 您永远不应该在线程中进行图形更改。如果你需要
    在一个线程中这样做,那么你只能在main thread.
  • 切勿 NSTimer在辅助中使用 a thread,因为您thread可能会在timer执行之前完成,因此计时器可能无法运行。

每当您想执行 long 时process,您都可以使用thread.

于 2012-05-12T04:44:07.263 回答
0

线程在 ios 中的重要应用之一是在网络通信期间。整个应用程序都在与服务器通信,如果您想在 UR UI 上显示繁忙的视图,您需要在这种情况下创建线程以在后台线程中执行网络通信。

在 IOS 5 中,您可以选择 GCD(Grand Central Dispatch)而不是线程来执行相同的功能。

于 2012-05-12T04:52:16.423 回答
-3

在 ios 中使用线程是为了确保最终用户的无忧和无缝体验。每当您想通过网络提取一些资源(例如解析或数据检索)并且您不希望 ui 受到影响时,您都可以实现线程,因为应用程序将在主线程上运行而 Web 操作在您的自定义线程上运行。

当您需要并发操作或同时操作时,您可能需要使用线程,例如在游戏中,当您必须同时在同一个对象上拥有多个动画时。可能需要线程的场景可能相当多。

您可以阅读Apple 的并发编程指南

线程管理

但是线程可能是应用程序中的开销,因为它需要内存分配,并且线程上的大型操作可能会影响性能,因此在无法避免时使用它。

您可以使用 NSThread、NSOperations 创建线程。现在不推荐使用 GCD。

于 2012-05-12T05:43:17.567 回答