这就是我设置的方式:
这是一个数组样本(从6000多行缩短为2行):
var database1=[[
"2010-01-03 07:45","2010-01-03 11:00","534","A","","","","","Installed washing machine","0","1","1","Indeed","",""],[
"2010-03-20 15:00","2010-03-20 16:00","571","F","","","","","Installed oven","0","5","1","Indeed","",""],[
etc,etc,etc...]];
Run Code Online (Sandbox Code Playgroud)
当我将database1.js附加到容器的头部时,windows中用于IE的内存从7,7MB跳到21,9MB.这很好,我现在可以通过名为database1的数组循环(第一行和第一列是在database1 [0] [0]).
问题是我需要不时地重新附加数据库文件,这样做会增加内存使用量(我以为数据库阵列会被覆盖).
因此,第一次重新添加将IE中的内存使用量提高到30,4MB,但随后每次重新添加时继续增加:30,4MB> 33,9MB> 39,5MB> 42,1MB等.
为了防止这种情况发生,我现在清除数组中的每个项目,然后再重新附加database1文件.
for ( var i=0, il=database1.length; i<il; i++ ){
delete database1[i];
}
//append database1.js to head code here
Run Code Online (Sandbox Code Playgroud)
这确实有帮助.内存使用率不会降至最初的7,7MB,但会从21,9MB减少到14,1MB.下一次重新添加会将内存增加到25,9MB(使用循环清除:18,8MB).下一次重新添加会将内存增加到29,3MB(使用循环清除:24,5MB).
我很高兴内存使用率没有快速攀升,但也许这可以进一步优化?不幸的是,重新加载HTML页面不是一种选择.