检测 IE11 及其内置内存泄漏何时耗尽内存(1.5GB 可回收池)

2024-04-03

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(使用前将#替换为@)

检测 IE11 及其内置内存泄漏何时耗尽内存(1.5GB 可回收池) 的相关文章

  • style.backgroundColor 在 JavaScript 中是一个空字符串

    我下面有以下代码 我正在尝试设置背景颜色 但是 背景颜色返回为空字符串 我不知道为什么 它与 javascript 类型有关吗 function function1 var color document getElementById rg
  • 使用 Google Apps 脚本,如何替换 Google 表格模板中的文本以制作新表格?

    我有一个谷歌表格 https docs google com spreadsheets d 17qtLpnFTiMoE6blELSTQhtxkWa1hjjzI PcaY 3cS1Q edit resourcekey null gid 465
  • 内存模型中的词法作用域是什么样的?

    假设我们有一个函数 function foo var x 10 function bar var y 20 return x y return bar console log foo 这在内存模型中会是什么样子 到目前为止 这就是我想象的堆
  • 如果未选中所有复选框,则禁用按钮;如果选中至少一个复选框,则启用该按钮

    我有一个表格 每行都有一个复选框 下面有一个按钮 如果至少选中一个复选框 我想禁用该按钮 tbody tr td td tr tbody
  • 将重置和基础相结合的功效,而不是相互构建

    最近 我开始将重置和基础组合成一种邪恶的优化流线型大杂烩 我发现这是一种真正的享受 并且想知道这是否是常见的做法 我的猜测是 不 和 是 也就是说 我的印象是 有些程序员对重置感到恼火 喜欢从头开始做所有事情 其他人喜欢基线的便利性 但他们
  • Cckeditor 字符限制与 charcount 插件

    我怎么能够prevent用户输入新字符在最大字符之后已达到限制 Ckeditor charcount 插件只是向我显示剩余的字符 我希望它停在 0 处 但它会减去整数 这是我的 html 代码
  • 如何在javascript中使用MD5传输密码

    我弹出一个 jquery 对话框模式框用于登录我的网站 当用户单击登录时 它会向 login php 文件发出一个 post 请求 如下所示 post includes login php user username pass passwo
  • 如何在新窗口中获取dom元素?

    JavaScript 中的一个简单任务是打开一个新窗口并在其中写入 但我需要在一个dom元素中写入一个带有ID的div var novoForm window open somform html wFormx width 800 heigh
  • 使用 SVG 的部分边框/描边

    我正在使用 svg d3 创建由 矩形 元素组成的图表 为每个矩形添加部分边框 描边 仅在矩形顶部 的最佳方法是什么 Thanks 我不认为 SVG 支持仅描边矩形或路径的一部分 描边不像 CSS 边框 您还有其他一些选择 所有这些都需要一
  • 包装 np.arrays __pow__ 方法

    我只是重新审视我的一些代码以提高性能 并遇到了一些奇怪的事情 a np linspace 10 1000 1000000 reshape 1000 1000 timeit np square a 100 loops best of 3 8
  • sails-mongo 适配器,标准化错误消息

    我正在使用 sails mongo 适配器尝试 sailsJs 和 mongodb 将验证添加到模型后 当验证失败时 我会收到以下响应 Users js 模型 module exports schema true attributes na
  • 获取此 contenteditable 元素中的当前行和行索引?

    我有一个这样的元素 span line 1 line 2 line 3 line 4 line 5 span 假设用户正在编辑 第 4 行 如何获取该 contenteditable 元素中的当前行和行索引 在插入符号位置 这是使用选择属性
  • scrollIntoView 滚动得太远

    我有一个页面 其中包含从数据库动态生成的带有 div 的表行的滚动条 每个表格行的作用就像一个链接 有点像您在视频播放器旁边的 YouTube 播放列表中看到的那样 当用户访问该页面时 他们所在的选项应该位于滚动 div 的顶部 此功能正在
  • 使用 RaphaelJS 确定图像何时加载到 svg 中

    我正在尝试弄清楚如何确定 svg 图像何时加载到浏览器中 我正在使用 Raphael JS 并且我已经尝试过 var image paper image path 0 0 10 10 image node addEventListener
  • Twitter 引导工具提示说明不起作用?

    我注意到我的 Twitter 引导工具提示不尊重data position 所以 我前往Twitter Bootstrap 工具提示演示 http twitter github com bootstrap javascript html t
  • StringBuilder 与 Java 中 toString() 中的字符串连接

    鉴于 2toString 下面的实现 哪一个是首选 public String toString return a a b b c c or public String toString StringBuilder sb new Strin
  • 如何获取对象类型

    在我的 Google Apps 脚本应用程序中 我看到以下错误 脚本已完成 但返回值不是受支持的返回类型 如何找出我返回的值的类型 我试过 typeof obj 但我得到的只是它是一个对象 仅当缓存为空并且从电子表格加载数据时才会发生此错误
  • Phantomjs 可以工作,但速度很慢

    我正在尝试使用 PhantomJS 截取网页的屏幕截图 具体来说 我正在使用捕获的示例espn com from this http skookum com blog dynamic screenshots on the server wi
  • laravel 5 vue.js csrf 令牌

    我已经花了一段时间让这个 csrf 令牌与 vue js 示例一起使用 但它一直说我没有令牌 我尝试过各种变化 底部 不是头部 而是身体末端之前 html div section conten div
  • 街景中标记上的 InfoWindows

    根据 Google 文档 当您在地图上创建标记时 市场也会 复制 到地图的街景版本上 但是 onClick 事件绑定不会被复制 或者至少看起来不会被复制 因此我无法在 StreetView 中打开标记上的 InfoWindow 理想情况下

随机推荐