`
androider
  • 浏览: 751699 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

JS内存泄漏

阅读更多
访问一般的站点,你会发现大多数站点都会出现这类问题。的确,如果一些网站没有经过这样的测试,多少会让人感到震惊,--本来适当一下的修改就可以确保这种问题不会发生。虽然这网站(J指ack'sBlog、范例)统统都是JavaScript的,但你不必担心任何泄漏的危险。


如下简单的三步:
1. 当你完成后,设置你的 XMLHttpRequest onreadystatechange handlers 为null, 我使用 YAHOO.util.Connect 来进行XHR交换数据 ,因为它使用了连接池来代替readystate, 这样我不用手工set null了。我推荐你,在允许的情况下,使用YAHOO.util.Connect (或建于其之上的 YAHOO.ext.UpdateManager)作Ajax请求。

2. 如果能获取所有DOM 事件句柄的对象的话,要在unload的事件清除这些对象;而且能够让Library做的,就不要用自己的方法做! 对于事件event的机制,我均使用了YAHOO.util.Event来处理. 其它的库 (如prototype、dojo 等等) 亦有自己的相应的机制来处理。 --尽管我不清楚它们的执行效率去到那里。如果你再仔细看看上面的截图,你会发现上面的泄漏代码都会关联到这些库里面去;

3.除了一些基本类型的数据primitive value (String 、Number),切勿利用JavaScript的expando特性在DOM对象上增加任何东西,-除非你能保证及时清除它。
这就是最重要的金科玉律了。在DOM expando放东西,你会觉得很方便, 然后用 $()获取它, 但千万不要这样做。真的,我知道你在想什么,现在的我已经有线想妄想症的认了.没错,很多场合都会把JS对象放到 DOM expando,也没啥状况发生,但也会有很多。。。。这种情况不容易检查出来啊!(例如:闭包closures). 所以要避免任何可能的发生,我只会按照这样的规律做。

分享到:
评论

相关推荐

    JS内存泄漏检测工具

    JS内存泄漏检测工具:IEJSLeaksDetector

    Javascript内存泄露

    ### JavaScript内存泄露详解 #### 一、什么是JavaScript内存泄露? 在JavaScript编程中,内存泄露指的是在浏览器中不再使用的变量或对象占用的内存没有被及时回收,导致可用内存逐渐减少的现象。这种现象通常发生...

    js内存泄露问题

    JavaScript内存泄漏是一个重要的主题,尤其是在开发复杂且性能敏感的Web应用程序时。JavaScript是一种动态类型语言,它在浏览器环境中运行,并依赖于垃圾收集机制来管理内存。然而,由于一些特性及浏览器实现的差异...

    javascript内存泄露问题的解析

    JavaScript内存泄露问题的解析 JavaScript内存泄露问题是一种常见的bug,它会导致系统崩溃和性能下降。内存泄露是指系统不能正确地管理内存分配的情况,这可能会导致程序调用失败、执行减慢等问题。 在JavaScript...

    javascript 内存泄漏 检测 解决 检测工具 原因分析

    JavaScript内存泄漏是一个重要的编程问题,尤其对于Web应用来说,它可能导致性能下降,用户界面响应变慢,甚至在极端情况下导致应用程序崩溃。理解内存泄漏的原因、如何检测和解决它们是每个JavaScript开发者必备的...

    Js内存泄漏及解决方案

    ### Js内存泄漏及解决方案 #### 一、理解内存泄漏 在JavaScript中,内存泄漏是指由于某种原因导致不再使用的变量或对象仍然占据着内存空间,从而无法被垃圾回收机制(Garbage Collection, GC)释放,这将导致应用...

    JS内存泄露demo

    了解这些常见的JS内存泄露实例后,开发者可以通过代码审查、使用内存分析工具(如Chrome DevTools的Memory面板)以及遵循最佳实践来预防内存泄露。记住,即使JS有自动垃圾回收,也应时刻注意内存管理,确保程序的...

    内存泄漏检测工具

    内存泄漏是程序运行过程中,不再使用的内存没有被正确释放,导致系统资源持续占用,从而影响程序性能甚至系统...了解并掌握这些知识点,开发者可以更有效地预防和解决JavaScript内存泄漏问题,确保应用的高效稳定运行。

    JavaScript内存泄漏的处理方式

    在探讨JavaScript内存泄漏的处理方式前,有必要了解内存泄漏的含义。内存泄漏通常指的是程序不再使用的内存未能被释放,导致内存消耗不断上升。即使在高级语言如JavaScript中,这一问题亦可能出现,尽管它拥有垃圾...

    Js内存泄漏及解决方案.pdf

    JavaScript内存泄漏指的是由于代码的某些问题导致内存不能被垃圾回收机制正常回收,从而随着时间的推移,内存消耗持续增长。这不仅会导致程序运行缓慢,最终还可能导致程序崩溃。根据给定文件中的内容,我们可以分析...

    sIEve-0.0.8-javascript内存泄漏检测工具

    sIEve是一款专门针对JavaScript内存泄漏检测的工具,版本为0.0.8。这款工具的主要目标是帮助开发者识别和定位JavaScript应用中的内存泄漏问题,以优化性能并提高用户体验。sIEve通过深入分析JavaScript运行时的内存...

    01-JS内存泄漏.md

    在大厂前端面试中,内存泄漏问题的考察通常是为了测试候选人对于JavaScript底层原理的掌握程度。由于内存泄漏往往会导致应用性能下降甚至崩溃,因此这个问题对于评估一个前端工程师的实际编码能力和问题解决能力至关...

    css样式和内存泄漏

    “常见兼容问题.doc”可能汇总了各种类型的CSS兼容和JavaScript内存泄漏问题,为开发者提供了一站式参考。而“div+css浏览器兼容问题解决方法(PDF版).pdf”很可能提供了一种系统性的解决策略,包括了从设计到实现的...

    javascript 内存泄漏

    本文将详细探讨JavaScript内存泄漏的原因,并展示一些常见的内存泄漏模式,以及如何解决这些问题。 首先,JavaScript 是一种垃圾收集语言,意味着对象创建时会分配内存,在没有更多引用时由浏览器回收这些内存。...

    Iframe内存泄露分析

    检测内存泄漏的工具和手段确实有限,仅有的两个工具(JavaScript Memory LeakDetector 和 sIEve )都不太好用,不像 Java 里面的一些工具能精准定位。因此,需要通过经验预测最有可能泄漏的几个点,再通过排除法,...

    藏经阁-穆客带你快速定位 Node.js 内存泄露.pdf

    原因可能包括全局变量未释放、闭包导致的内存泄漏、Buffer对象的不当使用、循环引用以及外部库的内存管理问题等。要定位内存泄露,开发者可以借助应用性能管理(APM)工具,如Alinode,它能够提供实时的内存使用情况...

    深入浅出JavaScript内存泄漏.doc

    JavaScript内存泄漏是一个重要的主题,尤其是在现代Web开发中,因为页面长时间保持活跃且动态更新内容的情况越来越普遍。了解和处理内存泄漏对于优化Web应用性能至关重要。本文将深入探讨JavaScript中的几种常见内存...

    electron-vue开发环境内存泄漏问题汇总.docx

    3. 在 dev-runner.js 中找到了关于杀死进程的方法,使用 process.kill(electronProcess.pid) 杀死进程,以解决内存泄漏问题。 解决思路: 使用 process.kill(electronProcess.pid) 杀死进程,以解决内存泄漏问题。...

    【JavaScript源代码】一篇文章弄懂javascript内存泄漏.docx

    【JavaScript源代码】一篇文章弄懂javascript内存泄漏 在JavaScript中,内存管理对于程序性能至关重要,因为内存泄漏会导致程序效率下降,甚至可能导致应用崩溃。本文旨在深入解析JavaScript中的内存泄漏及其解决...

Global site tag (gtag.js) - Google Analytics