From 1ad8beb49eba8011b685331b289831b07ffa98c6 Mon Sep 17 00:00:00 2001 From: Glavo Date: Wed, 4 Aug 2021 12:54:50 +0800 Subject: [PATCH] insert explicit 'System.gc()' call --- .../java/org/jackhuang/hmcl/game/HMCLGameRepository.java | 3 +++ .../java/org/jackhuang/hmcl/ui/download/VersionsPage.java | 3 +++ .../org/jackhuang/hmcl/ui/versions/DatapackListPage.java | 7 ++++++- .../java/org/jackhuang/hmcl/ui/versions/ModListPage.java | 3 +++ .../java/org/jackhuang/hmcl/ui/versions/WorldListPage.java | 3 +++ 5 files changed, 18 insertions(+), 1 deletion(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLGameRepository.java b/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLGameRepository.java index d1a3c7962..44f3fceed 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLGameRepository.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLGameRepository.java @@ -106,6 +106,9 @@ public class HMCLGameRepository extends DefaultGameRepository { } catch (IOException ex) { Logging.LOG.log(Level.WARNING, "Unable to create launcher_profiles.json, Forge/LiteLoader installer will not work.", ex); } + + // https://github.com/huanghongxun/HMCL/issues/938 + System.gc(); } public void changeDirectory(File newDirectory) { diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/VersionsPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/VersionsPage.java index 2ff3a5d74..0a4defae7 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/VersionsPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/VersionsPage.java @@ -225,6 +225,9 @@ public final class VersionsPage extends BorderPane implements WizardPage, Refres root.setContent(failedPane, ContainerAnimations.FADE.getAnimationProducer()); }); } + + // https://github.com/huanghongxun/HMCL/issues/938 + System.gc(); }).executor().start(); } diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DatapackListPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DatapackListPage.java index e66b512d6..865db3c8c 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DatapackListPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DatapackListPage.java @@ -81,7 +81,12 @@ public class DatapackListPage extends ListPageBase setLoading(false)) + .withRunAsync(Schedulers.javafx(), () -> { + setLoading(false); + + // https://github.com/huanghongxun/HMCL/issues/938 + System.gc(); + }) .start(); } diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPage.java index 50b1f2c10..4d33ac1a1 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPage.java @@ -102,6 +102,9 @@ public final class ModListPage extends ListPageBase implements Versio itemsProperty().setAll(result.stream() .filter(world -> isShowAll() || world.getGameVersion() == null || world.getGameVersion().equals(gameVersion)) .map(WorldListItem::new).collect(Collectors.toList())); + + // https://github.com/huanghongxun/HMCL/issues/938 + System.gc(); }, Platform::runLater); }