位置: 编程技术 - 正文

IE8 内存泄露(内存一直增长 )的原因及解决办法(ie内存怎么清理)

编辑:rootadmin

推荐整理分享IE8 内存泄露(内存一直增长 )的原因及解决办法(ie内存怎么清理),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:ie 内存不足,ie浏览器提示内存不足,ie存储空间不足如何处理,ie存储空间不足,无法处理此命令,ie内存溢出,ie存储空间不足如何处理,ie8内存不释放,ie内存溢出,内容如对您有帮助,希望把文章链接给更多的朋友!

最近开发的时候对页面使用了定时的局部更新,结果在ie6,7和Firefox下,一切正常,而在ie8下过上几个小时就浏览器就崩溃了,显示是内存溢出,我以为是代码写的不好导致内存泄露,但是ie6,7又正常,调查了一下,原来这是ie8的bug。

问题点

在IE8中,生成特定Dom节点所占用的内存是不会被释放的,即使这些节点被删除内存也不会被释放。

内存泄露的节点类型包括:form、button、input、select、textarea、a、img和objec

其他的大部分节点类型是不会泄露的,例如:span、div、p、table等等。

此问题只发生在IE8,其他浏览器不发生。

如果用户按了F5,IE8会重新刷新页面,首先它会unload window.top,这时候会释放掉内存。如果页面是iframe,则unload此iframe,没有任何反应。看起来只有window.top被 unload,内存才会被释放。

例子

例1

执行下面的代码,IE8就会泄露内存。

注意:

* 此例子添加了节点,所以会泄露。

* 在中有个div,id为“TO_AREA”。

* 提醒一下,这里没有闭包和循环引用。

IE8 内存泄露(内存一直增长 )的原因及解决办法(ie内存怎么清理)

例2

下面的代码没有使用innerHTML,但是还是会泄露

注意:

* FROM_AREA 是form的id,而且这里也没有闭包和循环引用。

例3

这是最简单,最直接的例子:

注意:

* 如果用span来代替img,就不会有泄露了。

这些例子只在IE8中泄露内存,我在Windows XP, Windows Vista, Windows Server , Windows Server R2和Windows 7 中的IE8都作了测试,而且使用了IE8中的IE7兼容模式和标准模式,每种情况下都会泄露。

测试页面

关于泄露

内存大小随着时间的推移而增长,但这并不直接导致浏览器崩溃。浏览器使用的内存好像是有上限的,它似乎会从某些内部手段来限制DHTML使用的内存。

内存到达上限后,浏览器会自动处理,例如弹出对话框,显示内存不足。

经过自己测试发现 IFrame同样存在这个问题(在IE8下)

补充:iframe内存释放

Ext 核心开发人员Jack的回答是,TabPanelItem在关闭时并不会对自定义到tab中的元素做特殊处理,这部分工作必须在控件外来完成。另一方面, 相关资料称IE在iframe元素的回收方面存在着bug,在通常情况下应该将该元素的src属性值修改为”abort:blank”,并手工将其从 DOM树上移除,然后把脚本中引用它的变量置空并调用CollectGarbage()就可以避免iframe不能正常回收所造成的内存泄露。

JS实现把鼠标放到链接上出现滚动文字的方法 本文实例讲述了JS实现把鼠标放到链接上出现滚动文字的方法。分享给大家供大家参考,具体如下:divid="tooltip2"style="position:absolute;visibility:hidden;clip:rect(

JS控制伪元素的方法汇总 一.缘由:本文源于在OSC社区中,有人提问如何用jq获取伪元素。我第一想法是强大的CSSQuery应该可以获取伪元素吧。然而事实上,CSSQuery并不能。即我们

JS密码生成与强度检测完整实例(附demo源码下载) 本文实例讲述了JS密码生成与强度检测的方法。分享给大家供大家参考,具体如下:1.生成强密码截图如下:相关代码如下:functiongetPwd(n){vars='';while(n--)s

标签: ie内存怎么清理

本文链接地址:https://www.jiuchutong.com/biancheng/373399.html 转载请保留说明!

上一篇:JS中JSON对象和String之间的互转及处理技巧(如何实现js对象和json数据互转)

下一篇:JS实现把鼠标放到链接上出现滚动文字的方法(js鼠标移入事件)

  • 税前利润计算公式变动成本法
  • 财税人员岗位职责
  • 先收到发票还未付款怎么做账
  • 个体工商户还没有使用怎么注销
  • 业务招待费如何进行纳税筹划
  • 残疾人加计扣除政策文件
  • 季初资产总额是1,季末是0怎么填
  • 利润表中第3栏营业税金及附加等于什么
  • 劳务工和临时工
  • 企业合并的被合并方会计分录
  • 收到外商投入资金
  • 待处理产品损益账户的核算内容不包括
  • 上个月的进项发票可以这个月勾选吗
  • 企业安装监控费用怎么做账
  • 增值税抵扣进项税额交税账务处理
  • 企业经营收入达到多少
  • 其他综合收益影响净利润吗
  • 出口申报时限
  • 进口原材料的关税怎么算
  • 滴滴电子发票怎么填写
  • 低值易耗品的界定标准何时修改的
  • 受托加工物资入库流程
  • 企业分配利润的原则
  • 客户罚款记哪个科目
  • win10电脑输入法不见了怎么恢复
  • window10总是自动开机
  • 债权转增资本公积账务处理
  • 应收票据包括哪些支票
  • 织梦采集器图片本地化
  • 土地增值税属于财产税吗
  • 计提摊销的分录
  • php 如何防止接口被刷
  • Sa-Token v.1.31.0 新增拦截器 SaInterceptor 功能说明,以及旧代码迁移示例
  • 现金日记账期初余额怎么算
  • 申报个人所得税是按应发工资还是实发工资
  • 毛利率为负也可以投资吗
  • vue中的路由参数如何获取
  • 新购入的汽车需要年检吗
  • 利润表中的管理费用怎么填
  • 增值税免税收入账务处理
  • php调用第三方接口代码
  • 2021增值税发票怎么开步骤
  • 企业投资一个小时多少钱
  • 企业所得税汇算清缴扣除标准2023
  • 会计人员信息采集怎么填
  • 免税农产品发票需要勾选吗
  • 财务报表审计的基础是独立性和专业性
  • 小规模纳税人出租不动产免征增值税
  • 公司餐费怎么入账
  • 收到承兑的账务处理
  • 小型微利企业预缴企业所得税怎么算
  • 员工给兄弟公司的感谢信
  • 生产的产品不合格,追究时公司已经注销
  • 农产品加计扣除怎么计算
  • 错帐的查找方法
  • 暂估入库后发票来不了会计分录
  • 发票怎么看是普票还是专票
  • 工程类发票账务后面需附什么单据呢
  • 记账凭证如何填写明细科目
  • 企业进行短期投资的目的包括
  • windows8crazy error
  • 巧用 Windows 系统控制台删除病毒文件
  • linux安装视频教程
  • cmd命令行删除文件
  • windows8 enterprise
  • win7 64位系统提示"Windows7不能识别网络打印机"的故障原因及解决方法
  • win7系统中怎样
  • freebsd服务器怎么样
  • 文件包解密
  • js怎么使用
  • js 对象key
  • unity3d总结
  • 清除安卓系统垃圾
  • python数字类型及操作
  • 使用灭火器时要对准火焰的什么部位喷射
  • 国地税机构改革方案
  • 海关进口增值税如何入账
  • 进口汽车零部件编码查询
  • 郑州市管城区地图范围
  • 混合销售定义是什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设