为什么在某些手机上,usedMemory会增加100倍?

问题描述

我使用共享的here代码,在8部不同的手机(物理和Android Studio模拟器)上的同一位置检查了usedMemory。这一点是在第一个布局加载之后。这是一个头像选择屏幕,其中显示了12张图像。

usedMemory定义为Runtime.getRuntime()。totalMemory()-Runtime.getRuntime()。freeMemory()。

由于某种原因,usedMemory在四部手机的内存范围在0-2 MB之间,而第三部手机的内存为52 MB,另外两部手机的内存为107-109 MB,最后一部手机的内存为345 MB。产生此结果范围的可能候选者是什么?这是带有其他似乎相关的值的表...

8-Phone usedMemory Comparison

当前,我仅通过按百分比准则定义元素大小来为所有密度使用一种布局(对于layout_width / height,则为0dp),并且在可绘制中,所有密度只有一个图像(而不是在单独的密度文件夹中具有正确尺寸的图像) )。我知道这不是最佳做法,因此我需要解决这个问题。我已经开始解决此问题,并且正在从可绘制的图像中删除图像,并将调整大小后的图像放置在可绘制的ldpi,可绘制的mdpi等中。这样做时,所有电话在我正在测量的点上都显示出较少的usedMemory,但是在某些手机之间,usedMemory仍然相差100倍。可能是什么原因造成的?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)