Unity UWP (Hololens) получить доступное дисковое пространство

Приложение My Hololens unity записывает файлы на диск для кэширования. Чтобы проверить, достаточно ли места на диске и т. Д., Я хотел бы получить доступное место на диске. Как мне добиться этого в Unity UWP.

Пакет Unity Disk Utils не работает в UWP.


person Niek Jannink    schedule 11.05.2020    source источник


Ответы (1)


Приложения HoloLens - это приложения UWP, поэтому вы можете получать информацию о дисковом пространстве так же, как в любом приложении UWP. Один из способов сделать это - получить свойства System.FreeSpace и System.Capacity папки на интересующем диске.

ApplicationData.TemporaryFolder - хорошее место для кэшированных файлов, так что это хорошее место для проверки.

Вот пример функции, которая получает FreeSpace и Capacity диска, на котором находятся ApplicationData приложения:

const String k_freeSpace = "System.FreeSpace";
const String k_totalSpace = "System.Capacity";
 
#if WINDOWS_UWP && !UNITY_EDITOR

StorageFolder folder = ApplicationData.Current.TemporaryFolder;// or LocalFolder, etc.
var props = await folder.Properties.RetrievePropertiesAsync(new string[] { k_freeSpace, k_totalSpace });
Debug.WriteLine("FreeSpace: " + (UInt64)props[k_freeSpace]);
Debug.WriteLine("Capacity:  " + (UInt64)props[k_totalSpace]);

#endif
person Hernando - MSFT    schedule 24.06.2020
comment
Я пробовал это, но свободное пространство, которое он давало мне, было в количестве эксабайт. Но это может быть из-за используемой папки - person Niek Jannink; 25.06.2020