Статистика памяти Android

1

Я использую следующий код, чтобы получить использование памяти.

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)

Моя проблема заключается в том, что бесплатный плюс выделенные не суммируются с общей суммой. Я пропустил что-то основное, или это то, чего я должен ожидать?

Теги:
memory-management

1 ответ

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);

Вы можете узнать больше об этом в этом блоге .

  • 0
    Однако код, который вы написали, не содержит деталей, которые я хотел, ссылка ясно объясняет, почему этого довольно трудно достичь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню