【发布时间】:2011-02-16 11:58:24
【问题描述】:
虽然已经有很多关于 UIWebView 泄漏的帖子,但我相信我的更特别,因此值得在这里单独发布。
每次我加载 Office 文档(如 Word 或 Excel 文件)时,我都会看到一个可重现的大泄漏。
例如,每次我显示一个 180KB 的 .doc 文件时,我都会得到 100KB 的泄漏。模拟器和运行 OS 3.1.3 的实际设备都会发生这种情况。
泄漏是不在 Leaks 工具中可见的,但只能通过 ObjectAlloc 工具查看 malloc 实例。
这是来自仪器跟踪的图片:
(来源:tempel.org)
我还做了一个演示项目,UIWebView-Leak.zip,所以你可以自己验证。
要查看泄漏,请使用 ObjectAlloc 工具,切换到查看单个分配对象的视图,然后按大小排序,以便查看组中的大对象,就像我上面的图片一样。然后查看 Office 文档几次,找到即使在实际 UIWebView 已被释放后仍保持“活动”状态的 Malloc 对象。
这是一个已知的错误吗?或者有什么办法可以避免这些泄漏?即,您是否已成功在 iPhone 上显示 Office 文档并出现此类泄漏?
注意:我现在也将此作为错误报告给 Apple (ID 7950594)
我仍在等待某人(包括 Apple)确认这是真正的泄漏或说明为什么不是(即我做错了什么或做出了错误的假设)
【问题讨论】:
标签: iphone memory-leaks uiwebview