iPhone:使用NSThread加载数千张图像的最佳实践?

时间:2010-02-06 11:28:36

标签: iphone nsthread

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

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

谢谢,
吉姆。

3 个答案:

答案 0 :(得分:3)

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

了解照片应用有时如何模糊淡入淡出图像。有时,它也必须使用缩略图。显示图形密集型网页最多可能需要10-20秒。

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

答案 1 :(得分:3)

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

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

答案 2 :(得分:1)

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

但是,请注意不要同时下载很多东西。我已经读过某处,同时10个http连接应该是一个很好的数量。 (某处是jonkean在ReviewUpdater.h中设置的AppSales-Mobile项目commit