gpt4 book ai didi

uitableview - 当必须下载许多图像时如何处理内存?

转载 作者:行者123 更新时间:2023-12-04 04:34:52 25 4
gpt4 key购买 nike

我创建了一个应用程序,用户可以在其中上传图像,他们还可以看到其他用户上传的所有图像。我已经集成了分页代码并一次下载 10 张图像并将它们显示在 UITableView 上。我已将 AFNetworking 用于将图像保存在缓存中的任务。问题是当用户不断下载图像并且计数达到大约 300 张图像时,应用程序会因为设备内存不足而崩溃。我正在寻找这个问题的最佳解决方案。我的想法是一次在缓存中保留 50 张图像,当用户下载较新的图像时,旧的图像将从缓存中删除。也请让我知道我是否可以使用 AFNetworking 做到这一点。

最佳答案

您应该使用 SDWebImage 而不是下载它将缓存的图像,并且您也可以自定义该缓存选项。

我正在使用这个 SDWebImage 在 UICollectionview 和 UITableview 中缓存 150 +图像,并且它的工作完美。

最初我们需要添加一个占位符,然后它会一一出现。

执行

1.取出SDWebImage代码
SDWebImage

2.将头文件导入您的 View Controller

#import <SDWebImage/UIImageView+WebCache.h>

3.然后在 cellforrowindex() 方法中添加一行代码。我会给你示例代码快照
 // Here we use the new provided setImageWithURL: method to load the web image
[cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]
placeholderImage:[UIImage imageNamed:@"placeholder.png"]];

关于uitableview - 当必须下载许多图像时如何处理内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19903324/

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