javascript – 浏览器刷新不做垃圾收集

栏目: JavaScript · 发布时间: 7年前

内容简介:我在所有测试的浏览器上找到了这个 – 在Apple上的Window sand Safari上的IE,Firefox,Chrome和Safari.据称,浏览器刷新,后退按钮或前向链接应该转储浏览器节点和javascript变量和对象等.这似乎不是WebGL的情况.我在开发一个需要大约100MB到200MB内存的复杂WebGL应用程序时首先注意到它.在开发过程中,我必须进行大量的刷新,并且在5-10次刷新后我的计算机将开始减速并冻结.经过一些研究,我意识到这不应该.内存泄漏所接受的解决方案是刷新页面,该页面应释

我在所有测试的浏览器上找到了这个 – 在Apple上的Window sand Safari上的IE,Firefox,Chrome和Safari.

据称,浏览器刷新,后退按钮或前向链接应该转储浏览器节点和javascript变量和对象等.这似乎不是WebGL的情况.我在开发一个需要大约100MB到200MB内存的复杂WebGL应用程序时首先注意到它.在开发过程中,我必须进行大量的刷新,并且在5-10次刷新后我的计算机将开始减速并冻结.

经过一些研究,我意识到这不应该.内存泄漏所接受的解决方案是刷新页面,该页面应释放所有javascript对象和变量以及dom节点.但请看下面的图片:

那么这里的交易是什么?在小型应用程序上它并没有被注意到,但是对于像我这样的大型WebGL应用程序(orbitingeden.com)来说,这是一个真正的问题,我的用户会认为该软件更像是一种资源,而不是真正的资源.下图显示了这些刷新吞噬了所有可用内存,因此垃圾收集无法正常工作和/或JS和DOM对象未被释放:

http://orbitingeden.com/images/big_memory_after.png

有人知道强制浏览器进行真正的内存转储的技巧吗?为什么所有文档都出错了?

垃圾收集系统是正常的,只要有足够的内存可供使用,就可以在堆中留下一些未使用的对象.由于拥有大量未使用的内存,计算机运行速度不会更快.

翻译自:https://stackoverflow.com/questions/11286451/browser-refresh-does-not-do-garbage-collection


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Practical JavaScript, DOM Scripting and Ajax Projects

Practical JavaScript, DOM Scripting and Ajax Projects

Frank Zammetti / Apress / April 16, 2007 / $44.99

http://www.amazon.com/exec/obidos/tg/detail/-/1590598164/ Book Description Practical JavaScript, DOM, and Ajax Projects is ideal for web developers already experienced in JavaScript who want to ......一起来看看 《Practical JavaScript, DOM Scripting and Ajax Projects》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具