本文讲述了应用程序在设备上运行时如何获取它运行时内存的详细状态。
简介
如果要测量你的应用程序是如何使用内存并对此作出修改,那么下面的代码将会给你帮助。从根本上说:DeviceStatus允许应用程序来获取设备的信息。要获得内存的详细信息,那么下面的属性是必须的
-ApplicationCurrentMemoryUsage以字节为单位返回当前的内存使用大小
-ApplicationMemoryUsageLimit返回你的应用程序在运行时可以分配到的最大内存量。
-ApplicationPeakMemoryUsage以字节为单位返回当前应用程序的峰值内存状态。
-DeviceTotalMemory 以字节为单位返回设备的物理RAM大小。
示例代码
下面的代码获得了应用程序使用内存的详细状况并将它们转化到MB单位。
- long totalMemory = DeviceStatus.DeviceTotalMemory;
- long currentApplicationMemoryUsage = DeviceStatus.ApplicationCurrentMemoryUsage;
- long peakApplicationMemoryUsage = DeviceStatus.ApplicationPeakMemoryUsage;
-
- long applicationMemoryUsageLimit = DeviceStatus.ApplicationMemoryUsageLimit;
-
- totalMemory /= 1024 * 1024;
- currentApplicationMemoryUsage /= 1024 * 1024;
- peakApplicationMemoryUsage /= 1024 * 1024;
复制代码
DeviceStatus不仅提供了内存的详细状况,它还提供了DeviceName, DeviceManufacturer, DeviceHardwareVersion等等,同时我们也会看到DeviceExtendedProperties中一些过时的不推荐使用的属性。
DeviceExtendedProperties还有一个额外的属性- DeviceUniqueId,但它不存在于DeviceStatus中,否则我们就能同时使用来获取这些属性值。
Note: 在Windows Phone OS 7.1中,大多数DeviceExtendedProperties里的属性是不推荐使用的,相反应该使用DeviceStatus类。