Skip to content

Commit b5a0b0c

Browse files
committed
perf(core): Skip java.specification.version lookup on Android
Android is never Java 9+, so the System.getProperty + Double.valueOf parse in the Platform static initializer is unnecessary overhead on the Android cold-start path. Short-circuit to isJavaNinePlus=false when isAndroid is true.
1 parent 81d2815 commit b5a0b0c

1 file changed

Lines changed: 13 additions & 8 deletions

File tree

sentry/src/main/java/io/sentry/util/Platform.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,21 @@ public final class Platform {
2020
isAndroid = false;
2121
}
2222

23-
try {
24-
final @Nullable String javaStringVersion = System.getProperty("java.specification.version");
25-
if (javaStringVersion != null) {
26-
final @NotNull double javaVersion = Double.valueOf(javaStringVersion);
27-
isJavaNinePlus = javaVersion >= 9.0;
28-
} else {
23+
if (isAndroid) {
24+
// Android is never Java 9+, skip the system property lookup + parse on the startup path.
25+
isJavaNinePlus = false;
26+
} else {
27+
try {
28+
final @Nullable String javaStringVersion = System.getProperty("java.specification.version");
29+
if (javaStringVersion != null) {
30+
final @NotNull double javaVersion = Double.valueOf(javaStringVersion);
31+
isJavaNinePlus = javaVersion >= 9.0;
32+
} else {
33+
isJavaNinePlus = false;
34+
}
35+
} catch (Throwable e) {
2936
isJavaNinePlus = false;
3037
}
31-
} catch (Throwable e) {
32-
isJavaNinePlus = false;
3338
}
3439
}
3540

0 commit comments

Comments
 (0)