2011-07-15 27 views
1

我使用下面的代碼來獲取內存使用情況。Android內存統計

double allocated = Debug.getNativeHeapAllocatedSize()/(double) 1048576; 
double available = Debug.getNativeHeapSize()/(double) 1048576.0; 
double free = new Double(Debug.getNativeHeapFreeSize())/(double) 1048576.0; 

我也得到了以下日誌:

07-15 12:59:11.149: DEBUG/NKHeap(9363): debug.heap native: allocated 13,220MB of 16,059MB (0,108MB free) 

我的問題是免費的,加上分配加起來還不到總。 我錯過了一些基本的東西,還是我應該期待的精度?

回答

1

爲了讓內存使用情況你可以試試:

Debug.MemoryInfo memoryInfo = new Debug.MemoryInfo(); 
Debug.getMemoryInfo(memoryInfo); 

String memMessage = String.format("Memory: Pss=%.2f MB, 
Private=%.2f MB, Shared=%.2f MB", 
memoryInfo.getTotalPss()/1024.0, 
memoryInfo.getTotalPrivateDirty()/1024.0, 
memoryInfo.getTotalSharedDirty()/1024.0); 

你可以在這個博客here.

+0

閱讀更多關於它不過你寫的沒有我想要的細節代碼,鏈接清楚解釋爲什麼這很難實現。 – gmate