and*_*per 7 android memory-management heap-size
很多帖子都谈到了Android堆大小,到目前为止我发现的最大堆大小的唯一常见的事情是它至少有16MB,但这是自API 3以来的限制.对于使用更多内存,人们会建议使用NDK或任何超出"正常"Android开发的东西.
是否有任何Android版本要求设备具有更大的堆大小,以便我可以开始假设更大的那个并停止在内存上如此便宜?
在清单中是否还要求大堆的标志(来自API 11 - 蜂窝),或者是一个模糊的请求,设备甚至可能忽略它?
多年来,Android硬件已经有了很大的改进,但我们仍然需要在内存上如此便宜,即使设备现在有超过1GB的内存.奇怪的是,我们不能要求操作系统为我们提供特定数量的堆大小,并承诺我们不会再使用它了.
and*_*per 10
好的,我终于找到了答案(感谢这篇文章):
所有Android版本(包括5个)的最小版本是16MB.
可以在这里阅读每个Android版本的要求:
http://source.android.com/compatibility/downloads.html
您可以通过打开CDD文件并搜索"运行时兼容性"(或旧版本的"虚拟机兼容性")来了解它们.此外,您可以通过搜索"内存和存储"找到最低RAM要求,但我认为这只是系统本身的要求.
所以,例如,在4.0.3 - 5上,最小堆大小是:
我找不到版本3.x的最小堆大小,但它可能与4.0.3相同.
对于2.1 - 2.3,最小堆大小是:
屏幕分类为中密度或低密度的设备实现必须配置Dalvik为每个应用程序分配至少16MB的内存.屏幕分类为高密度或超高密度的设备实现必须配置Dalvik为每个应用程序分配至少24MB的内存.请注意,设备实现可以分配比这些数字更多的内存.
含义:
我找不到版本1.6的最小堆大小,但它可能与2.1相同.
另外,我无法找出大堆标志应该为每个Android版本做什么(从3.0开始).
| 归档时间: |
|
| 查看次数: |
3466 次 |
| 最近记录: |