gpt4 book ai didi

ios - 下载图像并显示在表格单元格上(并发)

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

我的应用程序在 tableView 单元格中显示图像我想要实现的是按顺序加载图像,即使单元格已从屏幕上消失。例如,我有单元格 1 到 100,显示该单元格并且图像开始在后台从 1 到 100 下载,即使用户已经滚动到单元格 78。我也想只下载一到两个图像一次,这样我就不会堵塞网络。考虑到这些标准,我想知道什么样的设置最合适?

目前,我正在使用 AlamoFire 下载图像。 Alamofire 与某种 NSOperationQueue 的组合是否合适?现阶段我对 NSOperationQueue 非常不熟悉。所以我想在开始深入设置 NSOperationQueue 之前我应该​​尝试找到推荐的行业实践

我还想结合该功能,即使应用程序处于后台也能继续下载

注意。也欢迎任何替代库或框架解决方案

最佳答案

最好的解决方案是SDWebImage。该存储库的链接是 here 。如果您想按照自己的方式进行操作而不具有任何依赖性,那么您必须遵循 SDWebImage 所做的相同操作。

简而言之,

  • 在线程中异步启动下载,同时从 URL 下载图像。
  • 然后下载后,使用NSCache,存储图片并使用imageURL 作为键。
  • 将图像存储到 NSCache 中后,还将图像写入 NSCacheDirectory 中,图像名称与其 URL 相同。

现在,在获取图像时,您必须检查该图像是否存在于 NSCache 中,使用 imageURL 作为键,您可以轻松搜索该图像。如果找到,则返回图像或然后搜索 NSCacheDirectory,无论该图像是否存在。如果没有,那么您必须下载图像并再次按照步骤操作。

现在 NSCache 就像 RAM。只要应用程序处于事件状态,存储在那里的数据就会保留在那里。一旦终止,NSCache 中的数据将被清理。因此,我们还将文件写入 NSCacheDirectory 中,因为只要应用程序未从设备中删除,这里的数据就会持续存在。

我希望我能让你理解这东西是如何工作的。干杯。

关于ios - 下载图像并显示在表格单元格上(并发),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39558286/

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