Java JNI方法id缓存

时间:2013-10-11 00:59:12

标签: java java-native-interface

我想在调用之间缓存方法ID。为此我得到方法ID:

// Put static to clarify it's saved across calls.
static jmethodID method = env->GetMethodID(class_HelloWorld, name, signature);

我的问题是:我是否需要使用class_HelloWorld制作NewGlobalRef全局参考号,或者可以从本地参考ID获取方法ID并保存(我使用{{1}获取class_HelloWorld })不需要全局引用类元数据吗?

1 个答案:

答案 0 :(得分:4)

如果您获得methodID的类没有更改,则可以重新使用methodID。它不像jclassjobject需要缓存为GlobalRef:它只是一个整数。