gpt4 book ai didi

iOS - 处理大图像

转载 作者:行者123 更新时间:2023-11-29 13:01:58 25 4
gpt4 key购买 nike

我有一个 iOS 应用程序,我在其中处理大小不一的图像,这些图像包含在我从网络下载的链接中。图像不需要存储,所以我使用 EGOImageView,它是一个 UIImageView 扩展,在后台缓存图像,这些图像在 UITableView 中。所有这一切都适用于 1000x1000 左右像素以下的图像,但更大的图片是个问题。它们在后台下载得很好,但只是将缓存图像设置为 UIImageViews 图像需​​要花费大量时间来处理真正的大图像,以至于当有许多大图像时,滚动 Table View 会非常不稳定。

那么我的问题是我可以做些什么来简单地将这些图像加载到 UIImageView 中不会对主线程造成巨大负担?

最佳答案

我最近不得不做一些工作,

我的解决方案非常简单。

  1. 下载图像(AFNetworking)并将其存储在文档目录中
  2. 调整图像 (Core Graphics) 的大小以在滚动时创建“缩略图”版本
  3. 当用户按下单元格以查看图像时 - 显示较大的图像。

您可以使用 AFNetworking 将图像下载到磁盘,然后使用 Core Graphics 调整大小。我将我的封装在一个 NSOperation 中,并将它们添加到一个队列中,这样它就不会卡住任何 UI。

您看到响应缓慢的原因是这些图像保存在内存中,这对于较小的表来说很好,但它不可缩放。也可能是因为您的提取是在主线程上完成的。

希望这已将您带到正确的方向。

https://github.com/AFNetworking/AFNetworking

CoreGraphics Image resize

关于iOS - 处理大图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19552876/

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