3 回答

TA貢獻1804條經驗 獲得超2個贊
解析/proc/meminfo命令。您可以在這里找到參考代碼: 在Android中獲取內存使用情況 使用下面的代碼并獲取當前RAM: MemoryInfo mi = new MemoryInfo();ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); activityManager.getMemoryInfo(mi);double availableMegs = mi.availMem / 0x100000L;//Percentage can be calculated for API 16+double percentAvail = mi.availMem / (double)mi.totalMem * 100.0;
對0x100000L數的解釋
1024 bytes == 1 Kibibyte 1024 Kibibyte == 1 Mebibyte1024 * 1024 == 10485761048576 == 0x100000

TA貢獻1834條經驗 獲得超8個贊
final Runtime runtime = Runtime.getRuntime();final long usedMemInMB=(runtime.totalMemory() - runtime.freeMemory()) / 1048576L;final long maxHeapSizeInMB=runtime.maxMemory() / 1048576L;final long availHeapSizeInMB = maxHeapSizeInMB - usedMemInMB;
availHeapSizeInMB
val nativeHeapSize = Debug.getNativeHeapSize() val nativeHeapFreeSize = Debug.getNativeHeapFreeSize() val usedMemInBytes = nativeHeapSize - nativeHeapFreeSize val usedMemInPercentage = usedMemInBytes * 100 / nativeHeapSize

TA貢獻1830條經驗 獲得超3個贊
public static long getUsedMemorySize() { long freeSize = 0L; long totalSize = 0L; long usedSize = -1L; try { Runtime info = Runtime.getRuntime(); freeSize = info.freeMemory(); totalSize = info.totalMemory(); usedSize = totalSize - freeSize; } catch (Exception e) { e.printStackTrace(); } return usedSize;}
- 3 回答
- 0 關注
- 1429 瀏覽
添加回答
舉報