Iphone UITableView不会平滑滚动,因为它会再次加载单元格

Iphone UITableView不会平滑滚动,因为它会再次加载单元格,iphone,ios,uitableview,Iphone,Ios,Uitableview,可能重复: 我的UITableView单元格有一个问题,就是每次从屏幕出来时,我的单元格都会重新加载。我的应用程序从url加载图像,并将其放置在单元格左侧的ImageView中,因此UITableView的滚动速度非常慢 我想知道是否有办法: 1.一次装入所有电池。 2.禁用单元格的重新加载 这样,TableView可以平滑地滚动。 每个单元由三个子视图组成。两个用于标题和描述标签,最后一个用于图像。内容来自NSXMLParse,因此加载此单元格需要时间 提前感谢。我能想到的改善滚动效果的三种

可能重复:

我的UITableView单元格有一个问题,就是每次从屏幕出来时,我的单元格都会重新加载。我的应用程序从url加载图像,并将其放置在单元格左侧的ImageView中,因此UITableView的滚动速度非常慢

我想知道是否有办法:

1.一次装入所有电池。 2.禁用单元格的重新加载

这样,TableView可以平滑地滚动。 每个单元由三个子视图组成。两个用于标题和描述标签,最后一个用于图像。内容来自NSXMLParse,因此加载此单元格需要时间


提前感谢。

我能想到的改善滚动效果的三种方法是:

  • 不要在主线程中加载图像,只需在数据最终可用时插入一个占位符并填充它们(如注释中所述的延迟加载)

  • 自己缓存图像,以便稍后查看单元格时,您已经有了要显示的数据

  • 将显示行上方和下方的单元格的预期图像预取到缓存中


  • 当然,这些不是相互排斥的,应该结合使用以获得最平滑的用户界面。

    使用sdwebimage而不是uiimageview。我认为这将有助于您。

    以下任何一项的可能重复:。在这些问题中找到的是这个谢谢我会复习这些问题。谢谢我会尝试一下。我只是想开始搜索,现在我有了一个具体的想法。在WWDC,一位苹果工程师表示,要在表视图中平滑滚动,CellForRowatineXpath方法中完成的所有操作都必须少于16毫秒。事实上,从URL加载数据几乎总是需要16毫秒以上,即使在wifi网络上也是如此。正如LavaSlider所建议的,在后台线程上加载这些URL并异步加载图像。NSURLConnection有一个非常好的助手方法,它接受一个在加载URL数据后执行的代码块。在这种情况下,这可能会使事情更容易实现。非常感谢。这个图书馆与众不同。很容易实现,最好的部分是它工作得非常完美,在TableView的早期阶段没有延迟,在滚动期间也没有延迟。这个图书馆是解决这类问题的最佳方案。