我的本机方法有一个返回值的方法 byte[],所以我使用“NewByteArray”来分配 byte[],然后使用 return 返回 jbyteArray。我应该释放 jbyteArray 吗?以及如何释放jbyteArray?谢谢你。我是Java初学者,我的英语很差。
1474 次
1 回答
4
您不想在本机方法中释放字节数组,因为本机方法的调用者希望在 Java 中使用该数组。
鉴于您没有对创建的数组进行全局引用:
然后垃圾收集器可以在正确的时间删除数组对象,因为一旦方法返回,本地方法对数组的本地引用将被删除。
下面是这样一个本机方法的示例:如何将数组从 JNI 返回到 Java?
于 2017-01-28T12:37:39.600 回答