美文网首页iOS开发
UITableView的调优技巧

UITableView的调优技巧

作者: 43b86d3b5040 | 来源:发表于2017-04-09 15:23 被阅读23次
  • 正确使用reuseIdentifier来重用Cells,这样可以保证cell不会一直被创建。

常用写法:


MyCell *cell = [tableView dequeueReusableCellWithIdentifier:@"myCell"];
   if (cell==nil) {
       cell = [[MyCell alloc] initWithStyle:UITableViewCellStyleDefault
                                        reuseIdentifier:@"cell"];                     
   }
   return cell;
   
  • 尽量使所有的view opaque,包括Cell自身。

系统中的view.opaque默认是YES,绘图系统会将view看成为完全不透明,这样绘制系统就可以优化一些绘
制操作以提升性能。如果设置的为NO,那么绘制系统需要结合其他内容来处理view。

Apple官方文档堆opaque属性的解释如下:

This property provides a hint to
he drawing system as to how it should treat the view. If set to YES,
the drawing system treats the view as fully opaque, which allows the
rawing system to optimize some drawing operations and improve
performance. If set to NO, the drawing system composites the view
normally with other content. The default value of this property is YES.

  • 如果Cell内显示的内容来自Web,则需要使用异步加载,缓存请求结果

    使用异步加载不去卡UI线程,如果可以的话将服务器也支持缓存,这样再次请求的的时候会很快,或是使用开源的缓存库。

  • 减少subviews的数量

    很容易理解,subviews数量越多,在绘制的时候开销越大就会越影响性能。

  • 尽量少用addView给Cell动态添加View,可以初始化时就添加,然后通过hide来控制显示。

  • 提前计算并缓存好高度,因为heightForRowAtIndexPath:是调用最频繁的方法

    如果是固定高度的最好,如果cell高度不同可以通过sourceData提前计算出每个cell的高度缓存起来,不要在heightForRowAtIndexPath函数里面做计算操作。

  • 异步绘制,遇到复杂的界面,遇到性能瓶颈时,可能就是突破口

    在Cell上添加系统控件的时候,实质上系统都需要调用底层的接口进行绘制,当我们大量添加控件的时候,对资源开销也会很大,可以通过异步直接绘制,提高效率

  • 滑动时按需加载,这个在大量图片展示,网络加载的时候很管用

    因为UITableView是继承自UIScrollView的,所以我们可以监听UIScrollView的滑动事件,在UIScrollView将要滑动结束的时候,去计算哪些cell数据该显示出来,这样就减少了中间快速滑动时的cell加载了。

相关文章

  • UITableView的调优技巧

    正确使用reuseIdentifier来重用Cells,这样可以保证cell不会一直被创建。 常用写法: 尽量使所...

  • Mongodb简单优化

    MongoDB WiredTiger引擎调优技巧 调优Cache Size WiredTiger最重要的调优参数就...

  • UITableView性能调优

    UITableView几乎是最常用的控件之一,在开发中,经常需要对UITableView进行性能调优,提高用户体验...

  • UITableView 性能调优

    尽情期待:)

  • tomcat调优

    Tomcat 调优技巧:1、Tomcat自身调优:①采用动静分离节约Tomcat的性能;②调整Tomcat的线程池...

  • iOS基础知识连接汇总

    UIKit性能调优实战讲解 UITableView深度优化 iOS_@property 属性的本质是什么? iOS...

  • iOS 知识收集

    性能优化 iOS 保持界面流畅的技巧 UIKit性能调优实战讲解 iOS高效设置视图圆角 使用 ASDK 性能调优...

  • UITableView 的优化技巧

    UITableView 的优化技巧 UITableView 的优化技巧

  • iOS应用性能调优的25个建议和技巧

    iOS应用性能调优的25个建议和技巧

  • app 性能优化

    UIKit性能调优实战讲解内存恶鬼drawRect关于性能的一些问题iOS应用性能调优的25个建议和技巧Colle...

网友评论

    本文标题:UITableView的调优技巧

    本文链接:https://www.haomeiwen.com/subject/mvmdattx.html