android 内存泄露之jni local reference table overflow (max=512)
2015-08-03 17:59
465 查看
android 内存泄露之jni local reference table overflow (max=512)
出现这个问题需要注意的是,要释放所有调用Java的地方
所返回的对象都需要释放
重要一点minfo.classID也需要释放,因为它们所生成的都是local Ref
如果不释放调用的对了便会导致程序直接崩溃
参考文章
出现这个问题需要注意的是,要释放所有调用Java的地方
CallObjectMethod GetStringUTFChars CallStaticObjectMethod
所返回的对象都需要释放
GetStringUTFChars的释放如下 jstring jstr = (jstring)minfo.env->CallObjectMethod(jobj, minfo.methodID); const char *str = minfo.env->GetStringUTFChars(jstr, false); path = std::string(str) + fileName; minfo.env->ReleaseStringUTFChars(jstr,str); minfo.env->DeleteLocalRef(jstr); CallObjectMethod和CallStaticObjectMethod 释放如下minfo.env->DeleteLocalRef(jstr);
重要一点minfo.classID也需要释放,因为它们所生成的都是local Ref
minfo.env->DeleteLocalRef(minfo.classID);
如果不释放调用的对了便会导致程序直接崩溃
参考文章
相关文章推荐
- android退出机制方法
- android 状态栏颜色的改变
- Android:Layout_weight的深刻理解
- InteIlij idea/Android studio 使用记录
- Android ANR-Broadcast Timeout
- 快速Android开发系列通信篇之EventBus
- android与javascript的交互
- 在Android 中实现多参数文件和数据上传
- 关于Android原生Email的自己的一些认识
- Android ANR-Keydispatch timeout
- Using Password-based Encryption on Android
- Android基础--Java1234
- 【Android】ADB常用指令与logcat日志(转)
- android自定义控件(一) 官方文档的翻译
- android:persistentDrawingCache含义
- Android ANR-ContentProvider
- 【Android应用开发技术:用户界面】章节列表
- 推荐4个Android引导页控件
- Android线程池的使用
- android java.net.UnknownHostException: Unable to resolve host "...": No address associated