我的原生方法有一个带有 byte[] 返回值的方法,所以我使用“NewByteArray”来分配 byte[],然后使用 return 返回 jbyteArray。 我应该释放 jbyteArray 吗?以及如何释放jbyteArray? 谢谢。我是一个Java初学者,我的英语很差。
最佳答案
您不想在 native 方法中释放字节数组,因为 native 方法的调用者想要在 Java 中使用该数组。
假设您没有对创建的数组进行全局引用:
然后,垃圾收集器可以在正确的时间删除数组对象,因为一旦方法返回, native 方法保存的对数组的本地引用将被删除。
以下是此类 native 方法的示例:How to return an array from JNI to Java?
关于java - 如何释放jbyteArray?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41909772/