iOS中列表视图滚动的优化的小技巧

tableView作为我们常用的一个空间,人们对它的滚动流畅度的感觉是很明显的,那么今天咱们一起聊聊怎么使UITableView的滚动变的更加流畅

首先我们要知道都有哪些原因会是列表带来卡顿感呢。

  1. 对象的创建、调整、销毁
  2. 布局的计算
  3. 自动化布局
对于第一个问题:

大家都知道UIView和CALayer都能够用于展示,UIView除此之外还可以用于交互,因此在一些不需要交互的地方咱们可以直接使用CALayer来展示(使用CALayer的contents属性可以用来展示图片)

  • 不管使用什么方法进行布局,到最后都是落到对UIView的frame、bounds、center等属性进行调整,所以为了能够保持流畅,我们在布局前要尽量一次性把视图的位置调整好
  • 对视图进行频繁创建也是很消耗资源的,所以比尽量避免吧UIView进行移除、重新创建,把这个UIView hide了吧
对于第二个问题:

大家在对UITableViewCell进行布局时,在后台线程进行计算尽量用上缓存吧(P.S.你可以使用阳神的UITableView-FDTemplateLayoutCell来做,或者利用MJ的FrameModel来缓存)。当你的TableViewCell的高度是一定的时候,直接设置tableView的RowHeight属性吧

对于第三个问题

虽然说自动布局时苹果力推的技术,但是它也是有着一当消耗的,特别是当视图非常复杂的时候,CPU的消耗就会呈指数级别上升

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容