7

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

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

4

4 回答 4

3

在清单文件中添加大堆

<application

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

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

</application>
于 2013-02-23T05:58:46.463 回答
2

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

-分区大小 128

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

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

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

或者:在 VM 选项中增加 AVD RAM 和最大 VM 应用程序堆大小:转到 Window-->AVD Manager-->Virtual Devices-->Edit。

于 2013-01-09T09:57:05.613 回答
1

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

VMRuntime.getRuntime().setMinimumHeapSize(4 * 1024 * 1024);
于 2013-02-23T05:38:45.473 回答
1

您不能动态增加堆大小。

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

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

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

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

于 2013-10-16T17:08:59.100 回答