UIWebview缓存到磁盘

时间:2013-05-16 21:58:26

标签: ios objective-c uiwebview

我有一个简单的iOS应用程序,可以加载链接列表并在UIWebview中显示它们。该应用程序在安装时大约为2MB。点击一些链接后,我注意到文件和数据的磁盘使用量跃升超过10MB。几天后,我注意到磁盘使用量持续增长。我的问题是,在iOS上管理磁盘存储的最佳方法是什么?

这个应用程序的目标是非常小,并且资源不重,但我担心它将继续消耗越来越多的磁盘空间,我认为是缓存的Web内容。我应该有办法设置缓存大小吗?或者iOS只是为我处理这个并最终删除旧数据?

2 个答案:

答案 0 :(得分:2)

不要过早优化!磁盘上的资源不会对RAM内存造成压力,所以不用担心。如果系统正在为您管理缓存,则您无需猜测它将执行的操作。如果它需要清理空间,它可能会空间清晰。别担心,快乐。

现在,说过,你确实可以控制NSURLRequest缓存策略。查看NSURLRequest文档以了解更多相关信息。

答案 1 :(得分:2)

指定缓存大小:

int cacheSizeMemory = 8 * 1024 * 1024; // 8MB
int cacheSizeDisk = 32 * 1024 * 1024; // 32MB
NSURLCache* sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:cacheSizeMemory diskCapacity:cacheSizeDisk diskPath:@"nsurlcache"];
[NSURLCache setSharedURLCache:sharedCache];

删除所有存储的缓存网址响应:

[[NSURLCache sharedURLCache] removeAllCachedResponses];

希望对你有用!