100mb布局的内存使用率是否正常?

Sou*_*ine 1 memory android

我有点担心我的应用程序的内存使用情况.对于以下场景,我创建了一个全新的项目.MainActivity只设置ContentView.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}
Run Code Online (Sandbox Code Playgroud)

所以...我有一个简单的登录布局 在此输入图像描述 在此输入图像描述

内存使用量接近100mb!? 在此输入图像描述

所有ImageView都不包含任何图像.它们只有一种静态颜色(即浅蓝色).

但是100mb的内存使用率是否正常?或者我错过了什么?谢谢你的时间和帮助!

小智 6

我认为这是正常的.它实际上并没有吃掉100MB的RAM.在AS3的新Android监视器上,数字与之前的AS2略有不同.在这里用户指南中,它写道:

与以前的Android Monitor工具的内存计数相比,新的Memory Profiler 会以不同的方式记录您的内存,因此您的内存使用现在看起来更高.Memory Profiler监视一些增加总数的额外类别,但是如果您只关心Java堆内存,那么"Java"编号应该类似于上一个工具的值.

尽管Java编号可能与您在Android Monitor中看到的完全匹配,但新编号会占用已分配给应用程序Java堆的所有物理内存页,因为它是从Zygote分叉的.因此,这可以准确表示您的应用实际使用的物理内存量.

目前,Memory Profiler还会在您的应用中显示一些实际属于性能分析工具的误报本机内存使用情况. 为~100k对象添加了高达10MB的内存.在未来版本的工具中,这些数字将从您的数据中过滤掉.

  • 感谢您的反馈意见!很高兴知道它的共同点. (2认同)