我想用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到多少?),还是有另一个要编辑的文件或要设置的参数?
答案 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”请求使用更多,但你可能不会获得比正常更多的堆大小,因为它只是一个请求。
另外,您可以使用本机内存,因此实际上绕过了堆大小限制。
这里有一些关于它的帖子:
这是我为它制作的图书馆: