JNI调用坑

Posted eaglelun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JNI调用坑相关的知识,希望对你有一定的参考价值。

1 自从targetSDKVersion 14,冰淇淋三明治,android 4.0之后,java对象的局部引用在native函数调用完成后会销毁,如果native层有对jobject进行持有,则需要调用一下env->NewGlobalReference()把jobject变成全局引用。但是要记住在某个时候DeleteGlobalReference,防止java部分内存泄漏。否则会出现错误:attempt to use stale local reference xxxxx, 参考文档:https://android-developers.googleblog.com/2011/11/jni-local-reference-changes-in-ics.html

以上是关于JNI调用坑的主要内容,如果未能解决你的问题,请参考以下文章

你应该了解的JNI知识——Java与JNI互相调用

在使用jni调用so库时出现的找不到文件是怎么回事?

Java本地调用(JNI)

在windows下 如何使用java jni调用so文件

Java程序通过JNI调用C++程序的方法

Android的JNI调用