2010-02-19 102 views
2

通過JNI訪問方法時狀態如何保持?在下面的例子中,我的Java代碼調用本地方法drawFromJni,我的本地類_nc是否會在調用之間保持不變?JNI應用程序狀態

如果有更好的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(); 
} 

回答

1

的JNI函數的實現如下爲正在實施的語言作用域規則。如果聲明_nc作爲一個全局變量(如你在你的例子做),這將在共享整個應用。