From: "Enrico Weigelt, metux IT consult" <enrico.weig...@gr13.net>
--- .../freecol/common/resources/ResourceManager.java | 28 ++++++++++------------ .../freecol/common/resources/ResourceMapping.java | 10 ++++++++ 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/src/net/sf/freecol/common/resources/ResourceManager.java b/src/net/sf/freecol/common/resources/ResourceManager.java index 00638a5ba70..97939d5e414 100644 --- a/src/net/sf/freecol/common/resources/ResourceManager.java +++ b/src/net/sf/freecol/common/resources/ResourceManager.java @@ -123,22 +123,18 @@ public class ResourceManager { * Clean up easily replaced modified copies in caches. */ public static synchronized void clean() { - if (baseMapping != null) { - forEachMapEntry(baseMapping.getImageResources(), - e -> e.getValue().clean()); - } - if (tcMapping != null) { - forEachMapEntry(tcMapping.getImageResources(), - e -> e.getValue().clean()); - } - if (scenarioMapping != null) { - forEachMapEntry(scenarioMapping.getImageResources(), - e -> e.getValue().clean()); - } - if (modMapping != null) { - forEachMapEntry(modMapping.getImageResources(), - e -> e.getValue().clean()); - } + if (baseMapping != null) + baseMapping.cleanImageResources(); + + if (tcMapping != null) + tcMapping.cleanImageResources(); + + if (scenarioMapping != null) + scenarioMapping.cleanImageResources(); + + if (modMapping != null) + modMapping.cleanImageResources(); + System.gc(); } diff --git a/src/net/sf/freecol/common/resources/ResourceMapping.java b/src/net/sf/freecol/common/resources/ResourceMapping.java index 8930c056784..d664d8f104b 100644 --- a/src/net/sf/freecol/common/resources/ResourceMapping.java +++ b/src/net/sf/freecol/common/resources/ResourceMapping.java @@ -320,4 +320,14 @@ public final class ResourceMapping { return transform(imageResources.keySet(), k -> k.startsWith(prefix), Function.identity(), Collectors.toSet()); } + + /** + * Clean out image resources + */ + public void cleanImageResources() { + for (ImageResource value : imageResources.values()) { + if (value != null) + value.clean(); + } + } } -- 2.11.0.rc0.7.gbe5a750 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Freecol-developers mailing list Freecol-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freecol-developers