布局xml上的Java堆空间错误:超出了GC开销限制

时间:2015-06-08 13:07:46

标签: android eclipse android-layout eclipse-plugin android-framework

当我使用android

中的任何布局xml时,我正在努力解决Java堆空间错误

我搜索SO但错误仍然存​​在。 我的错误日志

java.lang.OutOfMemoryError: GC overhead limit exceeded
    at java.util.Arrays.copyOf(Arrays.java:2367)
    at java.lang.String.<init>(String.java:168)
    at org.eclipse.wst.xml.core.internal.document.AttrImpl.getName(AttrImpl.java:158)
    at org.eclipse.wst.xml.core.internal.contentmodel.util.NamespaceAttributeVisitor.visitElement(NamespaceAttributeVisitor.java:73)
    at org.eclipse.wst.xml.core.internal.contentmodel.util.NamespaceTable.addElement(NamespaceTable.java:216)
    at org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.XMLAssociationProvider.getCMElementDeclaration(XMLAssociationProvider.java:334)
    at org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.XMLAssociationProvider.getCMElementDeclaration(XMLAssociationProvider.java:223)
    at org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.ModelQueryImpl.getCMElementDeclaration(ModelQueryImpl.java:116)
    at org.eclipse.wst.xml.core.internal.document.DocumentImpl.getCMAttributes(DocumentImpl.java:1077)
    at org.eclipse.wst.xml.core.internal.document.ElementImpl.getDefaultValue(ElementImpl.java:378)
    at org.eclipse.wst.xml.core.internal.document.ElementImpl.getAttributeNS(ElementImpl.java:336)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.LayoutMetadata.getProperty(LayoutMetadata.java:152)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.LayoutMetadata.getNodeBinding(LayoutMetadata.java:332)
    at com.android.ide.eclipse.adt.internal.editors.layout.ProjectCallback.getAdapterBinding(ProjectCallback.java:612)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.postInflateProcess(RenderSessionImpl.java:1237)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.postInflateProcess(RenderSessionImpl.java:1296)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.postInflateProcess(RenderSessionImpl.java:1296)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.postInflateProcess(RenderSessionImpl.java:1296)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.postInflateProcess(RenderSessionImpl.java:1296)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.postInflateProcess(RenderSessionImpl.java:1296)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.postInflateProcess(RenderSessionImpl.java:1296)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:411)
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:332)
    at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:349)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:519)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1584)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1309)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart$ReloadListener.reloadLayoutSwt(GraphicalEditorPart.java:1817)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart$ReloadListener.access$0(GraphicalEditorPart.java:1755)
    at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart$ReloadListener$1.run(GraphicalEditorPart.java:1749)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)


    eclipse conf properties

org.eclipse.platform     --launcher.XXMaxPermSize     1024米     --launcher.defaultAction     打开文件     --launcher.appendVmargs     -vmargs     -Dosgi.requiredJavaVersion = 1.7     -XX:MaxPermSize参数=1024米     -Xms512m     -Xmx2048m

2 个答案:

答案 0 :(得分:0)

这种错误通常是由于图像尺寸较大造成的。您是否尝试将android:largeHeap="true"放入AndroidManifest.xml文件中?试试这个,如果你还没有,并且你很可能会摆脱这个问题。

答案 1 :(得分:0)

只需重新启动IDE并停止其他应用程序。 这是经验,我经历了好几次。