【发布时间】:2020-06-24 14:23:31
【问题描述】:
我的 Hololens unity 应用程序将文件写入磁盘以进行缓存。为了能够检查磁盘上是否有足够的空间等,我想获得可用的磁盘空间。如何在 Unity UWP 中实现这一点。
Unity Disk Utils 包不适用于 UWP
【问题讨论】:
我的 Hololens unity 应用程序将文件写入磁盘以进行缓存。为了能够检查磁盘上是否有足够的空间等,我想获得可用的磁盘空间。如何在 Unity UWP 中实现这一点。
Unity Disk Utils 包不适用于 UWP
【问题讨论】:
HoloLens 应用是 UWP 应用,因此您可以像在任何 UWP 应用中一样获取磁盘空间信息。一种方法是检索感兴趣的驱动器上文件夹的“System.FreeSpace”和“System.Capacity”属性。
ApplicationData.TemporaryFolder 是缓存文件的好位置,因此是检查的好位置。
这是一个示例函数,用于获取应用的 ApplicationData 所在驱动器的 FreeSpace 和 Capacity:
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
【讨论】: