adb shell dumpsys meminfo - Каков смысл каждой ячейки ее вывода?
Я смотрел на вывод, приведенный ниже для команды
adb shell dumpsys meminfo com.imangi.templerun
Однако я не могу понять это должным образом.
Кто-нибудь может помочь мне понять это?
1 ответ
Так как представленные столбцы и строки могут отличаться для разных версий dumpsys, я постараюсь дать общий обзор здесь...
Каждое приложение в Android запускается в отдельном процессе, который запускает экземпляр своей собственной виртуальной машины Dalvik.
- Строка Native Heap представляет память, используемую самим процессом (например, Native C mallocs).
- Dalvik Heap - это память, выделенная Dalvik VM (пример: переменные в вашем коде Java Android).
- Dalvik Other - это память, используемая для JIT и GC.
Android может делиться страницами памяти между несколькими процессами (представьте код общих структур). Чистая память - это та, которая не изменилась с тех пор, как она была выделена или загружена из хранилища (код вашего приложения). Грязная память - это пространство, используемое для вычислений. Android не имеет механизма подкачки, поэтому грязная память также является оперативной памятью, которая будет освобождена при выходе из приложения.
- Private Dirty - это неразделенная грязная память (думаю, вы это поняли).
- Private Clean - это неразделенная чистая память (и та).
- Размер пропорционального набораPSS. Это сложное измерение, при котором все частные страницы занимают 100% их размера, а общая память - "размер /(количество процессов совместно используется)". Таким образом, если вы суммируете все PSS для всех процессов, вы получите общее использование памяти.
- Поменялся грязно Не знаю. У меня есть вопрос по этому поводу: Что значит Android dumpsys meminfo "Swapped Dirty"?
Дополнительная информация: https://developer.android.com/tools/debugging/debugging-memory.html