Eclipse Java堆空间

时间:2012-10-29 20:57:44

标签: java android eclipse

我正在尝试将qoppa pdf阅读器集成到我的Android应用程序

我确实喜欢这里描述的: http://www.qoppa.com/android/pdfsdk/guide/index.html - 将jar文件添加到我的项目的类路径中。 - 添加资产文件夹。 - 添加libs文件夹。

当我启动Eclipse时,一切正常,我可以在我的工作区中打开项目并继续实现。但是当将pdf项目作为新的Eclipse实例运行时,我收到此错误

    [2012-10-29 22:23:25 - com.test] Dx warning: Ignoring InnerClasses attribute for an anonymous inner class
(c.b.b.c.b.b.b.b.b.i$1) that doesn't come with an
associated EnclosingMethod attribute. This class was probably produced by a
compiler that did not target the modern .class file format. The recommended
solution is to recompile the class from source, using an up-to-date compiler
and without specifying any "-target" type options. The consequence of ignoring
this warning is that reflective operations on this class will incorrectly
indicate that it is *not* an inner class.
[2012-10-29 22:26:21 - Dex Loader] Unable to execute dex: Java heap space
[2012-10-29 22:26:23 - com.test] Conversion to Dalvik format failed: Unable to execute dex: Java heap space

我尝试清理我的项目,但仍然收到错误。

我在网上搜索,所以我发现我必须在eclipse.ini文件和Run Configuration中增加PermGen大小。 经过一些更改后,这是我的evlipse.ini:

-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
1024M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
1024m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms256m
-Xmx1024m

没用,我仍然得到错误。

可能是什么问题?

我认为这是因为qoppapdf.jar,jar的大小很大,超过4000000字节。 但它应该工作,因为有使用这个罐子的样品,我不知道为什么我的日食不能这样做

3 个答案:

答案 0 :(得分:4)

尝试以下方法:

-> Right click your project. 
-> Go to Properties 
-> Java Build Path 
-> Order and Export.
-> Uncheck the check box against your included library. 
-> Press OK and run the project.

在执行此操作时,Eclipse将仅从jar中获取代码中所需的类,而不是存储jar中的所有类。

答案 1 :(得分:3)

您需要增加运行配置的分配内存,而不是eclipse。 在VM参数字段下添加-Xms256m和-Xms1024m。

enter image description here

答案 2 :(得分:1)

将-Xms256m更改为-Xms1024m,它只给它256兆,java应用程序是内存密集型的,需要很多。