1.关于UITableView性能的优化,很容易就让人想起UITableView的复用,那么除此之外呢?还有么有其他的方法能够优化用户的体验,或者说优化我们的设计的软件呢?
答案是:有!
一般我们在设计一款应用的时候,占用系统资源最多,应该就是图片的加载了吧,的确,一方面图片占用的内存大,而且数量多,通常我们需要开启多个线程去下载这些图片,但是这些图片当中,有些图片用户是并不关心的,如何加载用户喜欢的资源(图片),而不去加载那些用户不感兴趣的资源,就是今天的主题,这个问题的解决方法,其实说出来估计大家都知道,但是向这方面想的人却很少!
这个方法就是:懒加载!
这里我举个例子,比如说我们的QQ列表,我们在打开好友列表时,哗的一下展开几百个好友cell,如果不幸的是你想要找的好友在最下面,那么你接下要做的事就是下拉表视图,带来的直接结果就是,你拉下来的所有表项,好友头像都会加载,用户的角度来说,这些不必要的流量就是一种浪费,而我们通过懒加载方式避免这种浪费,废话少说,看代码
//实现tableView的代理,这个类也会成为scrollView的代理 - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { //假如我们使用的时第三方图片加载类库(SDWebImage或者AFNetworking) //我们在视图滚动停止的加载我们需要的图片,着这里我们可以写一个代理,通知方法,或者block都可以,调用图片加载,而在视图滚动没有停止的时候不要去加载图片,查看滚动视图停止时有哪些cell,方法为_tableView.visibleCells,不过通常通过取数组中某个model的imageURL来设置图片,而取这个值这是通过下方这个方法 NSLog(@"%@",_tableView.indexPathsForVisibleRows); }
时间: 2024-12-27 23:45:19