gpt4 book ai didi

caching - Font Glyph/UIWebView 中的内存泄漏

转载 作者:行者123 更新时间:2023-12-02 13:16:46 26 4
gpt4 key购买 nike

我刚刚发现当 UIwebview 被释放时,它使用的大部分内存并没有被完全回收。在做了一些配置文件之后,我发现大部分仍然存在的内存都是字体字形缓存(如果你打开中文网页,问题会更严重,因为中文有更多的字符,这意味着更多的字体字形)。

有什么办法可以控制缓存吗?我正在开发 iOS 网络浏览器,这个问题困扰了我 2 周。

Attached是一个简单的重现演示。1) 使用内存“分配配置文件”运行演示。2)输入http://www.163.com在地址栏中,等待加载完成。3)可以看到仪器工具消耗了大约10M内存。4)点击清除按钮(UIwebview将从视觉树中删除并回收)5) 您仍然可以看到大约 9M 内存处于事件状态。

顺便说一句,NSURLCache 被以下代码禁用,以区分问题。[[NSURLCache共享URLCache] setMemoryCapacity:1]

最佳答案

我们在生产应用程序中观察到类似的问题。我减少了错误,我反复清除 Web View (加载“”),然后在 UIWebView 中加载以下 URL:

http://typecast.com/preview/google/Mr%20Bedfort/Sigmar%20One/Miss%20Fajardose

这会在大约 180 次加载后可靠地使应用程序崩溃。我已向 Apple 提交了一份错误报告,问题 ID 为 15659596,正在等待回复。

但是,我仍然不清楚这种情况到底在什么情况下发生,什么时候不发生。显然,该 URL 会发生这种情况,但我也测试了相同的过程:

  1. 与我们的应用中实际观察到问题的网页内容相同
  2. Google 图片搜索,搜索“猫”和“狗”等字词。

在这两种情况下,都不会出现问题。我观察到内存使用量没有长期增长,并且应用程序也没有崩溃。

所以我没有任何答案给你,但我可以确认 UIWebView 确实存在问题,我已将其报告给 Apple,并且它似乎确实与网络字体有关。

关于caching - Font Glyph/UIWebView 中的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9406431/

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