gpt4 book ai didi

ios - UIImageView+AF联网并保存图片

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:06:51 25 4
gpt4 key购买 nike

我需要将图像设置到我的 imageViews。并且有很多图像(我认为它会接近 200mb)。我需要全部保存,以便在没有互联网连接的情况下在本地使用应用程序。 category UIImageView+AFNetworking 很好用,就是不知道怎么保存,保存在哪里?

所以订阅方法here,你可以看到它使用了 NSURLCacheStorageAllowed 的缓存策略。所以图像保存在磁盘上的缓存文件夹中,对吗?没关系,但是这个存储的限制是多少?我是否需要实现下一个代码:

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//another code...
NSURLCache *URLCache = [[NSURLCache alloc] initWithMemoryCapacity:4 * 1024 * 1024
diskCapacity:200 * 1024 * 1024
diskPath:nil];
[NSURLCache setSharedURLCache:URLCache];
return YES;
}

所以 NSURLCacheStorageAllowed 就像从 NSCachedURLResponse 返回的 storagePolicy 一样。所以我明白我不能实现我上面写的代码。

如果我将使用 UIImageView+AFNetworking 类别,我所有的图像都会保存在本地缓存存储中吗?

最佳答案

正如您所发现的,UIImageView+AFNetworking 依赖基础 URL 加载系统将数据缓存到磁盘。 diskCapacity 将决定您的应用一次需要多少存储空间。这也将依赖于服务器在将图像交给您时指定适当的 Cache-Control header - 在某些情况下,如果缓存时间太短,NSURLCache 根本不会存储它。

要在客户端更好地控制磁盘缓存,您可以查看 SDWebImage .

SDWebImage 具有异步图像下载,对缓存有很多控制 - 哪些图像被缓存,缓存多长时间,在磁盘或内存中等。如果您需要保证图像存储特定的时间,UIImageView +AFNetworking 可能无法为您提供所需的控制,您应该探索这种替代方案。

关于ios - UIImageView+AF联网并保存图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21450451/

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