Android版本是否有最小的堆大小?
许多帖子都讨论过Android堆大小,到目前为止,我发现关于最大堆大小的唯一常见事情是它至少有16MB,但这是API 3以来的限制。为了使用更多的内存,人们会建议使用NDK或超出“正常”Android开发的任何内容。
是否有任何Android设备版本需要设备具有更大的堆大小,以便我可以开始假设更大的堆内存,并且不再在内存上如此便宜?
是否还有关于清单内部大堆(来自API 11 - 蜂窝)的标志的要求,还是该设备甚至可能忽略它的模糊要求?
只是在过去的几年中,Android硬件已经有了很大的改进,但即使设备现在拥有超过1GB的内存,我们仍然需要在内存上如此便宜。 奇怪的是,我们无法从操作系统要求我们获得特定数量的堆大小,并承诺我们不会再使用这种堆。
好的,我终于找到了答案(感谢这篇文章):
所有版本的Android(包括5)的最小值为16MB。
每个android版本的需求可以在这里阅读:
http://source.android.com/compatibility/downloads.html
您可以通过打开CDD文件并搜索“运行时兼容性”(或适用于旧版本的“虚拟机兼容性”)来了解它们。 同样,您可以通过搜索“内存和存储”来找到最低内存要求,但我认为这只是系统本身的要求。
因此,例如,在4.0.3-5上,最小堆大小是:
我找不到版本3.x的最小堆大小,但它可能与4.0.3相同。
对于2.1 - 2.3,最小堆大小为:
屏幕分类为中密度或低密度的设备实现必须配置Dalvik为每个应用程序分配至少16MB的内存。 屏幕分类为高密度或超高密度的设备实现必须配置Dalvik为每个应用程序分配至少24MB的内存。 请注意,设备实现可以分配比这些数字更多的内存。
含义:
我无法找到版本1.6的最小堆大小,但它可能与2.1相同。
此外,我无法找出大堆标志为每个Android版本(从3.0开始)应该做什么。
链接地址: http://www.djcxy.com/p/60621.html上一篇: Is there a minimal heap size for Android versions?
下一篇: How to read data when some numbers contain commas as thousand separator?