Intereting Posts
Запуск внешнего приложения из моего приложения Как скомпилировать и запустить приложение «Google Contacts» в Android Emulator Значение верхнего, восхождения, базовой линии, спускового механизма, дна и ведущего в Android FontMetrics Нужен пример HttpResponseCache в Android Активизация анимации движения Родительский код, вызывающий JS в Android webapps Как реализовать на значке клик-прослушиватель в IconPageIndicator Как создать девять патчей и использовать их в моем приложении? Проблема с ионной камерой Cordova с ios 10 Обои ImageView внутри пользовательского представления не отображаются на некоторых устройствах Плавающая точка или фиксированная точка для Android NDK OpenGL-приложений? Как удалить поле SECONDS из DateFormat Возможно ли сделать фон меню опций Android непрозрачным? Как обновить импортированные модули с модификацией кода из проекта их внешней библиотеки в Gradle / Android Studio Минимальный уровень API Android для запуска Google Maps Android API v2

Что такое EGL и GL mtrack в дампе памяти Android

В настоящее время я работаю над гибридным приложением, которое демонстрирует некоторые особенности использования памяти, которые я пытаюсь отлаживать. Как только приложение запускается, кажется, что он сразу использует около 250 МБ памяти, что кажется чрезмерно заданным, что все, что мы загрузили в этот момент, – это экран входа в систему. Я смотрел несколько инструментов профилирования памяти для Android (профайлер Xamarin и профилировщик Android, поставляемый вместе с SDK), но все они показывают относительно низкое использование кучи (~ 10-15 МБ, которое я пытаюсь спуститься ). Я запустил «adb shell dumpsys meminfo APPNAME -d» и получил следующую трассировку:

** MEMINFO in pid 24925 [APPNAME] ** Pss Private Private Swapped Heap Heap Heap Total Dirty Clean Dirty Size Alloc Free ------ ------ ------ ------ ------ ------ ------ Native Heap 19439 19396 0 0 28672 22915 5756 Dalvik Heap 15441 14992 0 0 37319 36837 482 Dalvik Other 542 368 0 0 Stack 432 432 0 0 Ashmem 17388 16508 880 0 Gfx dev 40538 34504 0 0 Other dev 4 0 4 0 .so mmap 6211 224 3080 0 .apk mmap 10531 0 10232 0 .ttf mmap 453 0 260 0 .dex mmap 1263 0 980 0 .oat mmap 635 0 152 0 .art mmap 707 516 24 0 Other mmap 452 4 52 0 EGL mtrack 63508 63508 0 0 GL mtrack 79116 79116 0 0 Unknown 21756 21756 0 0 TOTAL 278416 251324 15664 0 65991 59752 6238 

Я пытался понять, что это означает, используя документацию, предоставленную по адресу: https://developer.android.com/tools/debugging/debugging-memory.html , но эта страница, похоже, не содержит никакой информации о Крупнейшие виновники: Gfx dev, EGL mtrack, GL mtrack и Unknown. Есть ли какая-то документация о том, что представляют собой эти категории или почему они будут расти настолько большими?

благодаря

Solutions Collecting From Web of "Что такое EGL и GL mtrack в дампе памяти Android"

EGL и GL показывают здесь память, потребляемую графическим слоем в основном. Я уверен, что вы используете команду «adb shell dumpsys meminfo» на устройстве lollipop для Android. Фактически dumpsys meminfo tool / command был изменен в леденец для вычисления и отображения графической памяти.

В старой версии (KitKat или старше) вы не можете найти информацию EGL и GL, хотя графика также потребляет память в KitKat или более старых версиях.

Это мы можем предложить Google обновить свою документацию, чтобы объяснить новые компоненты памяти. Короче говоря, вы можете сказать, что это ошибка в документации Android. Они должны обновить его в соответствии с последней версией инструмента / команды «adb shell dumpsys meminfo»

Ссылки: EGL – http://en.wikipedia.org/wiki/EGL_(API) GL – http://en.wikipedia.org/wiki/OpenGL

GL mtrack – это использование памяти GL с драйверами. Это прежде всего сумма размеров текстур GL, буферов команд GL, фиксированных глобальных накладных расходов RAM и т. Д.

EGL mtrack – использование памяти gralloc. Это прежде всего сумма SurfaceView / TextureView.