首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSURLCache和.svg文件

NSURLCache和.svg文件
EN

Stack Overflow用户
提问于 2012-07-30 15:24:26
回答 1查看 360关注 0票数 1

我正在本地缓存UIWebView所需的一些较大的文件,并且有一个带有自定义实现的NSURLCache子类来帮助提供这些文件。

代码语言:javascript
复制
- (NSCachedURLResponse *)cachedResponseForRequest:(NSURLRequest *)request

我使用它来劫持请求,并返回本地存储的文件副本(主要是

cachedResponseForRequest:request的主体(没有样板)本质上是:

代码语言:javascript
复制
// logic to figure out what the local file is, load it into a NSData object (f)
NSURLResponse *r = [[NSHTTPURLResponse alloc] initWithURL:request.URL MIMEType:mimetype expectedContentLength:[f length] textEncodingName:nil];
NSCachedURLResponse *cr = [[NSCachedURLResponse alloc] initWithResponse:r data:f] ;
[super storeCachedResponse:cr forRequest:request];
return cr;

这对除单个svg图像之外的所有缓存内容都能正常工作。当试图加载svg图像时,它将通过cachedResponseForRequest:request继续,构建一个NSCachedURLResponse对象并返回它。

但是,应用程序接下来要做的是从远程服务器下载文件,然后从缓存中为任何后续请求提供服务。我们不想远程下载文件,因为它相对较大并影响性能。

NSURLCache处理.svg文件的方式是否与其他文件类型不同?

EN

回答 1

Stack Overflow用户

发布于 2013-02-28 15:12:56

使用以下参数初始化缓存时,NSUrlCache将处理的文件的最大大小可能会受到以下参数的影响:

initWithMemoryCapacity:(NSUInteger)memoryCapacity diskCapacity:(NSUInteger)diskCapacity diskPath:(NSString *)diskPath

最大文件大小与memoryCapacity相关。您应该将其设置为至少10 (为什么?)乘以要处理的最大文件大小。

我已经尝试过使用https://github.com/evermeer/EVURLCache对最大15MB的文件执行此操作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11717003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档