Android JNI Attempt to remove non-JNI local reference, dumping thread
Attempt to remove non-JNI local reference, dumping thread
解决办法:
去除Jni代码
env->DeleteLocalRef(javaObject);
注意:是java层传递给jni层的对象不需用了DeleteLocalRef来进行对象删除,jni层创建的对象仍然需要保留代码。
这个是jni代码的问题,jni层创建的jobject使用完之后需要进行删除,否则会出现栈内存满而crash。
void Event::OnNavigate(const std::string &strurl)
{jstring jurl = str2jstring(m_jniEnv,strurl.c_str()); //jurl是JNI创建的jobject对象m_jniEnv->CallVoidMethod(javaEventObject,javaEvent_OnNavigateID, jurl);m_jniEnv->DeleteLocalRef(jurl);//对象用完之后需要删除
}
但java层传递给jni的对象不需要进行删除:
JNIEXPORT jboolean JNICALL Java_com_eagle_routine_ERoutinee_navigate(JNIEnv * env, jobject object,jstring url){std::string strUrl= JstringToCString(env, url);//url 是java层传递的jobject对象,使用完之后不用删除return routine->Navigate(strUrl);
}
android 8.0以下的系统会输出这样的日志,当然这个是给警告日志,也可以不用理会,但看着始终不爽。
Android JNI Attempt to remove non-JNI local reference, dumping thread相关推荐
- 海康摄像头视频调用出错,Jni Error(app bug): accessed stale local reference解决办法
项目中要在Android手机中调用海康摄像头拍摄的画面,在公司网管配置好了网络地址(不要与其他局域网内地址冲突)和端口,并激活摄像头设备后,通过SADPTool(海康提供的摄像头搜索工具)可以自动检索 ...
- JNI Local Reference Changes in ICS
转:http://android-developers.blogspot.com/2011/11/jni-local-reference-changes-in-ics.html JNI Local R ...
- Android studio 使用NDK工具实现JNI编程
前言: Android开发中常常会使用到第三方的.so库.在使用.so库的时候就要用到JNI编程.JNI是Java Native Interface的缩写.它提供了若干的API实现了Java和其它语言 ...
- 【Android】Eclipse自动编译NDK/JNI的三种方法
[Android]Eclipse自动编译NDK/JNI的三种方法 SkySeraph Sep. 18th 2014 Email:skyseraph00@163.com 更多精彩请直接访问SkySer ...
- Android之SDK、NDK、JNI和so文件
Android之SDK.NDK.JNI和so文件 1. SDK Android SDK(AndroidSoftware Development Kit),即Android软件开发工具包,And ...
- Android 4.4.2 动态添加JNI库方法记录 (一 JNI库层)
欢迎转载,务必注明出处.http://blog.csdn.net/wang_shuai_ww/article/details/44456755 本篇是继<s5p4418 Android 4.4. ...
- Android Studio Chipmunk | 2021.2.1 JNI
Android studio版本 新建Native C++项目 取名为JniDemo C++ Standard 选择Default 修改app/buidl.gradle文件,选择仅支持arm64-v8 ...
- 使用Android Studio 3.2编译android-serialport-api JNI
使用Android Studio 3.2编译android-serialport-api JNI 1.配置编译环境,安装NDK, LLDB, CMake: 2.配置编译JNI代码: 2.1.参考网上的 ...
- 基于 Android NDK 的学习之旅-----JNI 数据类型
经典老套流程,学编程语言东西,先学它最基础的数据类型,JNI也是如此.JNI 定义了一系列基本数据类型和引用数据类型与java想对应. 1.基本数据类型 下面一张表是描述了 Java 基本数据类型和J ...
最新文章
- Dubbo中的连接控制,你真的理解吗?
- Nginx面试三连问:Nginx如何工作?负载均衡策略有哪些?如何限流?
- 有效使用计算机操作系统,有效地使用计算机操作系统.doc
- 大数据分析,利用向外扩展技术深入挖掘商业价值
- SM2算法第十八篇:SM2毕设论文
- 刨根究底字符编码之—UTF-16编码方式
- 《千与千寻》告诉产品经理什么?
- matlab figure 虚线圆,flutter 画圆,虚线圆,渐变圆
- 苹果电脑怎么删除移动硬盘里的文件,苹果电脑无法删除移动硬盘文件
- 怎样重启Gunicorn
- 高性能webdav服务器,webdav服务器
- c语言快速复数的比较大小,c语言中的复数操作
- [转]《101个爱情故事》
- js中数组方法不会影响原数组的方法
- 算法精解(三):C语言描述(链表常见问题)
- 火狐网页对话框_默认情况下,在Firefox中展开“添加书签”对话框
- RedHat 8 时间同步和时区修改
- SAP FICO资产更改成本中心报错利润中心不唯一 , 消息编号 AIST009,实现资产跨利润中心调拨自动记账
- 那些央视没爆光的信息泄露内鬼
- python——台阶题
热门文章
- css word-wrap_CSS中分词“ break-all”和“ break-word”的值之间的差异
- python打印多个变量_在Python中打印多个变量
- JupyterHub on Kubernetes-Helm安装
- 浅谈asio中async_accept函数占用内存高的写法
- JQuery Datatables —— 自定义导出列
- flink实时流遇到的问题排查——部分数据未落库redis问题
- anaconda中tensorflow-estimator版本应与tensorflow-gpu版本相同
- 进入虚拟化服务器,服务器虚拟化即将进入3.0时代
- telnet服务下载 Linux,linux telnet服务安装包
- php http_user_agent 微信浏览器改变为其他浏览器,微信内置浏览器HTTP_USER_AGENT