2013-10-11 3 views
1

Я хочу, чтобы кешировать идентификаторы методов по вызовам. Для этого я получаю идентификатор метода:Ключ id id метода Java JNI

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

Мой вопрос: нужно ли мне сделать class_HelloWorld глобальный реф с NewGlobalRef или метод идентификаторов могут быть получены из местного исх и спаслись (я class_HelloWorld с помощью FindClass) без необходимости глобальное отражение метаданных класса?

ответ

4

Если класс, с которым вы получили methodID, не изменяется, вы можете повторно использовать methodID. Он не похож на jclass или jobject, который необходимо кэшировать как GlobalRef: это просто целое число.

Смежные вопросы