Unity技术分享Unity教程合集

不经意间的内存泄露

2015-12-17  本文已影响66人  Babybus_Unity

Babybus-u3d技术交流-不经意间的内存泄露

实践证明,所有继承至UnityEngine.Object的对象,都需要手动Destroy,否则必然导致内存泄露。

一般我们不会忘记Destroy GameObject对象,因为在层级树中可以看到。但是类似于AudioClip的对象却可能被我们忽略,unity中有个对象池管理这些东西,保存了它们的引用,所以不能自动垃圾回收(引用计数不为0)

如下面代码:

Destroy (audio.clip);audio.clip = Microphone.Start("", false, 30, 44100);

先前的Microphone.Start 返回的对象不仅仅被microphoneClip所引用,所以必须Destroy。

上一篇 下一篇

猜你喜欢

热点阅读