关于JNI函数的返回值是否会造成内存泄漏的问题???

zxhutu 2005-05-20 10:36:33
请教熟悉JNI调用的高手,我有这样一个问题:
用JNI调用c++的函数返回一个jstring型的字符串的时候,因为这个串是以后使用的,所以不能在c++函数里使用env->ReleaseStringChars释放掉资源,这样的话会不会造成内存的泄漏,java的虚拟机会自动释放这个资源么,比如下边的这段程序:

JNIEXPORT jstring JNICALL Java_hello
(JNIEnv *env, jclass obj)
{
jstring jsRtn = NULL;
....
jsRtn = (env)->NewString("hello",...,..);//一般使用完时要释放掉的
return jsRtn;//这里将jstring return 了
}
...全文
171 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
煜知搬砖者 2005-05-24
  • 打赏
  • 举报
回复
这个不用担心,JNI调用后都变成了Java对象,有垃圾回收,关键是你的C++方法里面不要泄漏资源就可以了
jihanzhong 2005-05-24
  • 打赏
  • 举报
回复
学习~
zxhutu 2005-05-24
  • 打赏
  • 举报
回复
自己顶

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧