我正在研究一个混合应用程序,它正在展现一些我正在尝试调试的特殊内存使用.一旦应用程序启动,它似乎立即使用接近250MB的内存,这似乎过分,因为我们在这一点上加载的是登录屏幕.我一直在看一些
Android的内存分析工具(Xamarin分析器和SDK附带的android分析器),但是它们都显示相对较低的堆使用量(约10-15MB,我试图下降).我运行了“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.有没有关于这些类别的原因或为什么他们会变得如此之大的文档?
谢谢