好的,我终于找到了答案(感谢这篇文章):
所有 android 版本(包括 5 个)的最低限度是 16MB。
每个 android 版本的要求可以在这里阅读:
http://source.android.com/compatibility/downloads.html
您可以通过打开 CDD 文件并搜索“运行时兼容性”(或旧版本的“虚拟机兼容性”)来了解它们。此外,您可以通过搜索“内存和存储”找到最低 RAM 要求,但我认为这只是系统本身的要求。
因此,例如,在 4.0.3 - 5 上,最小堆大小为:
- 16MB:使用 ldpi/mdpi 的小/正常,或使用 ldpi 的大
- 32MB:使用 tvhdpi/hdpi 的小/正常,或使用 mdpi 的大
- 64MB:使用 xhdpi 的小/正常,或使用 tvdpi/hdpi 的大,或使用 mdpi 的 xlarge。
- 96MB:400dpi 的小/正常,或 tvhdpi/hdpi 的 xlarge
- 128MB:使用 xxhdpi 的小/正常,或使用 xhdpi 的大
- 192MB:560dpi 的小/正常,400dpi 的大,或 xhdpi 的 xlarge。
- 256MB:使用 xxxhdpi 的小/正常,或使用 xxhdpi 的大
- 288MB:400dpi 的 xlarge
- 384MB:560dpi 的大,或 xxhdpi 的 xlarge
- 512MB:大,带有 xxxhdpi
- 576MB:560dpi 的 xlarge
- 768MB:带有 xxxhdpi 的 xlarge
我找不到版本 3.x 的最小堆大小,但它可能与 4.0.3 相同。
对于 2.1 - 2.3 ,最小堆大小为:
屏幕分类为中密度或低密度的设备实现必须配置 Dalvik 为每个应用程序分配至少 16MB 的内存。屏幕分类为高密度或超高密度的设备实现必须配置 Dalvik 为每个应用程序分配至少 24MB 的内存。请注意,设备实现可能分配比这些数字更多的内存。
意义:
- 中等屏幕或 ldpi - 16MB
- hdpi 或 xhdpi - 24MB
我找不到版本 1.6 的最小堆大小,但它可能与 2.1 相同。
另外,我不知道大堆标志应该为每个 android 版本(自 3.0 起)做什么。