1

我想跨调用缓存方法 ID。为此,我得到方法 ID:

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

我的问题是:我是否需要class_HelloWorld使用全局引用NewGlobalRef或方法 ID 可以从本地引用获取并保存(我class_HelloWorld使用FindClass)而不需要全局引用类元数据?

4

1 回答 1

4

如果您从中获取 methodID 的类没有更改,则可以重新使用 methodID。它不像 a jclassorjobject需要被缓存为 a GlobalRef:它实际上只是一个整数。

于 2013-10-11T01:02:51.870 回答