浏览器内存大小
32位操作系统下,浏览器内存空间大小为0.7G,其中新生代内存空间大小为16M,老生代内存空间大小为700M;64位操作系统下,浏览器内存空间大小为1.4G,其中新生代内存空间大小为64M,老生代内存空间大小为1400M;
浏览器内存运转机制
新生代内存空间涉及粘贴、复制两个操作;老生代内存空间涉及标记、删除和整理三个操作;
新生代、老生代内存空间转化
新生代from和to各占50%的内存空间,新生代内存空间数据移交到老生代有两种情况:一、from的数据内存粘贴到to中(或to转from)占比超过25%,则把多余的数据移交到老生代内存空间;二、新生代内存空间数据标记为需要回收,但是还没有回收,则把这部分数据移交到老生代内存空间;
内存释放与内存回收
内存释放分为手动释放和自动释放,手动释放则是在全局变量中,将不能自动释放的变量数据设置为null或者undefined,然后浏览器内存在回收时,将其回收;自动释放则是指局部变量的释放,比如函数中的局部变量数据在函数执行完后,自动释放(闭包除外),然后浏览器内存在回收时,将其回收;注意:浏览器内存的释放不一定就是浏览器回收,内存释放后,数据一样占据内存空间,只不过是在浏览器内存回收时可以将释放的内存空间数据删除,进而真正释放内存空间,对于没有释放的内存空间,浏览器回收期是不能回收的。