JNI Estado de aplicaciones
-
21-09-2019 - |
Pregunta
¿Cómo se mantiene el estado cuando se accede a través de métodos JNI? En el siguiente ejemplo el código Java es una llamada al método drawFromJni nativa, será mi clase nativa _NC ser persistente entre llamadas?
Si había herramientas de depuración mejor nativas para el NDK esto sería bastante fácil de encontrar, pero realmente estoy teniendo problemas con el NDK y 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();
}
Solución
La implementación de las funciones JNI sigue las reglas de alcance para el idioma que está implementando. Si se declara _NC como una variable global (como se ha hecho en su ejemplo), será compartida en toda la aplicación.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow