¿Qué es EGL y GL mtrack en Android Memory Dump

Actualmente estoy trabajando en una aplicación híbrida que está exhibiendo algún uso peculiar de memoria que estoy tratando de depurar. Tan pronto como se inicia la aplicación, parece estar utilizando inmediatamente cerca de 250 MB de memoria, lo que parece excesivamente dado que todo lo que hemos cargado en ese punto es la pantalla de inicio de sesión. He estado buscando en algunas herramientas de perfil de memoria para Android (el perfilador de Xamarin y el perfilador de Android incluido con el SDK), pero todos muestran un uso relativamente bajo del montón (~ 10-15MB, que estoy tratando de bajar ). Corrí "adb shell dumpsys meminfo APPNAME -d 'y obtuvo el siguiente rastreo:

** 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 

He estado tratando de entender lo que esto significa mediante el uso de la documentación proporcionada en: https://developer.android.com/tools/debugging/debugging-memory.html , pero esa página no parece tener información sobre el Mayores culpables: Gfx dev, EGL mtrack, GL mtrack y Desconocido. ¿Hay alguna documentación sobre cuáles son estas categorías o por qué crecerían para ser tan grandes?

Gracias

EGL y GL muestra aquí la memoria consumida por la capa de gráficos básicamente. Estoy seguro de que está ejecutando el comando "adb shell dumpsys meminfo" en Android dispositivo lollipop. En realidad dumpsys meminfo herramienta / comando se ha modificado en lollipop para calcular y mostrar la memoria gráfica.

En la versión antigua (KitKat o superior) no se puede encontrar información EGL y GL, aunque los gráficos consumieron memoria en KitKat o versiones anteriores también.

Esto es lo que podemos solicitar a Google para actualizar su documentación para explicar nuevos componentes de memoria también. En resumen se puede decir que es un error en la documentación de Android. Deben actualizarlo según la última implementación de "adb shell dumpsys meminfo" tool / command

Referencias: EGL – http://en.wikipedia.org/wiki/EGL_(API) GL – http://en.wikipedia.org/wiki/OpenGL

GL mtrack es el uso de memoria GL registrado por el controlador. Se trata principalmente de la suma de los tamaños de textura GL, buffers de comandos GL, los overheads fijos del RAM del controlador global, etc.

EGL mtrack es el uso de memoria gralloc. Es principalmente la suma de SurfaceView / TextureView.

  • Android Expandible RecyclerView diferente Altura de la tarjeta
  • Xamarin Android Crash en Inicio "Got a SIGSEGV"
  • No se pudo iniciar la aplicación.
  • Instalar GooglePlayServices con NuGet me da un error de Install-Package
  • Cargar imagen de url a ImageView - C #
  • Error de implementación con la aplicación Android de Xamarin en Visual studio 2015
  • NDK no se encuentra en la ubicación especificada
  • Genymotion emulador de Android para Xamarin
  • ¿Cómo generar Xamarin vinculante para AAR con muchas dependencias?
  • Xamarin apk en Blackberry (> = 10.2.1)
  • Xamarin Android (Visual Studio 2015) No se pudo conectar con el depurador
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.