首页 > 代码库 > iOS 如何解决UITableView刷新卡顿现象

iOS 如何解决UITableView刷新卡顿现象

对之前的项目总结一下:

事情是这样的,我需要在定制Cell完成新闻类app的展示

虽然说SDWebImage提供了一个方法,异步加载图片到UIImageView上

但是,有些时候。需要的图片并不是需要铺满UIImageView

于是就抛弃了,后来想想还是挺二逼的。我可以在下面在铺一层边框UIImageView也能达到这个效果

于是乎,故作高大上,非要自己写。

后来看别人的方法,找到点感觉,还是写出来了,不过还是建立在网络良好的情况下

解决办法

主要要做到一下几个方面:

1.除了UI部分,所有的加载操作都在后台完成。这一点可以通过dispatch或者performSelectorInBackground或者NSOperationQueue来实现。见:在iOS开发中利用GCD进行多线程编程iOS开发中使用NSOperationQueue进行多线程操作

2.避免后台加载完成多个资源之后集中到达占用UI线程的处理时间太长。这一点可以通过NSOperationQueue来实现,将资源到UI的展现过程放在队列中逐个执行,且在每个操作完成之后进行强制等待,可以用usleep(int microSeconds)来解决。

3.重用cell。创建cell一般是很慢的,一定要重用,甚至为了performance,可以在view创建之初就创建足够多的cell在重用队列中。