JNI état de l'application
-
21-09-2019 - |
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();
}
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