如何在页面刷新时清除当前的浏览器会话内存

时间:2011-03-07 22:26:35

标签: javascript caching memory-leaks openlayers

我一直在使用OpenLayers构建一个基于javascript的大型映射系统,并且我已经将我们最大的客户端帐户上的数据的初始页面加载从400 MB减少到大约150-180 MB,通过在完成时将ajax json返回归零数据并删除不必要的HTML。在初始页面加载时,浏览器中的内存监视器显示大约150的大数字。当我使用该站点时,它会建立一些,这是预期的。但是,如果我刷新页面,浏览器会粘贴到一堆先前的内存中,然后在刷新完成加载时几乎加倍。

我添加了onunload =“map = null”,其中“map”是我们的映射库的javascript var。我已将php行添加到标题中:

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Date in the past 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");  
header("Cache-Control: no-store, no-cache, must-revalidate");  // HTTP/1.1 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache");

我已将元线添加到标题中:

<meta http-equiv="Cache-control" content="no-cache">
<meta http-equiv="Expires" content="-1">

但我还是无法摆脱驻地记忆。当我第一次启动浏览器时,它大致在加载空白页时使用35MB。我本以为,如果我刷新页面,浏览器应该转储该页面的内存(给定上面的行)并从35MB标记重新开始。

有没有人能解决这个棘手的问题?

谢谢!

0 个答案:

没有答案