2

通过 JNI 访问方法时如何保持状态?在下面的示例中,我的 Java 代码正在调用本机方法 drawFromJni,我的本机类 _nc 会在调用之间保持不变吗?

如果 NDK 有更好的本机调试工具,这将很容易找到,但我确实遇到了 NDK 和 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();
}
4

1 回答 1

1

JNI 函数的实现遵循您正在实现的语言的范围规则。如果您将 _nc 声明为全局变量(如您在示例中所做的那样),它将在整个应用程序中共享。

于 2010-02-19T17:25:17.647 回答