文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程Script网页教程:关于ie的内存泄漏与javascript内存释放
精品推荐
特别推荐
·主页javascript特效19则
·各种网页媒体播放器代码及详解
·用户体验:JS实现仿新浪信息提示效果
·网页特效:图片随机显示实例详解
·JavaScript入门学习书籍的阶段选择
·Javascript代码轻松隐藏网页源文件
·网页制作:JavaScript仿Windows关机效果
·网页制作Javascript经典小技巧总结
·JavaScript的9个陷阱及评点
·简单介绍用JSP来实现文件下载功能的几种方式
·网页播放器实现全屏的方法总结
·菜鸟学习javascript实例教程
·JavaScript 经典代码大全
·汇总:一些不错的使用频率比较高的JS函数
·Javascript模拟的DOS窗口
·JavaScript仿Windows关机效果
·仿windows选项卡效果拾零
·JavaScript经典效果集锦
·jscript/javascript条件编译
·Js之软键盘实现(源码)
热点TOP10
·javascript+xml实现二级下拉菜单,不会被任何标签或元素遮住
·javascript 常用代码大全
·JavaScript经典效果集锦
·如何实现一个表格表头不动tbody区域用滚动条可以滚动
·网页两侧浮动广告代码
·网页制作:JavaScript仿Windows关机效果
·B/S开发常用JavaScript技术
·用户体验:JS实现仿新浪信息提示效果
·用JavaScript实现仿Windows关机效果
·获取cpu序列号,硬盘ID,网卡MAC地址
·JavaScript Web页面内容导出到Word、Excel
·javascript 时间脚本收集
·一个很好的日历控件(采用javascript编写)
·菜鸟学习javascript实例教程
·JavaScript幻灯片效果
·使用 JavaScript 创建 FrontPage 下拉菜单
·JS经典源码:通用javascript脚本函数库
·javascript gb2312转utf-8
·网页播放器实现全屏的方法总结
·javascript实现datagrid客户端checkbox列的全选,反选

网页教程:关于ie的内存泄漏与javascript内存释放

日期:2007年7月6日 作者: 查看:[大字体 中字体 小字体]


  最近做一个公司的业务系统,公司要求能尽可能的与c/s近似,也就是如c/s一样,点击文本框可以弹出此项目的相关内容,进行选择输入。

  我使用了弹出窗口,然后在子窗口双击选中项目,把选中的值返回给父窗体。

  在系统做完了之后,在客户使用的过程,由于客户使用的是512m的内存配置,所以在打开了30--40个窗体之后,ie的虚拟内存占用量达到近200m,从而使系统变慢,javascript的运行也变慢了。

  我使用任务管理器,打开一个弹出窗口,ie内存就增加1-3m,然后关闭窗口,有时内存并不释放,有时才释放几十k。看来问题出在了内存释放上面。

  接着按内存释放这个思路,进行搜索查找方法,来进行解决这个问题。我找到一个javascript未公开的函数CollectGarbage,这个函数是用来进行内存释放的。我在所有的弹出窗口结束之前把所有的自己定义的javasctip的变量设置为null,并调用CollectGarbage函数。

  javascript中把变量设为null,javascript并不会把内存释放,当下次再次定义变量时,就会覆盖此变量所在的内存。如果不设为null,javascript再次定义变量时,会开辟一个新的内存空间。

  在使用以上处理之后,再次打开窗口,ie的内存每次还是增加1-3m,但是在关闭窗口之后,则ie会释放一定数量的内存在500k至2m。起到了一定的作用。
       由于我在页面中使用了第三方的控件,第三方的控件中的javascript中的内存是如何管理,就不是由我来控制的了。
     
  1.javascript内存释放的方法示例

  把所有上级函数的参数即使设为null,并使用CollectGarbage来释放内存。  

 示例

  <script>    
  //32M  
  function   AllocMem()  
  {  
  var   str="12345678";  
  for(var   i=3;i<24;i++)  
  str+=str;  
  return   str;  
  }      
  function   A(a)  
  {  
  a=null;  
  return   r;  
  function   r()  
  {  
  }  
  }      
  var   f=A(AllocMem());  
  alert(1);  
  CollectGarbage();  
  //明显,已经释放了。  
  r=null;  
  alert(2);  
  CollectGarbage();     
  </script>  

  里面对于内存释放的规则(脚本层)已经理解得很透了。  
  (每一层菜单分配?M的内存.对着任务管理器才看到情况)  

注:
CollectGarbage()通常会在核心推出内存,因就是IE或NS程序结束的时候才会调用.这样才是安全的  

说明:
1)   如果你在另一个window中keep了该window中的object的reference,即使关闭该window,内存也没有释放  
  As   you   might   know,   windows   opened   with   window.open()   may   share   a   process   with   its   opener   (_blank   or   _new     window   may   not).   That   is,   even   if   you   see   those   two   windows   on   the   desktop,   if   you   look   at   the   process   table   in   the   Task   Manager,   you   may   only   see   one   IEXPLORE.EXE   running.   Memory   may   only   be   released   when   the   process   is   terminated  

[1] [2] 下一页 




上一篇:网页教程:如何优化JavaScript脚本的性能

下一篇:网页制作实例:用javascript判断录入的日期合法性

网页教程:关于ie的内存泄漏与javascript内存释放 相关文章:
·photoshop修改照片成为美女教程
·全方位性爱教程大全
·关于三级片和A片的区分标准
·为什么iexplore.exe在打开网页时CPU使用会100%?
·DIV CSS网页布局实例:十步学会用CSS建站
·非主流ps教程实用的技巧大全
·Photoshop抠头发高级抠图教程
·流光破解ftp密码教程
·高手进阶,终极内存技术指南——完整/进阶版
·外挂 录象 网站 举报方案最新教程_QQ堂
网页教程:关于ie的内存泄漏与javascript内存释放 相关软件:
·孙鑫VC++从入门到精通开发详解视频教程FLASH版
·黑客视频教程 VMware虚拟机的安装和使用
·刘天礼 吉他视频教程
·计算机基础知识教程
·美工设计教程
·大师之路Photoshop教程V2.0
·招聘面试技巧 视频教程
·Dreamweaver 网页设计
·主板BIOS设置 视频教程
·黑客视频教程-灰鸽子远控使用教程

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot