FileHandle.Close
Declaration
public Unity.Jobs.JobHandle Close(Unity.Jobs.JobHandle dependency);Параметры
| Параметр | Описание |
|---|---|
| зависимость | (Необязательно) JobHandle для ожидания перед закрытием файла. |
Возвращаемое значение
JobHandle JobHandle для асинхронной операции закрытия. Вы можете использовать это JobHandle в качестве зависимости при планировании других заданий, которые не должны выполняться до завершения операции закрытия.
Описание
Асинхронно закрывает файл, на который ссылается этот экземпляр FileHandle, и удаляет экземпляр FileHandle.
Всегда закрывайте FileHandles после завершения, чтобы избежать утечки памяти и ненужного блокирования файлов. FileHandles, который не удалось открыть, должен быть закрыт.
После закрытия экземпляр FileHandle удаляется и становится недействительным. Чтобы проверить завершение операции закрытия, используйте JobHandle, возвращаемый этим методом.
using System.IO; using Unity.IO.LowLevel.Unsafe; using Unity.Jobs; using UnityEngine;
class AsyncCloseSample : MonoBehaviour { FileHandle fileHandle; public unsafe void Start() { string filePath = Path.Combine(Application.streamingAssetsPath, "myfile.bin");
fileHandle = AsyncReadManager.OpenFileAsync(filePath); }
public unsafe void Update() { if (fileHandle.IsValid() && fileHandle.JobHandle.IsCompleted) { JobHandle closeHandle = fileHandle.Close();
closeHandle.Complete(); } } }