简单三步搞掂内存泄漏

2016-02-19 10:21 2 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是简单三步搞掂内存泄漏,一起来学习了解下吧!

【 tulaoshi.com - Web开发 】

原文地址:http://www.jackslocum.com/blog/2006/10/02/3-easy-steps-to-avoid-javascript-memory-leaks/你可能还未知道,你浏览的大多数的js网站,会引起 内存泄漏。听起来有点夸张,但这是事实,难道我会骗你吗?
泄漏监视器Leak Monitor 这是个方便的FireFox扩展,当你离开那页的时候它便会指向JavsScript对象,如果出现泄漏的话会弹出一个窗口显示细节内容,而且能够告诉你是那个对象或函数引起的泄漏。
离开http://script.aculo.us/的时候
这应该我是最常见的泄漏  prototype.js, line 74:3 The Dojo Mail 例子页面
严重的泄漏,一下子弹出两个窗口 (注意滚动条!)。
Word Press
这个更离谱。我每次写完Word press,就会出现!

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)
如下简单的三步:
       1. 当你完成后,设置你的 XMLHttpRequest onreadystatechange handlers 为null,
我使用 YAHOO.util.Connect 来进行XHR链接 ,因为它使用了 polling mechanism来代替readstate, 这样我不用手工set null了。我推荐你,在允许的情况下,使用YAHOO.util.Connect (或建于其之上的 YAHOO.ext.UpdateManager)。
      2. 在unload事件中清除所有 DOM event handlers object ,如果它们有引用 (Refence)的机会的话。
能够让Library做的,就不要用自己的方法做! 对于事件event的机制,我均使用了YAHOO.util.Event来处理. 其它的library (prototype, dojo, etc) 亦有自己的相应的机制来处理。 --尽管我不清楚它们的执行效率去到那里。 如果你再仔细看看上面的截图,你会发现上面的泄漏代码都会关联到这些library里面去(用事实证明事故的源头,Frank注)
      3.除了一些基本类型的数据primitive value (String 、Number),切勿放其它任何东西在 DOM expando 或 property 。当然,你能保证及时清除它的话,便是一个例外。
       这就是最重要的金科玉律了。在DOM expando放东西,你会觉得很方便, 然后用 $()获取它, 但千万不要这样做。 真的,我知道你在想什么,现在的我已经有线想妄想症的认了.没错,很多场合都会把JS对象放到 DOM expando,也没啥状况发生,但也会有很多。。。。这种情况不容易检查出来啊!(例如:闭包closures). 所以要避免任何可能的发生,我只会按照这样的规律做.
摘要

解决这个问题并不是太难。它不需要任何技巧或经验之谈。只要注意好以上几点,一个新手novice也知道如何避免泄漏。
请拜托一些大网站(包括新的 Yahoo Mail!?!?),花点时间,做足功夫,让我(或其他人)浏览你的网页而不遭受内存泄漏。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

来源:https://www.tulaoshi.com/n/20160219/1594320.html

延伸阅读
偏色照片的修复方法有很多,下面的教程介绍用常用的替换颜色来修复。过程也非常简单,先用替换颜色选择人物偏色的部分,然后设置需要的正常肤色。后期再调整下整体颜色即可。 原图 最终效果 1、打开人物素材,选择菜单:图像 模式 CMYK颜色,然后执行:图像 调整 替换颜色,用吸管将面部区域选中。然后选择替换后的颜色...
标签: 化妆
太过复杂的画眉技巧不适用于刚学化妆的MM。当务之急,是掌握一种最基础与最简单的画眉法。 Step 1、以眉峰为基点,将浅色眉粉分别涂至眉尾和眉头。如果眉毛长得参差不齐,注意涂抹时要补满不完整的眉形,使之自然。 Step 2、用颜色略深的眉笔将稀疏和不饱满的眉尾,一根根地添画。如果眉毛本来就很浓密,只需画到在...
标签: 编发 盘发教程
第一步:将头发绑成一个低马尾,最后一圈的时候,不要把头发全部拉出来,如图所示。 第二步:将拉出的尾端,用梳子打毛。然后往两边拉松做出蓬松的感觉。 第三步:用手指将头发往后梳,再用U型夹插入固定。 是不是非常的清爽呢?
对于偏色如此严重的图片,作者竟然用曲线两下子就还原了。可见作者调色非常专业。可能还有很多修复的方法,学习之余大家可以多尝试一下。 原图 最终效果 1、打开原图,创建曲线调整图层,对个通道进行调整,参数及效果如下图。 2、选择菜单:选择 色彩方法,容差设置为128,然后用吸管点图片中较亮的部分提取高亮选...
标签: 瘦肉
可乐鸡翅~简单又美味的做法步骤 1. 鸡翅洗净 放入葱姜水中煮沸捞出,沥干水份待用 2. 在生鸡翅上划刀,用两勺老抽,两勺料酒腌制半个小时左右 3. 小火,锅中放一点底油,将鸡翅...

经验教程

18

收藏

35
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部