Java/Kotlin コードを呼び出すためのベストプラクティス
C# スクリプトから Java/Kotlin コードを呼び出すためのベストプラクティスについて説明します。
読み終わるまでの所要時間 4 分最終更新 1日前
C# スクリプトから Java および Kotlin プラグインコードを呼び出して、アプリケーションのパフォーマンスを向上させるためのベストプラクティスを紹介します。
JNI 呼び出しの最小化
JNI (Java ネイティブインターフェース) を高レベルまたは低レベルの C# API で使用すると、リソースに負荷がかかり、処理に時間がかかる場合があります。パフォーマンスを向上させ、コードの明確さを保つには、JNI 呼び出しの数を少なく抑えることがベストプラクティスです。
不要な JNI 呼び出しを避けるため、高レベル C# API は、呼び出した各 Java メソッドの ID をキャッシュします。つまり、同じメソッドの後続の呼び出しは、最初のコールほどリソースに負荷をかけません。コールは、同じフレーム内にある必要はなく、同じ/ インスタンスから発信される必要もありません。低レベル API を使用してパフォーマンスを向上させる場合は、メソッド ID を手動でキャッシュする必要があります。そうでない場合は、高レベル API を使用するのがベスト プラクティスです。
AndroidJavaObjectAndroidJavaClassガベージコレクションの管理
AndroidJavaObjectAndroidJavaClassusingusing以下のコード例は、文を使用して最適な方法でシステム言語にアクセスする方法を示しています。
usingusing UnityEngine;public class LocaleExample :MonoBehaviour{ void Start() { using (AndroidJavaClass cls = new AndroidJavaClass("java.util.Locale")) using (AndroidJavaObject locale = cls.CallStatic<AndroidJavaObject>("getDefault")) { if (locale != null) { Debug.Log("current lang = " + locale.Call<string>("getDisplayLanguage")); } } }}
追加リソース
- コード例:C# スクリプトからの Java/Kotlin コードのコール
- Java/Kotlin および C# コードでサポートされるデータ型
- 例: Kotlin ソースプラグインの作成と使用