1

jclassからジョブジェクトを取得する方法はあるのだろうか?JNIEnv 呼び出し GetObjectClass(object) から jclass を取得できますが、jclass から jobject を取得する場所が見つかりません。逆です。私の実装では、NewGlobalRef() 関数を使用して jclass インスタンスをキャッシュしますが、新しいスレッドでは MethodID を検索するために jobject が必要です。ジョブジェクトを取得する方法はありません。代わりにジョブジェクトをキャッシュすることになりました。

4

1 に答える 1

2

クラスとオブジェクトの間に 1 : 1 の関係がないため、逆マッピングを行うことはできません。jclassは型jobjectを表し、インスタンスを表します。

「インスタンスの型を特定する」という意味なのでjclass、 anからを取得することが可能です。jobjectしかし、逆の操作は関係ありません。特定のタイプのインスタンスが複数存在する場合もあれば、特定のクラスのインスタンスが存在しない場合もあります。

後で非静的メソッドを呼び出す必要がある場合は、への参照を覚えておく必要がありますjobject

于 2016-11-11T13:24:34.430 に答える