Unity3d带有视频播放器的RenderTexture

问题描述

在场景中创建(实例)对象时,在自定义脚本(MonoBehavIoUr)脚本中创建了RendereTexture对象,并且在销毁该对象之后,是否还释放了RendererTexture的内存?

解决方法

您可以打开Profiler并自己进行测试。

剧透:我认为不是。

Afaik任何Texture不会自动GC收集,但需要明确销毁

如果您想确定自己可以做例如

private void OnDestroy()
{ 
    if(renderTextureReference) Destroy(renderTextureReference); 
}

在您的组件中。

还可以看看RenderTexture.Release

此功能释放渲染纹理使用的硬件资源。纹理本身不会被破坏,并且在使用时会自动再次创建。

与其他“本地引擎对象”类型一样,重要的是要注意所有渲染纹理的寿命,并在使用完它们后将其释放,,因为它们不会像普通托管类型那样被垃圾回收。