gpt4 book ai didi

swift - 将图像从 documentDirectory 加载到 UICollectionView - 滚动时滞后

转载 作者:行者123 更新时间:2023-11-30 12:39:48 25 4
gpt4 key购买 nike

我遇到的问题是,我有大约 50 张具有各种文件扩展名(jpg/png..etc)的照片,每张图像大约 3mb,存储在 documentDirectory 中。当我尝试将它们加载到 Collection View 时,整个 UI 会在滚动时滞后。过去两天我一直在解决这个问题,并且阅读了许多处理滞后 Collection View 的 stackoverflow 问题,但我仍然无法解决这个问题。任何帮助表示赞赏!

这是我配置 collectionView 单元格的代码:

DispatchQueue.global(qos: .userInteractive).async { [unowned self] in
let image = UIImage(contentsOfFile: url)

DispatchQueue.main.async {
self.cellImage.image = image
}
}

令人困惑的部分是这段代码可以很好地显示视频缩略图。

非常感谢任何帮助!

最佳答案

问题可能是,尽管您从后台线程加载 UIImage,但在 UIImageView 尝试绘制图像之前,图像不会解压缩,这发生在主线程。

您可以在后台线程添加以下代码来解压缩图像,然后再将其传递到主线程:

let context = UIGraphicsBeginImageContext(CGSize(width: 1, height: 1))
image.draw(at: .zero)
UIGraphicsEndImageContext()

关于swift - 将图像从 documentDirectory 加载到 UICollectionView - 滚动时滞后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42354757/

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