diff --git a/src/Mono.Android/Android.Runtime/JNIEnvInit.cs b/src/Mono.Android/Android.Runtime/JNIEnvInit.cs index 71b370a3cee..65741304b35 100644 --- a/src/Mono.Android/Android.Runtime/JNIEnvInit.cs +++ b/src/Mono.Android/Android.Runtime/JNIEnvInit.cs @@ -139,7 +139,7 @@ internal static unsafe void Initialize (JnienvInitializeArgs* args) if (RuntimeFeature.IsMonoRuntime) { valueManager = new AndroidValueManager (); } else if (RuntimeFeature.IsCoreClrRuntime) { - valueManager = ManagedValueManager.GetOrCreateInstance (); + valueManager = ManagedValueManager.Instance; } else { throw new NotSupportedException ("Internal error: unknown runtime not supported"); } diff --git a/src/Mono.Android/Microsoft.Android.Runtime/ManagedValueManager.cs b/src/Mono.Android/Microsoft.Android.Runtime/ManagedValueManager.cs index a7c32941e51..27ceb09d019 100644 --- a/src/Mono.Android/Microsoft.Android.Runtime/ManagedValueManager.cs +++ b/src/Mono.Android/Microsoft.Android.Runtime/ManagedValueManager.cs @@ -30,7 +30,8 @@ class ManagedValueManager : JniRuntime.JniValueManager bool _disposed; static Lazy s_instance = new (() => new ManagedValueManager ()); - public static ManagedValueManager GetOrCreateInstance () => s_instance.Value; + + public static ManagedValueManager Instance => s_instance.Value; unsafe ManagedValueManager () { @@ -441,13 +442,13 @@ static unsafe void BridgeProcessingFinished (MarkCrossReferencesArgs* mcr) // Schedule cleanup of _registeredInstances on a thread pool thread. // The bridge thread must not take lock(_registeredInstances) — see deadlock notes. - Task.Run (GetOrCreateInstance ().CollectPeers); + Task.Run (Instance.CollectPeers); } static unsafe ReadOnlySpan ProcessCollectedContexts (MarkCrossReferencesArgs* mcr) { List handlesToFree = []; - ManagedValueManager instance = GetOrCreateInstance (); + ManagedValueManager instance = Instance; for (int i = 0; (nuint)i < mcr->ComponentCount; i++) { StronglyConnectedComponent component = mcr->Components [i];