IOS UITableView性能优化

1.关于UITableView性能的优化,很容易就让人想起UITableView的复用,那么除此之外呢?还有么有其他的方法能够优化用户的体验,或者说优化我们的设计的软件呢?


    答案是:有!

        一般我们在设计一款应用的时候,占用系统资源最多,应该就是图片的加载了吧,的确,一方面图片占用的内存大,而且数量多,通常我们需要开启多个线程去下载这些图片,但是这些图片当中,有些图片用户是并不关心的,如何加载用户喜欢的资源(图片),而不去加载那些用户不感兴趣的资源,就是今天的主题,这个问题的解决方法,其实说出来估计大家都知道,但是向这方面想的人却很少!

    这个方法就是:懒加载!


这里我举个例子,比如说我们的QQ列表,我们在打开好友列表时,哗的一下展开几百个好友cell,如果不幸的是你想要找的好友在最下面,那么你接下要做的事就是下拉表视图,带来的直接结果就是,你拉下来的所有表项,好友头像都会加载,用户的角度来说,这些不必要的流量就是一种浪费,而我们通过懒加载方式避免这种浪费,废话少说,看代码

//实现tableView的代理,这个类也会成为scrollView的代理
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    //假如我们使用的时第三方图片加载类库(SDWebImage或者AFNetworking)
    //我们在视图滚动停止的加载我们需要的图片,着这里我们可以写一个代理,通知方法,或者block都可以,调用图片加载,而在视图滚动没有停止的时候不要去加载图片,查看滚动视图停止时有哪些cell,方法为_tableView.visibleCells,不过通常通过取数组中某个model的imageURL来设置图片,而取这个值这是通过下方这个方法
    NSLog(@"%@",_tableView.indexPathsForVisibleRows);
}


本文出自 “网络学习总结” 博客,转载请与作者联系!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。