javascript - 防止 javascript 将数组释放到垃圾收集器
问题描述
在 javascript 中创建数组然后删除指向该数组的所有指针时,垃圾收集器最终将释放数组使用的内存。问题是在你想要稳定帧率的游戏中,垃圾收集可能会导致帧率卡顿。
为了防止这些 fps 下降,我想提前创建数组,但问题是我不知道数组应该有多大。我假设,从长度为 0 的数组开始,然后增加它会导致内存被分配和释放,因为数组填满,但会使用 pop() 之类的操作或设置数组的长度来减少数组的长度为 0 会导致重新分配内存并将工作交给垃圾收集器?
let someArray = [];
// ... Inside game loop...
someArray.push(newElement); // Here memory might be re-allocated if the array increases too much.
// ...
someArray.length = 0; // Could this cause the array to be re-allocated to a smaller chunk of memory? Could this trigger garbage collection?
解决方案
推荐阅读
- python - 科学记数法舍入行为
- github-api - 如何使用 GitHub Rest API 更新属于组织的存储库?
- maven - 如何从 Maven 项目中引用公共 GitHub 包
- python - Python在迭代下替换字典键的行为
- java - Java 泛型 Wild 用法和对象
- linux - 如何从屏幕上获取一个像素的值(GTK 3、Shell、Linux)
- javascript - 当用户选择特定选项时,如何使 div 出现?
- joomla - 安装 k2 组件 2.10.3 后,Joomla 多语言站点 HTML 标记属性不会更改
- velo - 从数据库设置中继器值
- flutter - 如何取消选择列表view.builder颤振中已选择的选项