我刚刚发现,当 UIwebview 被释放时,它使用的大部分内存并没有完全回收。在做了一些配置文件之后,我发现大部分还活着的内存都是字体字形缓存(如果你打开一个中文网页,问题会更糟,因为中文有更多的字符,这意味着更多的字体字形)。
有什么办法可以控制缓存吗?我正在使用 iOS 网络浏览器,这个问题阻止了我 2 周。
附件是一个简单的重现演示。1) 使用内存“分配配置文件”运行演示。2) 在地址栏输入http://www.163.com等待加载完成。3)可以看到instrument工具消耗了大约10M内存。4)单击清除按钮(UIwebview 将从可视化树中删除并被回收) 5)您仍然可以看到大约 9M 内存。
顺便说一句,NSURLCache 被下面的代码禁用,以分离问题。[[NSURLCache sharedURLCache] setMemoryCapacity:1]