与我一起工作时,JNI我试图弄清楚,如果给定一个任意的jobject,是否可以确定它是 aLocalRef还是GlobalRef?
不幸的是,两者都NewLocalRef返回NewGlobalRef相同的jobject类型,即使两者都需要以不同的方式发布。
如果这是不可能的,至少可以假设所有jobjects 要么作为参数传递给直接从 Java 调用的本机函数,要么从 JNI 调用返回(其他NewGlobalRef)都是LocalRefs。
我找不到任何文档来确认该假设是有效的,尽管它似乎肯定是在 Oracle Java 和 Android 上。