为什么我的Android应用程序的最大RAM限制为64 MB?

时间:2012-09-20 22:25:43

标签: android crash virtual-machine max ram

我正在开发一个Android应用程序,它有很多使用大量内存的位图。我的问题是,当我让我的应用程序运行很长时间并且ram使用率超过64 MB时,应用程序崩溃时出现“OUT-MEMORY ERROR,VM将不允许我们分配......等等。”

虽然其他应用程序(例如facebook)有时会达到200 MB RAM而没有任何崩溃且性能非常快。我的设备是Galaxy S II。

请注意我的问题不是减少内存使用量,而是关于我的应用和其他应用之间的内存限制差异。

感谢。

2 个答案:

答案 0 :(得分:1)

我认为应用程序可以使用的内存量有限制...过去是32MB ...可能有一个权限,您可以更改以请求更多内存,就像您可以使用的那样请求硬件加速。从快速谷歌android:largeHeap =“true”可能是你的答案...还Runtime.getRuntime()。maxMemory();可能有帮助? This link也很有意思......

答案 1 :(得分:0)

vm为每个应用程序保留的内存量不是Android生态系统的一部分,无法确定,它是制造商给出的配置的一部分。

通常关于每个vm的内存大小的最后一个词由文件build.prop给出。

如果您不知道自己在做什么,请不要使用NDK技巧。