From 8f1bccd442643d040be65bd6626fc8e65359983e Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 12 Nov 2015 13:57:39 +0100 Subject: [PATCH] don't hold components after project/module is disposed to reduce memory usage if it's leaked --- .../openapi/components/impl/ComponentManagerImpl.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/platform/core-impl/src/com/intellij/openapi/components/impl/ComponentManagerImpl.java b/platform/core-impl/src/com/intellij/openapi/components/impl/ComponentManagerImpl.java index 04179e2f8bca..4c1e83531161 100644 --- a/platform/core-impl/src/com/intellij/openapi/components/impl/ComponentManagerImpl.java +++ b/platform/core-impl/src/com/intellij/openapi/components/impl/ComponentManagerImpl.java @@ -157,6 +157,7 @@ public abstract class ComponentManagerImpl extends UserDataHolderBase implements LOG.error(e); } } + myBaseComponents.clear(); myComponentConfigCount = -1; } @@ -313,6 +314,10 @@ public abstract class ComponentManagerImpl extends UserDataHolderBase implements } myPicoContainer = null; + //noinspection SynchronizeOnThis + synchronized (this) { + myNameToComponent.clear(); + } } @Override