1

我修改了 eclipse.ini 来修复 java.lang.OutOfMemoryError。但问题仍然存在。这些是在 eclipse.ini 中设置的选项:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.200.v20120522-1813
-product
org.eclipse.epp.package.rcp.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
3000m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dhelp.lucene.tokenizer=standard
-XX:MaxPermSize=3000m
-Xms3000m
-Xmx3000m
-XX:PermSize=3000m 

这是我打开通用 Android 项目的任何文件时遇到的错误:

Exception in thread "org.eclipse.wst.sse.ui.internal.reconcile.StructuredRegionProcessor" java.lang.OutOfMemoryError: PermGen space
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClassHoldingLock(ClasspathManager.java:632)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:614)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:568)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:492)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:465)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
    at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:464)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)

注意:我在 Ubuntu 11.10 上使用 Eclipse junco,我正在尝试使用 ADT 插件开发一个 android 应用程序。

4

2 回答 2

1

我已经修复:我删除了我的 Eclipse“面向 RCP 和 RAP 开发人员的 Eclipse”,而改用了“面向 C/C++ 开发人员的 Eclipse IDE”。现在一切正常。谢谢大家的帮助!

于 2012-08-05T11:33:22.643 回答
-1

您可能想查看您的代码而不是 eclipse。也许其中有一个错误,导致它分配了太多的内存,或者它的编写效率不高。内存异常的可能原因是:

- 将大文件加载到 RAM 中

-无限循环创建对象或将数据附加到变量

- 在 RAM 中存储大量任何类型的数据

我希望这将帮助您更接近解决方案。

于 2012-08-04T19:13:19.247 回答