不再使用 OperatingSystemMXBean 中被弃用的方法 (#4459)

This commit is contained in:
Glavo
2025-09-12 18:46:08 +08:00
committed by GitHub
parent 228a1e4887
commit f41b008b42

View File

@@ -20,13 +20,11 @@ package org.jackhuang.hmcl.util.platform.hardware;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import java.lang.management.ManagementFactory; import java.lang.management.ManagementFactory;
import java.lang.management.OperatingSystemMXBean;
import java.util.List; import java.util.List;
/** /**
* @author Glavo * @author Glavo
*/ */
@SuppressWarnings("ALL")
public class HardwareDetector { public class HardwareDetector {
private static final boolean USE_FAST_FETCH = "true".equalsIgnoreCase(System.getProperty("hmcl.hardware.fastfetch", "true")); private static final boolean USE_FAST_FETCH = "true".equalsIgnoreCase(System.getProperty("hmcl.hardware.fastfetch", "true"));
@@ -40,9 +38,8 @@ public class HardwareDetector {
public long getTotalMemorySize() { public long getTotalMemorySize() {
try { try {
OperatingSystemMXBean bean = ManagementFactory.getOperatingSystemMXBean(); if (ManagementFactory.getOperatingSystemMXBean() instanceof com.sun.management.OperatingSystemMXBean bean) {
if (bean instanceof com.sun.management.OperatingSystemMXBean) { return bean.getTotalMemorySize();
return ((com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean()).getTotalPhysicalMemorySize();
} }
} catch (NoClassDefFoundError ignored) { } catch (NoClassDefFoundError ignored) {
} }
@@ -52,9 +49,8 @@ public class HardwareDetector {
public long getFreeMemorySize() { public long getFreeMemorySize() {
try { try {
OperatingSystemMXBean bean = ManagementFactory.getOperatingSystemMXBean(); if (ManagementFactory.getOperatingSystemMXBean() instanceof com.sun.management.OperatingSystemMXBean bean) {
if (bean instanceof com.sun.management.OperatingSystemMXBean) { return bean.getFreeMemorySize();
return ((com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean()).getFreePhysicalMemorySize();
} }
} catch (NoClassDefFoundError ignored) { } catch (NoClassDefFoundError ignored) {
} }