【问题标题】:Asynchronous image loading异步图像加载
【发布时间】:2011-07-19 15:24:03
【问题描述】:

我正在开发一个类似于内置照片应用的 iPad 应用。我使用 NSThread detachNewThreadSelector 来加载图像并设法将加载时间从 12 秒缩短到 6 秒,但仍然达不到我的预期。我怀疑,假设一个文件夹中有 20 张图像,会创建 20 个线程来加载图像。现在我正在考虑一次将其限制为 5 个线程,并且下一组线程应仅在加载前 5 个图像后才开始。有人可以启发我如何做到这一点吗?非常感谢!

【问题讨论】:

    标签: objective-c multithreading ipad background


    【解决方案1】:

    我不会太久:你应该明确地深入了解这个example from Apple。你会看到光明。

    【讨论】:

      【解决方案2】:

      对于NSOperationQueue 来说,这听起来像是一项完美的任务。

      首先,您创建和配置一个 NSOperationQueue,并将其保存在 ivar 或全局变量中。然后,不使用detachNewThreadSelector:toTarget:withObject:,而是创建一个具有相同选择器、目标和对象的NSInvocationOperation,并将其添加到队列中。当线程可用时,队列将处理在后台线程池上启动操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-10
        • 2011-12-23
        • 2013-04-08
        • 1970-01-01
        相关资源
        最近更新 更多