将图像异步加载到tableview

时间:2012-01-31 17:30:05

标签: iphone objective-c asihttprequest

关于将图片加载到tableviews;

,我几乎没有问题

我正在使用ASIHTTPRequest

1。)我有一个tableview,我需要加载图像。我有大小为100KB,180KB,450KB和2MB的图像。我知道这些图像太大了,但我无法控制它。我被迫在tableview中加载这些图像。当我这样做时,它会减慢滚动速度,并且从视图切换到视图会变慢。那我怎么能阻止这个呢?任何解决方案?

2.。)目前我正在使用SDWebImage,我对这个库不满意,因为它减慢了滚动等(即使我使用的图像小于110kb)我需要一个可以执行更快动作的库?

2 个答案:

答案 0 :(得分:1)

在显示之前,您可能需要在背景中将图像下采样到图像视图大小。它肯定会花费你很多CPU周期,但会加快滚动速度。我推荐使用ImageIO框架,因为它在非主线程中没有问题。

答案 1 :(得分:0)

我认为SDWebImage不会减慢你的向下滚动速度。 SDWebImage在一个单独的线程中下载图像,它在主线程上唯一真正做的就是将图像放在UIImageView中,这必须在主线程上完成。我在几个不同的UITableViewCells中使用SDWebImage,我已经能够实现平滑滚动。

2mb非常大 - 如果没有看到一些混蛋,你将无法将该图像加载到UITableViewCell中。事实是,UIImageView渲染该图像需要一些时间。

如果我是你,我会通过Time Profiler工具运行你的应用程序,看看你是否可以找出在你的UITableView或你的UITableViewCells中运行时间最长的代码行。

相关问题