Adb shell dumpsys meminfo – В чем смысл каждой ячейки его вывода?

Я смотрел вывод, приведенный ниже для команды

adb shell dumpsys meminfo com.imangi.templerun

Однако я не могу это правильно понять.

Может ли кто-нибудь помочь мне понять это?

Информация о памяти Temple Run

Поскольку представленные столбцы и строки могут отличаться для разных версий «dumpsys», я попытаюсь представить общий общий обзор здесь …

Каждое приложение в Android работает в разных процессах, на которых запущен экземпляр собственной виртуальной машины Dalvik.

  • Native Heap row представляет память, используемую самим процессом (Ex: Native C mallocs).
  • Dalvik Heap – это память, выделенная Dalvik VM (пример: переменные в вашем Java-коде Android).
  • Dalvik Other – это память, используемая для JIT и GC.

Android может обмениваться страницами памяти между несколькими процессами (Think code of common frameworks). Чистая память – это та, которая не изменилась, поскольку она была выделена или загружена из хранилища (код вашего приложения). Грязная память – это пространство, используемое для вычислений. У Android нет механизма обмена, поэтому Грязная память также является ОЗУ, которая будет освобождена при выходе приложения.

  • Private Dirty – это нераскрытая грязная память (предположите, что вы это поняли).
  • Частная чистка – это незащищенная чистая память (и это).
  • Пропорциональный размер PSS : это сложное измерение, когда все частные страницы вносят 100% своего размера, а общая память вносит свой вклад «размер / (количество разделяемых процессов)». Таким образом, если вы суммируете все PSS для всех процессов, вы получите общую память.
  • Поменялся Грязный Идея. У меня есть вопрос относительно этого: Android dumpsys meminfo «Swapped Dirty» coloumn смысл?

Дальнейшее чтение: https://developer.android.com/tools/debugging/debugging-memory.html