tableView优化思路

Posted Sky109

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tableView优化思路相关的知识,希望对你有一定的参考价值。

一般优化的思路:

  1. 提前计算并缓存好高度(布局),因为heightForRowAtIndexPath:是调用最频繁的方法。

  2. 复杂界面可采用异步绘制。

  3. 在大量图片展示时,可以滑动时按需加载。

  4. 尽量少用或不用透明图层,多个透明元素重叠显示可采用合并成一张图片显示。

  5. 减少subviews的数量,如果是不需要交互可以使用CALayer 替换掉 UIView。

  6. heightForRowAtIndexPath:中尽量不使用cellForRowAtIndexPath:

  7. 根据场景合理使用imageWithContentsOfFile和imageNamed。

  8. 页面元素多的时候,减少autolayout布局,采用frame。

  9. 缓存NSDateFormatter结果,不多次创建,及时释放。

  10. 图片解码时,CALayer 被提交到 GPU 前,CGImage 中的数据才会得到解码,GPU执行,卡主线程。常见的做法是在后台线程先把图片绘制到 CGBitmapContext 中,然后从 Bitmap 直接创建图片。

  11. CALayer 的 border、圆角、阴影、遮罩(mask)触发的离屏渲染,可开启CALayer.shouldRasterize ,转嫁到CPU上或是截图或者采用图片实现。

  12. 使用RunLoop和多线程在闲时处理一些繁重的计算工作。

以上是关于tableView优化思路的主要内容,如果未能解决你的问题,请参考以下文章

IOS 非常流畅的滑动tableView

优化 C# 代码片段、ObservableCollection 和 AddRange

iOS tableView图片未知宽高加载优化 之 runloop

片段(Java) | 机试题+算法思路+考点+代码解析 2023

使用 C++ 反转句子中的每个单词需要对我的代码片段进行代码优化

如何优化C ++代码的以下片段 - 卷中的零交叉