版本: Unity 6 (6000.0)
语言English
  • C#

DisposeSentinel

Unity.Collections.LowLevel.Unsafe 中的类

/

实现于:UnityEngine.CoreModule

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。尽管我们无法接受所有提交,但我们确实阅读了用户提出的每个建议更改,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

包含自动检测内存泄漏的方法。

DisposeSentinel 中的方法由 NativeContainer 实例用于自动跟踪内存泄漏并向您报告。但是,您应尽可能使用 UnsafeUtililty.MallocTracked 方法而不是 DisposeSentinel

DisposeSentinel 是一个托管对象,仅由持有您不想泄漏的本机数据的 NativeContainer 引用。当没有对拥有它的 NativeContainer 的任何引用时,将调用 DisposeSentinel 的终结器,并检查引用的数据是否已正确释放。如果数据未正确释放,DisposeSentinel 将记录包含初始分配信息时的错误。

DisposeSentinel 会为垃圾回收器创建垃圾以供其回收,并且任何内存泄漏都将在域关闭或重新加载时报告。

只有在定义 ENABLE_UNITY_COLLECTIONS_CHECKS 时才能使用 DisposeSentinel 类。

其他资源:NativeContainerAttribute 中的示例。

静态方法

Clear清除 DisposeSentinel。
Create创建一个新的 AtomicSafetyHandle 和一个新的 DisposeSentinel,用于跟踪本机数据的安全性和泄漏。
Dispose释放 AtomicSafetyHandle 并清除 DisposeSentinel。