IE11 有一个有据可查的 iframe 内存泄漏问题。在 SPA 中,如果您使用 iframe,内存将增长到大约 1.5GB,之后速度会变慢直至崩溃。
我的任务是检测浏览器何时即将崩溃并尽快重新启动页面。该应用程序是嵌入在 ASP.NET MVC 中的 Vue.JS。
IE11 浏览器中提供哪些类型的内存/性能检测?
- 某种使用的内存测量库?
- 某种性能测量库?
- 计算创建的 JavaScript 对象?
- 计算创建的 iframe 数量?
还有其他想法吗?谢谢。 :)
资料来源:https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10186458/ https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10186458/
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8449104/ https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8449104/
http://support.sas.com/kb/60/514.html http://support.sas.com/kb/60/514.html
根据我的经验,缓解这种情况的最佳方法是减少 iframe 的重新创建并减少使用的总内存,从而减少泄漏(例如通过代码分割未使用的代码、删除大型库等)。然后,您可以进行测试来估算每次页面加载预计泄漏多少内存(或您的情况下的任何相关指标),并提出重新加载应用程序的启发式方法(例如,在 50 个页面加载后)。
请记住,有时重新加载应用程序不会帮助 IE 回收内存。有一个奇怪的解决方法 - 您可以打开一个新选项卡,导航到您的应用程序,切换到该选项卡,然后关闭旧选项卡。显然不是理想的用户体验,但它比页面刷新更可靠。
在其他情况下,内存泄漏是因为您从主窗口中的某个位置引用了 iframe,或者在删除 iframe 之前没有清理 iframe 内的事件处理程序 - 我假设您已经从描述中检查了这一点,但我认为它提一下也没什么坏处:)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)