JNI之缓存策略(局部缓存)

// 缓存策略
// 这里的static是局部静态变量,key_id对象在缓存中缓存一次。
extern "C"
JNIEXPORT void JNICALL
Java_com_shaoshuaima_test_JniForC_cached(JNIEnv * env, jobject jobj){
    jclass cls = env->GetObjectClass(jobj);
    // 获取jfieldID只获取一次
    // 局部的静态变量
    static jfieldID key_id = NULL;
    if (key_id == NULL){
        key_id = env->GetFieldID(cls,"key","Ljava/lang/String;");
        LOGD("%s\n","-------------GetFieldId------");
    }

}

版权声明:本文为mashaoshuai12原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。