我一直在使用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标记重新开始。
有没有人能解决这个棘手的问题?
谢谢!