添加IFrame导致内存溢出的解决过程(IE浏览器,目前发现了原因,还未解决)...

1、  现象

每次动态添加iframe时,iexplore.exe进程占据的内存都会增加(大概10M左右),不会自动释放,最终导致内存溢出

2、  解决过程

经过网络的一番搜索,基本上给出的解决方案是清空iframe内容,并移除iframe节点。方法如下:

  var el = document.getElementById("IFrame1");if (el) {iframe = el.contentWindow;//清除文档el.src = 'about:blank';try {iframe.document.write('');iframe.document.clear();CollectGarbage();} catch (e) { };//清除节点var _parentElement = el.parentNode;if (_parentElement) {_parentElement.removeChild(el);}}



 

此方法在重新加载iframe时都会释放一定的内存(可以从进程中看到内存的变化),但加载后新增的内存比释放的内存要多很多,再多次加载后还是会导致内存溢出


还有的说是IE的bug,要用CollectGarbage()函数进行垃圾回收,但经过测试,此函数没有效果,内存溢出也不仅仅在IE存在,火狐和谷歌浏览器都有此现象,只是溢出程度较轻

 

    使用$.get替换iframe动态加载html,同样会导致内存溢出,看来不是iframe的原因

 $.get(src, function (data) { //初始將a.html include div#iframe$("#center").empty();$("#center").html(data);});

 

3、结论
  上述方法确实释放了一定的内存,但动态加载新的iframe后溢出了更多的内存,看来不仅仅是这方面的原因。后来经过调试代码,发现iframe页面引入了大量的js库,大概有几十种,如果删除一些内存溢出现象就会得到缓解,看来这就是原因。下一步准备对js库进行压缩和合并,看能否降低内存溢出。

转载于:https://www.cnblogs.com/gossip/p/3689604.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264907.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[spring boot] 01 环境搭建 - 配置java和mvn环境

主要内容: 一、IntelliJ IDEA 安装 二、maven 安装 三、设置IDEA和mvn的关系 一、IntelliJ IDEA 安装 1.1. 下载编辑器:前往下载 (Ultimate和Community都是可以的,我一般下载前一个) 1.2. 注册码记得搜索 二、maven 安装 2.1. 下载mvn&#x…

https网络编程——HTTPS简介以及SSL协议详解

参考;HTTPS简介以及SSL协议详解 地址:https://qingmu.blog.csdn.net/article/details/108209248?spm1001.2014.3001.5502 目录1.HTTPS简介2.SSL协议介绍2.1、SSL协议的功能2.2、SSL协议在协议栈的位置2.3、SSL协议组成2.3.1、纪录协议的功能2.3.2、SSL记录协议的示…

linux开机和登陆欢迎信息

这篇文章看似没啥技术含量,但却是非常实用的一个小技巧,通常在面临下面几个问题时就可以显示其意义了:1)当你维护的服务器数量较多(例如:十几台或更多),希望知道每台服务器的信息时&…

BookSmart Self Publishing

美国Blurb网站推出针对博客用户的自助出书软件已经不是什么新闻 ,接下来传出日本人兴“个人出书” 出版社“量体裁衣”,其实去年 “自助出版”就已经进军中国;现在有发现两个国内版的booksmart,一个是麦客,一个是印客,前者是杭州的…

D3---01基础的柱状图制作(转)

---文章转自 http://d3.decembercafe.org/index.html ,Created by 十二月咖啡馆。 一个完整的柱形图包含三部分:矩形、文字、坐标轴。 首先要布置一个大小合适的 SVG 画布: 添加 SVG 画布 //画布大小 var width 400; var height 400;//在…

常用UI控件之UIControl

1.UIControl概述UIControl继承于UIView,其子类 有:UIButton,UITextField,UISegmentedControl(分段控件),UISlider(滑块控件),UISwitch(开关控件),UIPageControl(分页控件)2.UISegmentedControl(分段控件)UIsegmentedControl中的每个segment都点击,相当于集成了多个UIButton,点击…

https网络编程——对称加密、非对称加密、单项加密的简单介绍

参考:对称加密、非对称加密、单项加密的简单介绍 地址:https://qingmu.blog.csdn.net/article/details/108213426?spm1001.2014.3001.5502 目录1、对称加密1.1、什么是对称加密?1.2、对称加密的优缺点是什么?1.3、常见的对称加密…

dnn中个性化服务的使用

1.什么是profiles(个性化服务)Profiles是系统面向用户提供的灵活性的个体信息的容器,一个用户的Profile可以使以下一种或多种的集合: (1) 简单的字符串或其他基础类型 (2) 一个序列化的实体 (3&…

洛谷P1073 Tarjan + 拓扑排序 // 构造分层图

https://www.luogu.org/problemnew/show/P1073 C国有 n n个大城市和 mm 条道路,每条道路连接这 nn个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 mm 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通…

昨日观看《龙虎门》

本来很想看《谍中谍3》的,想看看汤姆克鲁斯的风采。不过还是选择的《龙虎门》,早就看过介绍说《龙虎门》主要是给人视觉上的冲击,注重打斗。故事的情节比较简单,两兄弟碰面,大哥决定和自己的老大退出江湖引发上面帮派的…

zabbix2.2.3 VMware Vsphere exsi监控配置步骤

zabbix2.2.3 VMware Vsphere exsi监控配置步骤 zabbix2.2.3 VMware Vsphere exsi监控配置步骤,1,添加监控主机2,添加聚集macro;{$PASSWORD} yoodo.com{$URL} http://ip/sdk{$USERNAME} root3,关联监控模板模板用Template Virt VMware;posted on 2014-04-30 10:22 秦瑞It行程…

https网络编程——SSL的加密和解密过程

参考:SSL的加密和解密过程 地址:https://qingmu.blog.csdn.net/article/details/108214105?spm1001.2014.3001.5502 目录现在的加密/解密技术主要有三种:对称加密,非对称加密,和单向加密加密解密的流程图现在的加密/解…

jQuery安装和语法

jQuery是一个JavaScript函数库&#xff0c;可实现HTML元素选取及操作、CSS 操作、HTML事件函数、JavaScript特效和动画、HTML DOM遍历和修改、AJAX等功能。 在html中引用jQuery&#xff0c;需要在head部分通过script并指定src引入 <script src"jquery路径及文件名"…

IIS网站的权限设置问题

2019独角兽企业重金招聘Python工程师标准>>> IIS中的权限与NTFS权限设置的区别&#xff1a; 当浏览器访问被IIS禁止的页面时&#xff0c;返回404错误页面 但浏览器访问被NTFS禁止的文件时&#xff0c;提示用户登录界面 转载于:https://my.oschina.net/changeme/blog…

关于.Net2.0下配置架构的使用

上次用到配置文件,就花了一些时间研究了一下.Net2.0下的配置文件架构,当时感觉确实很强大,完善,但看的有些头晕.迷迷糊糊把实现了要求,就没有再深入研究.最近,想在配置文件里实现一个复杂的配置,多层次嵌套的配置文件,再把.Net中的配置文档研究了一下&#xff0c;经过这两次的研…

https网络编程——openssl中后缀名文件说明以及常用的证书协议

参考&#xff1a;openssl中后缀名文件说明 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/108215177?spm1001.2014.3001.5502 参考&#xff1a;Openssl常用的证书协议有哪些&#xff1f; 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/1082…

idea使用教程

https://www.jianshu.com/p/9c65b7613c30转载于:https://www.cnblogs.com/tnt-33/p/10333267.html

pgbench

参考: http://www.postgres.cn/docs/10/pgbench.html pgbench是pg自带的一个性能测试工具 你也能利用它做性能测试以外的事情 -- 创建测试库 create database pgbench;-- 使用pgbench命令, 初始化测试表 pgbench -i -U zhangtianxiao -p 6001 -d pgbench-- 使用默认表, 默认sq…

煲仔

湖南的煲仔似乎在我毕业工作的那年侵占了大街小巷&#xff0c;满街的煲仔店向外热滋滋的喷着香味&#xff0c;便宜又好味。那几年在外的觅食&#xff0c;除了常德津市牛肉米饭外&#xff0c;煲仔似乎是我唯一的选择。将米放入煲内&#xff0c;加水在火上煮至半熟&#xff0c;再…

https网络编程——中继(负载均衡)工作原理

参考&#xff1a;中继&#xff08;负载均衡&#xff09;工作原理 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/108217055?spm1001.2014.3001.5502 中继&#xff08;负载均衡&#xff09;工作原理 在我们当前社会&#xff0c;比如我们上某宝&#xff0c;某…