Java オブジェクトのメソッドを呼び出す必要があるネイティブ スレッド (JVM に接続されていない) で構成される Android アプリケーションがあります。
私がこれを行うつもりだった方法は、関連する Java オブジェクトから呼び出す JNI 関数を作成することでした。これにより、必要な Java オブジェクト メソッド ID、JNIEnv、およびオブジェクト参照を静的なネイティブ データ構造で取得してキャッシュできるようになりました。私のネイティブ スレッドは、必要なメソッドに (安全にスレッド化して) アクセスできます (例: (*env)->CallVoidMethod(env, this, JavaMethodID, ...) などを使用)。
JNIEnv ポインターはスレッド間で共有できず、JVM に接続されているスレッドのみがこの種のことを実行できることを読んだので、このアプローチがうまくいくとは確信していません...
これは実行可能なアプローチですか?