first:
先理解我们的基本概念,什么是内存泄漏:
答: 不再用到的内存,没有及时释放,就叫做内存泄漏(memory leak)
程序的运行需要内存。只要程序提出要求,操作系统或者运行时(runtime)就必须供给内存。
对于持续运行的服务进程(daemon),必须及时释放不再用到的内存。否则,内存占用越来越高,轻则影响系统性能,重则导致进程崩溃
当处理 JavaScript 这样的脚本语言时,很容易忘记每个对象、类、字符串、数字和方法都需要分配和保留内存。语言和运行时的垃圾回收器隐藏了内存分配和释放的具体细节。
这是一个很大的话题,我后面会陆续的整理该学习笔记;
主要,的我们可以从两个方面去避免这个问题的发生;
一个就是从我们的代码层面上去区分;
这个,我还是收集链接比较好吧;
JavaScript的数据类型和内存的基本知识 http://www.jianshu.com/p/5f7b363686f6
http://jinlong.github.io/2016/05/01/4-Types-of-Memory-Leaks-in-JavaScript-and-How-to-Get-Rid-Of-Them/
http://www.open-open.com/lib/view/open1421734578984.html
https://wenku.baidu.com/view/659230d95022aaea998f0f22.html
//内存分析,网络优化,这些都是关于性能优化的各种方法第第呀;
dom 对象和 js 对象之间的循环引用;
function example() { var element = document.getElementByID("div1"); //① element.onclick = function () { alert("This is a leak!"); //② } element = null; //添加的语句 }
主要了解他的原理和一些常见的形式;后面我们还的学会使用工具还进行分析滴呀,效果是非常好滴呀;
1.意外的全局变量
2.被遗忘的计时器或回调函数
3.脱离 DOM 的引用
另外一个就是从工具的使用上去区分;
妈卖批的,超你妈