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相关推荐

  1. 海康摄像头视频调用出错,Jni Error(app bug): accessed stale local reference解决办法

    项目中要在Android手机中调用海康摄像头拍摄的画面,在公司网管配置好了网络地址(不要与其他局域网内地址冲突)和端口,并激活摄像头设备后,通过SADPTool(海康提供的摄像头搜索工具)可以自动检索 ...

  2. JNI Local Reference Changes in ICS

    转:http://android-developers.blogspot.com/2011/11/jni-local-reference-changes-in-ics.html JNI Local R ...

  3. Android studio 使用NDK工具实现JNI编程

    前言: Android开发中常常会使用到第三方的.so库.在使用.so库的时候就要用到JNI编程.JNI是Java Native Interface的缩写.它提供了若干的API实现了Java和其它语言 ...

  4. 【Android】Eclipse自动编译NDK/JNI的三种方法

    [Android]Eclipse自动编译NDK/JNI的三种方法 SkySeraph Sep. 18th  2014 Email:skyseraph00@163.com 更多精彩请直接访问SkySer ...

  5. Android之SDK、NDK、JNI和so文件

    Android之SDK.NDK.JNI和so文件 1.     SDK Android SDK(AndroidSoftware Development Kit),即Android软件开发工具包,And ...

  6. Android 4.4.2 动态添加JNI库方法记录 (一 JNI库层)

    欢迎转载,务必注明出处.http://blog.csdn.net/wang_shuai_ww/article/details/44456755 本篇是继<s5p4418 Android 4.4. ...

  7. Android Studio Chipmunk | 2021.2.1 JNI

    Android studio版本 新建Native C++项目 取名为JniDemo C++ Standard 选择Default 修改app/buidl.gradle文件,选择仅支持arm64-v8 ...

  8. 使用Android Studio 3.2编译android-serialport-api JNI

    使用Android Studio 3.2编译android-serialport-api JNI 1.配置编译环境,安装NDK, LLDB, CMake: 2.配置编译JNI代码: 2.1.参考网上的 ...

  9. 基于 Android NDK 的学习之旅-----JNI 数据类型

    经典老套流程,学编程语言东西,先学它最基础的数据类型,JNI也是如此.JNI 定义了一系列基本数据类型和引用数据类型与java想对应. 1.基本数据类型 下面一张表是描述了 Java 基本数据类型和J ...

最新文章

  1. Dubbo中的连接控制,你真的理解吗?
  2. Nginx面试三连问:Nginx如何工作?负载均衡策略有哪些?如何限流?
  3. 有效使用计算机操作系统,有效地使用计算机操作系统.doc
  4. 大数据分析,利用向外扩展技术深入挖掘商业价值
  5. SM2算法第十八篇:SM2毕设论文
  6. 刨根究底字符编码之—UTF-16编码方式
  7. 《千与千寻》告诉产品经理什么?
  8. matlab figure 虚线圆,flutter 画圆,虚线圆,渐变圆
  9. 苹果电脑怎么删除移动硬盘里的文件,苹果电脑无法删除移动硬盘文件
  10. 怎样重启Gunicorn
  11. 高性能webdav服务器,webdav服务器
  12. c语言快速复数的比较大小,c语言中的复数操作
  13. [转]《101个爱情故事》
  14. js中数组方法不会影响原数组的方法
  15. 算法精解(三):C语言描述(链表常见问题)
  16. 火狐网页对话框_默认情况下,在Firefox中展开“添加书签”对话框
  17. RedHat 8 时间同步和时区修改
  18. SAP FICO资产更改成本中心报错利润中心不唯一 , 消息编号 AIST009,实现资产跨利润中心调拨自动记账
  19. 那些央视没爆光的信息泄露内鬼
  20. python——台阶题

热门文章

  1. css word-wrap_CSS中分词“ break-all”和“ break-word”的值之间的差异
  2. python打印多个变量_在Python中打印多个变量
  3. JupyterHub on Kubernetes-Helm安装
  4. 浅谈asio中async_accept函数占用内存高的写法
  5. JQuery Datatables —— 自定义导出列
  6. flink实时流遇到的问题排查——部分数据未落库redis问题
  7. anaconda中tensorflow-estimator版本应与tensorflow-gpu版本相同
  8. 进入虚拟化服务器,服务器虚拟化即将进入3.0时代
  9. telnet服务下载 Linux,linux telnet服务安装包
  10. php http_user_agent 微信浏览器改变为其他浏览器,微信内置浏览器HTTP_USER_AGENT