java通过jni获取C++的数组需要释放内存么

java通过jni获取C++的数组需要释放内存么?因为数组是通过java传进去的,但是在c++中经过一次类型转换所以不知道需不需要在c++中重新释放内存

参考:

http://blog.csdn.net/jiangwei0910410003/article/details/17653803

数组要释放吗?从来没有听说过,只要动态申请的内存才需要释放的。

一般申请与释放的原则是:谁申请、谁释放,如果是 C 中申请的内存,需要在 C 中释放。

就是因为c需要手动释放内存,所以我是在java中创建好数组传进去,通过jbyte *m_temp = env->GetByteArrayElements(jarry,0); 转换的类型,我不知道在c中对数据进行更新后返回到java后,java还会不会自动回收内存,或者c是不是在转换过程中开辟了新的内存空间

这种需要c++封装好,它如果提供了分配的API,就要提供一个释放的API,这样java来调用就可以了,统一都在c++中实现

http://blog.csdn.net/lonelyroamer/article/details/7958407