MemoryLabel
структура в Unity.Collections
Выполнено в:UnityEngine.CoreModule
Описание
Представляет метку памяти, используемую для профилирования и отслеживания выделений памяти в Unity.
Метки памяти полезны, когда вы хотите сгруппировать выделения для конкретных объектов или систем. Они могут помочь в отладке проблем с памятью и понимании использования памяти вашим приложением.
При создании NativeArray<T0> или UnsafeUtility.Malloc, вы можете указать метку памяти, связанную с этим выделением.
Метки памяти могут использоваться только с распределителями, которые поддерживают метки памяти, i.e. Allocator.Persistent и Allocator.Domain.
using UnityEngine; using Unity.Collections;
public class MemoryLabelExample : MonoBehaviour { static readonly MemoryLabel myMemoryLabel = new MemoryLabel("MyArea", "MyObject", Allocator.Persistent);
NativeArray<int> myArray;
void Start() { // Create array with fixed length and memory label myArray = new NativeArray<int>(10, myMemoryLabel);
for (int i = 0; i < myArray.Length; i++) { myArray[i] = i * 2; } }
public void OnDestroy() { // Dispose of the array to avoid leaks if (myArray.IsCreated) { myArray.Dispose(); } } }
Свойства
| Свойство | Описание |
|---|---|
| IsCreated | Получает значение, указывающее, была ли создана эта метка памяти. |
Конструкторы
| Конструктор | Описание |
|---|---|
| MemoryLabel | Инициализирует новый экземпляр структуры MemoryLabel. |
Статические методы
| Метод | Описание |
|---|---|
| SupportsAllocator | Определяет, поддерживает ли указанный распределитель маркировку памяти. |