JNI -Anwendungszustand
-
21-09-2019 - |
Frage
Wie wird der Zustand beim Zugriff auf Methoden über JNI aufbewahrt? In dem folgenden Beispiel wird mein Java -Code die native Methode -Zeichnung aufgerufen, wird meine native Klasse _nc zwischen Anrufen bestehen?
Wenn es bessere native Debugging -Tools für das NDK gäbe, wäre dies ziemlich leicht zu finden, aber ich habe wirklich Probleme mit dem NDK und 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();
}
Lösung
Die Implementierung von JNI -Funktionen folgt den Scoping -Regeln für die Sprache, in der Sie implementieren. Wenn Sie _NC als globale Variable deklarieren (wie Sie in Ihrem Beispiel getan haben), wird sie während der gesamten Anwendung freigegeben.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow