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