TableView的性能优化

TableView的性能优化

  • 使用不透明的视图,不透明的视图可以提高渲染的速度,可以将cell及其子视图的opaque(不透明度)设置为YES
  • 不要重复创建不必要的cell,UITableView只需要一屏幕的UITableViewCell对象即可。
  • 减少动画效果的使用,最好不要使用insertRowsAtIndexPaths:withRowAnimation方法,而是直接调用reloadData方法
  • 减少视图的数目,UITableView的cell的contentView中默认包含了textLabel,detailTextLabel和imageView等View,当然我们也可以自定义一些视图放入cell的contentView里,但是这样会影响渲染的性能。
  • cell包含较多的图片,使用自定义cell的速度会比使用默认的要快,继承自UITableViewCell,重写drawRect方法,当不需要与用户交互的时候,就使用CALayer,将内容绘制到Layer上,然后对cell的contentView.layer调用addSubLayer:方法。但是如果layer透明或者有圆角,变形等效果,就会影响绘制性能
  • 预渲染图像,在图形上下文中画,导出成UIImage对象,然后再绘制到屏幕。
  • 在请求数据的时候不要阻塞主线程,使用多线程去解决
  • 提前计算并缓存好高度,因为heighForRowAtIndexPath调用非常频繁
  • 当下载一些附件的时候,可以通过gzip/zip压缩后再下载,可以提高下载速度。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • tableView可以说是每个app中必不可少的控件,所以掌握流畅度优化技能相当的重要。 这里总结一些常用的优化技...
    聂飞缘阅读 485评论 0 1
  • 一款优秀的App,让用户有更好的体验效果,如何做好tableView的优化将是很重要的一环. 要保证滚动table...
    winlee阅读 1,286评论 3 9
  • 1.tableViewCell复用机制 简单介绍:假设我们的tableview中有1000个cell,窗口只容得下...
    Simple_Code阅读 535评论 0 2
  • 前提假定使用的是情况比较复杂的动态行高的列表.非动态的也同理. 这里都是概括一些提供思路,解决方案其它博客很多了...
    Zafir_zzf阅读 871评论 0 0
  • 总结了一下对tableView的性能优化,大体有如下几个部分,并不是太全面,但是基本上包含了大部分的影响cell的...
    打瞌睡de小男孩阅读 435评论 0 2