Question

Comment est l'état maintenu lors de l'accès par le biais des méthodes JNI? Dans l'exemple ci-dessous mon code Java appelle la méthode native drawFromJni, sera ma classe native _NC être persisté entre les appels?

S'il y avait de meilleurs outils de débogage natifs pour le NDK ce serait assez facile à trouver, mais je suis vraiment avoir des problèmes avec le NDK et C ++.

extern "C" {
 JNIEXPORT void JNICALL Java_com_jnitest_SurfaceRenderer_drawFromJni(JNIEnv * env, jobject obj);
};

myNativeClass _nc;
JNIEXPORT void JNICALL Java_com_jnitest_SurfaceRenderer_drawFromJni(JNIEnv *  env)
{
     _nc.draw();
}
Était-ce utile?

La solution

La mise en œuvre des fonctions JNI suit les règles de cadrage pour la langue que vous implémentez. Si vous déclarez _NC comme une variable globale (comme vous l'avez fait dans votre exemple), il sera partagé dans toute l'application.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top