2010-10-11 10 views
1

Par exemple, il existe deux méthodes JNI différentes de l'objet MÊMELes mêmes paramètres des différents appels JNI ont-ils les mêmes valeurs?


class JavaObj{ 
    public native void methodA(); 
    public native void methodB(); 
} 

Les en-têtes JNI pour ces méthodes pourraient être


JNIEXPORT void JNICALL Java_JavaObj_methodA(JNIEnv * pEnv, jobject javaobj); 
JNIEXPORT void JNICALL Java_JavaObj_methodB(JNIEnv * pEnv, jobject javaobj); 

est-il donc raisonnable de supposer que les valeurs de pENV et javaobj sont les mêmes dans ces deux appels JNI séparés?

Répondre

1

Bien sûr que non. Le JNIEnv * peut changer à tout moment entre les appels JNI, et vous pouvez avoir plusieurs instances de votre classe.