js 数组释放内存问题
发布网友
发布时间:2022-04-22 01:26
我来回答
共4个回答
热心网友
时间:2022-04-24 11:49
大骆驼里的原话:
截断一个数组并不回收其内存。你必须 undef(@whatever) 来把它的内存释放回你的进程的内存池里。你可能无法把它释放回你的系统的内存池,因为几乎没有那种操作系统支持这样做
热心网友
时间:2022-04-24 13:07
ls几个说的不是很正确, javascript的内存释放机制是浏览器决定的. 不同的浏览器对js有不同的释放机制, 富客户端也要一定程度考虑客户端机器的性能
热心网友
时间:2022-04-24 14:42
楼主说的更清楚一些吧,这个问题比较麻烦,说说你用的什么浏览器,简化后的代码是怎样,最好写个测试程序大家一起帮忙调试。
//==========
如果问题只是Array的话pop之后设置为null就够了,虽然浏览器不会立即回收内存,但是这部分内存会被标记为“删除”,是可以重复利用的。
如果内存能看到明显的占用增加,我觉得还是在闭包,或者循环引用,或者DOM操作上下功夫更好。追问我里面不涉及到DOM的操作,仅仅是维护一个JS类里面的一个数组而已
追答我还是觉得问题不在Array这里,
有可能是频繁创建xmlhttprequest造成的? 按理来说不应该。
要不换jQuery最新版测试一下?
热心网友
时间:2022-04-24 16:33
//实现
public void eat(){
System.out.println("dog喜欢吃的东西");
}
//重载
public void sound(){
System.out.println("dog的声音");
}
public void sound(String say){
System.out.println("dog说:"+say);
}
}
class Cat extends Animal{
//实现