我是JNI的新手。我对jbyteArray和jbyte指针感到困惑。谁能告诉我jbyteArray和jbyte指针有什么区别?谢谢。

最佳答案

jbyteArraybyte[]类型的Java对象的句柄。 jbyte指针(即jbyte*)是本机C数据类型,它可以采用本机signed char[]数组的地址,但不映射到任何Java数据类型。
jbyteArray引用的对象是Java对象,因此像任何其他Java对象一样,我们无法手动取消分配它。一旦它变得遥不可及,它最终可能最终会被垃圾收集器释放。例如,在JNI中,可以使用NewGlobalRef()DeleteGlobalRef()分配和释放全局引用,因此如果调用前者,请确保调用后者。

10-06 06:41