diqiucun01 2019-04-10 09:53
浏览 380

[jni]jstring内存释放问题

最近刚开始学习jni,在Win7-64上构建了一个简单的项目,jdk版本为1.8。java端代码如下:
packet Test;
public class JNITest{
static {
System.loadLibrary("JNITest");
}
public native static void test();
public static boid main(String[] args){
while(true){
test();
}
}
}
c++ vs2010工程方实现了native函数。其中仅包含两句代码,如下:
jstring str=env->NewStringUTF("GB2312");
env->DeleteLocalRef(str);
操作如下:
1.启动java程序后,通过任务管理器发现其内存迅速增长至700M左右后稳定
2.注释掉env->DeleteLocalRef(str);与步骤1情况无差别
3.把vs端两句代码都注释掉,内存稳定在12M左右
问题:通过NewStringUTF获取到的jstring该如何释放内存?网上查到的DeleteLocalRef似乎没有起到实际作用?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 cgictest.cgi文件无法访问
    • ¥20 删除和修改功能无法调用
    • ¥15 kafka topic 所有分副本数修改
    • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
    • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
    • ¥40 串口调试助手打开串口后,keil5的代码就停止了
    • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
    • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档
    • ¥50 C++五子棋AI程序编写
    • ¥30 求安卓设备利用一个typeC接口,同时实现向pc一边投屏一边上传数据的解决方案。