不仅手机制造商,而且任何创建Android OS版本的人都可以根据其设备的特定要求指定允许的最大堆大小。 一些Android根源,例如CyanogenMod,甚至允许用户自己选择堆大小作为设置。

您可以使用该方法检测允许的最大堆大小

Runtime.getRuntime().maxMemory();

有关此主题的更多信息,请参见此处。

如果您的应用程序通常需要超过16MB的堆,建议的方法是在清单中设置最低操作系统版本级别,以确保绝大多数下载您的应用程序的人至少具有您需要的数量,然后找到 一种降低功能的方法,可以根据需要降低堆需求,降低到16MB的基本级别,适用于少量通过筛子的最佳堆数的用户。

以下是一些数字,显示了手机RAM与操作系统版本的关联(基于当前,非原创,操作系统)。 我相信拥有至少1GB RAM的手机几乎总是有超过16MB的堆。 请注意,此处的百分比是针对支持指定内存的手机型号数量,而不是使用的手机总数,这可能与某些型号相差甚远。 这些数字是通过将输入插入下面的手机取景器(包括1500个Android手机型号)获得的,所以只有大概数字:[http://www.gsmarena.com/search.php3]

按当前操作系统版本(不是发布版本)的具有至少1GB RAM的手机型号的百分比:

Phones running Percent of models having at least 1GB of RAM Percentage of all models

4.4 and up 100 percent 1.5

4.3 and up 100 percent 2.9

4.2.x and up 74 percent 18.7

4.1.x and up 71 percent 37

4.0 and up 62 percent 60

2.3.x and up 57 percent 71

2.2 and up 44 percent 93

2.1 and up 44 percent 97

ALL OS VERSIONS: 41.5 percent 100

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐