在构建我的第一个Android应用程序时,我注意到应用程序启动时内存使用率已接近20MB。我下载了Eclipse MAT并查看了内容,以便在内存中找到数百个(如果不是数千个)位图。其中许多不直接用于我的项目(至少不是我所知道的那样)
最大图片为9MB: https://imagebin.ca/v/2eCK4JYLO2f2
其他人要小得多: https://imagebin.ca/v/2eCMmbFuIWsz
Android似乎已经竭尽全力通过使用zygote来减少内存...那么为什么内存中已经有这么多未使用的位图呢?
(基本项目是使用Android Studio的空白活动,片段由文本视图组成,简单地说" Hello World!")
答案 0 :(得分:0)
我发现位图来自Zygote的内存占用。由于所有基于java的应用程序都是通过zygote启动的,这意味着最小内存使用量由Zygote使用的内存大小决定,而Zygote依次是基于设备的显示密度。
答案发现:
Find the class that wastes memory
Locate & remedy cause of large heap size