如何发布jbyteArray?

时间:2017-01-28 12:27:03

标签: java java-native-interface jnienv

我的native方法有一个带byte []返回值的方法,所以我使用“NewByteArray”来分配byte [],然后使用return返回jbyteArray。 我应该释放jbyteArray吗?以及如何发布jbyteArray? 谢谢。我是Java初学者,我的英语很差。

1 个答案:

答案 0 :(得分:2)

您不希望在本机方法中释放字节数组,因为本机方法的调用者希望在Java中使用该数组。

鉴于您没有对创建的数组进行全局引用:

垃圾收集器可以在适当的时候注意删除数组对象,因为一旦方法返回,本机方法对数组的本地引用将被删除。

以下是此类原生方法的示例:How to return an array from JNI to Java?