如何完全从three.js场景中删除网格而不会导致内存泄漏。我可以发现一次又一次地加载相同的模型会导致浏览器崩溃,所以看起来内存没有被释放。
答案 0 :(得分:10)
在几何体和材质上使用dispose
方法。此外,请确保没有任何内容持有对这些对象的引用,因为这样可以防止垃圾回收。
var myMesh = new THREE.Mesh(geo, mat);
scene.add(myMesh);
//...
scene.remove(myMesh);
myMesh.geometry.dispose();
myMesh.material.dispose();
myMesh = undefined;