gpt4 book ai didi

iphone - 带有 UIImageViews 的 UITableView 显示大型 UIImages - 滚动性能

转载 作者:行者123 更新时间:2023-11-28 22:33:42 24 4
gpt4 key购买 nike

我有一个 UITableView,每个单元格包含 4 个 UIImageView。我正在异步加载图像(使用第三方 UIImageView 扩展异步加载)。还执行缓存。所以表格 View 可以自由滚动。但是当我将图像分配给 UIImageView 时,我感到滚动有延迟。

UIImage *image = [UIImage imageWithContentsOfFile:imageFileURL];
// Scroll is very smooth if I comment out the below line
imageView.image = image;

如果我注释掉上面代码中的最后一行,那么滚动会更快。当我启用这条线时,滚动滞后。所以我需要找到一种方法来将图像分配给 ImageView 而不干扰滚动。

在我的应用中需要注意的一件重要事情是,图像是大图像,例如,它们超过 500x500 像素。我无法处理图像尺寸,因为它们来自服务器,我无法控制它。

我唯一的选择是找出在不阻塞 UI 交互的情况下将大图像分配给 ImageView 的方法。

我希望滚动像 Fancy 应用一样工作。我见过 Fancy 应用程序,滚动非常流畅,甚至没有一点延迟。

有什么我应该遵循的优化技巧吗?

谢谢大家!

最佳答案

  1. 创建您的自定义单元格。尽量减少透明度的使用,并且您还可以在不使用 UIImageViews 和 UILables 对象的情况下自己绘制单元格的所有内容,即使在 3g 设备上,这也会产生非常快速的滚动。
  2. 将所有图像缓存在一个数组中,并在行的单元格中仅读取它们。
  3. 在将图像添加到源数组之前,您可以将图像调整为实际绘图大小。
  4. 避免在行单元格或滚动时使用的任何其他方法中分配和释放对象。对象分配很昂贵。
  5. 如果您在滚动时异步下载它们,请尽量不要为每个图像创建一个新线程。您可以有一个或多个工作线程。

关于iphone - 带有 UIImageViews 的 UITableView 显示大型 UIImages - 滚动性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16707484/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com