これを Application クラスの on Create() の最初の行に入れます。
@Override
public void onCreate() {
Log.i("test", "application oncreate");
showMemoryStats();
super.onCreate();
}
showMemoryStats() の場所:
public static void showMemoryStats() {
double nativeUsage = Debug.getNativeHeapAllocatedSize();
Log.i("test", "nativeUsage: " + nativeUsage);
//current heap size
double heapSize = Runtime.getRuntime().totalMemory();
Log.i("test", "heapSize: " + heapSize);
//amount available in heap
double heapRemaining = Runtime.getRuntime().freeMemory();
Log.i("test", "heapRemaining: " + heapRemaining);
double memoryAvailable = Runtime.getRuntime().maxMemory() - (heapSize - heapRemaining) - nativeUsage;
Log.i("test", "memoryAvailable: " + memoryAvailable);
}
完全にアンインストールした後、アプリを起動します。私は得る:
07-03 17:39:05.212: 私/テスト (19016): ネイティブ使用法: 5649968.0
07-03 17:39:05.212: 私/テスト (19016): ヒープサイズ: 4710384.0
07-03 17:39:05.212: 私/テスト (19016): heapRemaining: 1705056.0
07-03 17:39:05.212: 私/テスト (19016): memoryAvailable: 2.4899136E7
これはネイティブ ヒープで既に 5 mb です。なぜですか? それは正常ですか?