在AS的Profiler中观察应用的内存占用,发现Graphics与Code占用总是非常高,前者约50%以上,后者较稳定大概20%,以我应用的例子,Graph为80M,Code30M,总内存占用160左右。起初我认为是内存泄露的原因,但后来发现在启动页Graph就已经达到了60M,并且启动页只存在一个Facebook的登录按钮,所以可以排除。
我新建了一个空项目,只有一个Helloworld的Activity,打开后发现Graph竟然高达24M,所以非常不解,各位同行的内存统计是否计算这个Graph?
在官方文档(https://developer.android.com... )中提及:
与以前的 Android Monitor 工具中的内存计数相比,新的 Memory Profiler
以不同的方式记录您的内存,因此,您的内存使用量现在看上去可能会更高些。 Memory Profiler
监控的类别更多,这会增加总的内存使用量,但如果您仅关心 Java 堆内存,则“Java”项的数字应与以前工具中的数值相似。
到此,我越来越不解,内存的占用究竟计算的是哪些指标,系统有内存上限好像是256MB(参数貌似是从16M一直提升到现在的这个数值,具体不确定),这个256的上限是哪些指标之和?另外在手机设置界面的应用选项里可以查看到应用的内存占用,我的最高达到了400MB,与我在Profiler中观察的总占用相似,所以对内存这个概念更加迷糊。
我也在关注这个问题,也没有找到对应的具体说法。