0

我正在尝试使用 NSThread 加载数千张图像,但性能很慢。

使用 NSThread 下载数千张图像的最佳做法是什么?

谢谢,
吉姆。

4

3 回答 3

3

NSThread 不是问题。听起来您可能只是压倒了 iPhone 硬件。请记住,即使是最慢的笔记本电脑,移动平台的功能也只有一小部分。

看看照片应用程序有时如何模糊图像。有时,它也必须使用缩略图来做到这一点。显示图形密集型网页最多可能需要 10-20 秒。

听起来您需要重新考虑您的设计。除非您正在加载显微的小图像,否则您根本不会在 iPhone 硬件上及时加载“数千”个图像。您需要在显示时加载。在逻辑上将图像分成组,然后让用户导航到他们想要的组,然后只加载那个小组。

于 2010-02-06T15:15:01.457 回答
3

还可以考虑使用NSOperationQueue来协调这些下载。使用NSOperationQueueNSOperation类,您可以安排一千次下载,但要确保只有一定数量的下载同时发生。

要获得奖励积分,请使用 Reachability API 查看用户使用的是 3G 还是 Wifi,并根据此设置并发下载的数量。

于 2010-02-06T16:05:09.103 回答
1

如果您通过 http 下载图像,我建议使用ASIHTTPRequest框架。它可以轻松地异步下载 html、图像和其他内容。

但是,注意不要同时下载很多东西。我在某处读到,同时 10 个 http 连接应该是一个不错的数量。(某处是 jonkean 在他的提交中设置的 AppSales-Mobile 项目ReviewUpdater.h值)

于 2010-02-06T11:32:06.407 回答