【发布时间】:2018-08-30 17:22:52
【问题描述】:
我有一个应用程序,其中有一个表格视图,它严格从资产中提取单元格背景图像。我注意到由于将这些图像加载到表格视图中,fps 在初始滚动时下降。 (如果我只是用黑框替换 UIImage 或给所有相同的图像滚动是无缝的)。一旦表格视图中的所有图像第一次加载,滚动动作就没有延迟。
目前每张图片的大小可以在 1.8MB 到 3MB 之间变化。 3x 图像的纵横比约为 1125x295,1x 和 2x 设备的纵横比缩小。在设置背景图像时也会调用 initial.scaleAspectFill,但我不知道这是否会是问题所在。我发现 6s、X、ipad mini 和 pro 都存在这个问题。
- 您建议的背景图片最大文件大小是多少?
- 如果我尝试在后台线程上拉取 UIImage,这是不允许的,因为 UIImage 需要在主线程上处理(xCode 错误)。
- 我应该尝试弄清楚如何预缓存这些图像吗?
这是设置背景图片的方法
fileprivate let backgroundImageView: UIImageView = {
let view = UIImageView(axId: "backgroundImage")
view.contentMode = .scaleAspectFill
view.layer.masksToBounds = true
return view
}()
在单元格的初始菜单中,backgroundImageView 作为子视图添加到 contentView
【问题讨论】:
标签: ios swift uitableview uiimageview uiimage