当前位置: 动力学知识库 > 问答 > 编程问答 >

java - JNI Application State

问题描述:

How is state kept when accessing methods through JNI? In the example below my Java code is calling the native method drawFromJni, will my native class _nc be persisted between calls?

If there were better native debugging tools for the NDK this would be pretty easy to find out, but I'm really having problems with the NDK and 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();

}

网友答案:

The implementation of JNI functions follows the scoping rules for the language you're implementing in. If you declare _nc as a global variable (as you've done in your example), it will be shared throughout the entire application.

分享给朋友:
您可能感兴趣的文章:
随机阅读: