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

如何增加android虚拟设备的最大堆大小?,android,size,heap,emulation,Android,Size,Heap,Emulation,我想用Eclipse增加android虚拟设备映射堆的大小。我试图在Eclipse AVD管理器中将最大VM应用程序堆大小设置为128,但它不起作用,行Runtime.getRuntime().maxMemory()/(1024*1024)始终返回48。设备ram大小设置为512。选定的目标是Android 4.1.2(API级别16)。此外,我在清单文件中设置了android:largeHeap=“true” 最大堆大小是否有限制(128MiB是否太大?),或者是否有其他文件要编辑或参数要设置

我想用Eclipse增加android虚拟设备映射堆的大小。我试图在Eclipse AVD管理器中将最大VM应用程序堆大小设置为128,但它不起作用,行
Runtime.getRuntime().maxMemory()/(1024*1024)始终返回48。设备ram大小设置为512。选定的目标是Android 4.1.2(API级别16)。此外,我在清单文件中设置了
android:largeHeap=“true”


最大堆大小是否有限制(128MiB是否太大?),或者是否有其他文件要编辑或参数要设置?

要做到这一点,在Eclipse中,请转到“调试配置”。您可以在“调试”图标下的下拉列表中找到。选择“目标”,然后选择要启动的首选仿真器目标。然后在“其他emulator命令行选项”下添加以下内容:

-分区大小128

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

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

请看这里:

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

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

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

在清单文件中添加大堆

<application

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

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

</application>

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

不能动态增加堆大小

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

此外,还可以使用本机内存,因此实际上可以绕过堆大小限制

以下是我对此发表的一些帖子:

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


阅读此问题的答案我尝试在命令行选项中添加-partition size参数,但结果仍然相同:最大堆大小似乎是48 MiB。我已经设置了AVD选项,但是没有效果。好的,那么VM堆大小呢(我回答的最后一点。)嗯,奇怪。您确定读取最大内存时得到的值正确吗?
max VM application heap size
参数设置为128,而
设备ram size
设置为512。但是
Runtime.getRuntime().maxMemory()
仍然返回48个MiB。我使用
Log.v(“Utils”,“最大内存单位为MB:”+(Runtime.getRuntime().maxMemory()/(1024*1024))以获取最大内存。我猜它应该返回正确的值?您还可以设置vm的最小堆大小:java-Xms64m-Xmx256m HelloWorld