我的native方法有一个带byte []返回值的方法,所以我使用“NewByteArray”来分配byte [],然后使用return返回jbyteArray。 我应该释放jbyteArray吗?以及如何发布jbyteArray? 谢谢。我是Java初学者,我的英语很差。
答案 0 :(得分:2)
您不希望在本机方法中释放字节数组,因为本机方法的调用者希望在Java中使用该数组。
鉴于您没有对创建的数组进行全局引用:
垃圾收集器可以在适当的时候注意删除数组对象,因为一旦方法返回,本机方法对数组的本地引用将被删除。
以下是此类原生方法的示例:How to return an array from JNI to Java?