private void ParseMemoryInfo() { string memoryInfo = GPerfPlatform.GetMemoryInfo(); if (!string.IsNullOrEmpty(memoryInfo)) { string[] lines = memoryInfo.Split(new char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries); if (lines != null && lines.Length > 0) { foreach (var line in lines) { GPerfUtil.GetKeyValue(line, out var name, out var value); if (name == MEMORY_TOTAL_KEY) { if (!long.TryParse(value, out m_TotalMemInKB)) { m_TotalMemInKB = 0L; } m_TotalMemInKB /= GPerfUtil.BYTE_TO_MB_SIZE; } else if (name == MEMORY_AVAILABLE_KEY) { if (!long.TryParse(value, out m_AvailableMemInKB)) { m_AvailableMemInKB = 0L; } m_AvailableMemInKB /= GPerfUtil.BYTE_TO_MB_SIZE; } else if (name == MEMORY_THRESHOLD_KEY) { if (!long.TryParse(value, out m_ThresholdInKB)) { m_ThresholdInKB = 0L; } m_ThresholdInKB /= GPerfUtil.BYTE_TO_MB_SIZE; } else if (name == MEMORY_IS_LOW_KEY) { if (!bool.TryParse(value, out m_IsLowMemInKB)) { m_IsLowMemInKB = false; } } else if (name == MEMORY_PSS_KEY) { if (!long.TryParse(value, out m_PssMemInKB)) { m_PssMemInKB = 0L; } } } } } }