我有一个实用的视图,可以在每个单元格中加载相当大的图像,单元格的高度根据图像的大小而有所不同.滚动性能是不错的,但有时可能会不稳定.

我在FieryRobot博客上找到了这些小贴士:

glassy-scrolling-with-uitableview

more-glassy-scrolling-with-uitableview

有没有人有什么改进uiteview滚动性能的建议?

推荐答案

  1. 缓存行的高度(表视图可以经常请求)
  2. 为表中使用的图像创建最近最少使用的缓存(并在收到内存警告时使所有非活动条目无效)
  3. UITableViewCell's drawRect:中绘制所有内容,如果可能的话,不惜一切代价避免子视图(或者如果您需要标准的可访问性功能,请使用content view's drawRect:)
  4. UITableViewCell的图层设置为不透明(如果您有内容视图,情况也是如此)
  5. 按照UITableView个示例/文档的建议,使用reusableCellIdentifier功能
  6. 避免未预烘焙到UIImages的渐变/复杂图形效果

Ios相关问答推荐

SwiftUI.从自定义视图修改器访问自定义视图子视图

删除领域中的cartItem时出现问题

为什么下面的代码没有在主线程上运行?

为什么在Actor内部使用withTaskGroupwork并行运行?

iOS应用启动时崩溃问题解决方法-NO_CRASH_STACK-DYLD 4个符号丢失

创建方案时运行 pod install 时出错

为什么这个 SwiftUI 状态在作为非绑定参数传递时没有更新?

滚动 swiftUI 列表时,未调用单元格的任务修饰符.怎么修?

使用 @MainActor 更新 UI 的适当策略是什么?

通过 tuist/XcodeProj 以编程方式将文件添加到本机目标

在 Swift 中为 UITextField/UIView 摇动动画

在 UICollectionView 上动态设置布局导致莫名其妙的 contentOffset 变化

无法同时满足约束 - 没有适当的约束

快速禁用 UITextfield 的用户输入

Select UITableViewCell 时 UIView backgroundColor 消失

在 Swift 中按下返回键时在文本字段之间切换

在 UITextView 中垂直居中文本

无法将NSTaggedPointerString类型的值转换为NSNumber

在 iPhone 应用程序中使用 SSL - 出口合规性

如何删除UITableView中最后一个单元格的最后一个边框?