程序内存检测

本文参考自:http://www.cnblogs.com/hebeiDGL/p/3410188.html

        static System.Windows.Threading.DispatcherTimer dispacherTimer;
        static string total = "DeviceTotalMemory";
        static string current = "ApplicationCurrentMemoryUsage";
        static string peak = "ApplicationPeakMemoryUsage";
        static long totlaBytes;
        static long currentBytes;
        static long peakBytes;

        public MainPage()
        {
            InitializeComponent();
            checkmemory();
        }
        void checkmemory() 
        {
            dispacherTimer = new System.Windows.Threading.DispatcherTimer();
            dispacherTimer.Interval = TimeSpan.FromSeconds(2);
            dispacherTimer.Tick += dispacherTimer_Tick;
            dispacherTimer.Start();
        }
        void dispacherTimer_Tick(object sender, EventArgs e)
        {
            // 获取设备的总内存
            totlaBytes = (long)Microsoft.Phone.Info.DeviceExtendedProperties.GetValue(total);

            // 获取应用当前占用内存
            currentBytes = (long)Microsoft.Phone.Info.DeviceExtendedProperties.GetValue(current);

            // 获取内存占用的峰值
            peakBytes = (long)Microsoft.Phone.Info.DeviceExtendedProperties.GetValue(peak);

            txtMemory.Text = string.Format("当前:{0:F2}MB;  峰值:{1:F2}MB;  总:{2:F2}MB;", currentBytes / (1024 * 1024.0), peakBytes / (1024 * 1024.0), totlaBytes / (1024 * 1024.0));
        }    

  

posted on 2014-04-21 09:24  鸣动我心  阅读(180)  评论(0编辑  收藏  举报