0

当我尝试使用 NSURL 在 UITableView 中获取图像时,
UIImage image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://mysite.com/mobile/abc.jpg]]];
我的应用程序会冻结,直到图像加载。此外,当我滚动表格时,它再次从服务器获取图像并滚动卡住了一段时间。
我知道这是因为从服务器同步下载图像而发生的。
有什么解决方案可以让我从服务器异步下载图像并将其存储在本地或缓存中,这样当表格滚动时它就不会再次从服务器获取图像。

谢谢

4

2 回答 2

2

查看enormego的 EGOImageLoading。就像 UIImage 一样工作(并缓存图像),但允许您从 HTTP 异步加载。

于 2011-12-29T19:13:05.063 回答
0

您可以创建自己的类,它利用NSURLConnection各种异步方法在后台加载图像,然后通过回调将其显示在单元格中。

但是,有一些出色的库可以完全按照您的描述进行。HJCache是我使用并推荐用于此唯一目的的一个

于 2011-12-29T18:04:36.690 回答