如何增加android虚拟设备最大堆大小?

时间:2013-01-09 09:52:30

标签: android size heap emulation

我想用Eclipse增加android虚拟设备映射堆大小。我尝试在Eclipse AVD Manager中将Max VM应用程序堆大小设置为128,但它不起作用,无论设置堆大小,行Runtime.getRuntime().maxMemory()/(1024*1024);总是返回48。设备ram大小设置为512.所选目标是Android 4.1.2(API级别16)。此外,我在清单文件中设置了android:largeHeap="true"

最大堆大小是否有限制(128MiB到多少?),还是有另一个要编辑的文件或要设置的参数?

4 个答案:

答案 0 :(得分:3)

在清单文件中添加大堆

<application

        android:icon="@drawable/example"
        android:label="@string/app_name" 
        android:largeHeap="true">

      ......
      ......

</application>

答案 1 :(得分:2)

为此,在Eclipse中,转到“调试配置”。您可以在“调试”图标下的下拉列表中找到它。选择“目标”,然后选择要启动的首选模拟器目标。然后在“其他模拟器命令行选项”下添加:

-partition-size 128

然后关闭模拟器(并删除所有设备),然后单击调试图标,该图标将启动您选择的首选模拟器。这很重要:Eclipse需要启动调试器,而不是AVD。

请注意,大小(128)以兆字节为单位。

请看这里:http://viralpatel.net/blogs/jvm-java-increase-heap-size-setting-heap-size-jvm-heap/

或者:在VM选项中增加AVD RAM和最大VM应用程序堆大小: 转到窗口 - &gt; AVD管理器 - &gt;虚拟设备 - &gt;编辑。

答案 2 :(得分:1)

使用以下代码。我认为这会对你有所帮助:

VMRuntime.getRuntime().setMinimumHeapSize(4 * 1024 * 1024);

答案 3 :(得分:1)

您无法动态增加堆大小。

你可以在清单中使用android:largeHeap =“true”请求使用更多,但你可能不会获得比正常更多的堆大小,因为它只是一个请求。

另外,您可以使用本机内存,因此实​​际上绕过了堆大小限制。

这里有一些关于它的帖子:

这是我为它制作的图书馆: