1、JNI中也可以获取Java数组的Size:
env->GetArrayLength(jarray array);
2、普通的native方法中,产生的jni对象都是属于局部引用(local reference),在native方法中超出作用域就会自动析构,所以不用专门释放(只针对jni对象)。除非在C++中使用了static定义了全局引用。那需要用ReleaseGolbalRef来进行释放。
3、不管是返回数组或对象,只要将这个返回的对象构造出来并赋了想要的值并返回就行了,对该对象本身不要释放。其它的临时jni对象需要释放掉。
如果是返回数组,可以使用(*jniEnv)->ReleaseByteArrayElements(ByteArray arr, byte* array, jint mode); 来更新返回的数组的同时,释放本地的C++数组。(这里的mode要设为0,表示对java数组更新并释放C++数组)。
具体怎么做请你们自己调查下。
数组的操作可以参考这个贴子:
http://blog.csdn.net/jiangwei0910410003/article/details/17653803
分享到:
相关推荐
world 文档,描述了Android g1环境,C、Java、JNI调用(C调Java、Java调C)基本运算、方法调用、字符串连接的效率测试结果。
学习JNI编译时,缺少的jni.h和jni_md.h头文件,Java调用C和C++函数时的JNI使用区别: 注意:jni.h头文件中对于***.c & ***.cpp采用不同的定义
java,jni相关书籍资料,网上找的。
AIDL和JNI使用的小例子,文件为eclipse下的源码,配合我的博客可以查看如何使用aidl和jni
JNI资料大全JNI资料大全JNI资料大全JNI资料大全JNI资料大全JNI资料大全JNI资料大全JNI资料大全JNI资料大全
DELPHI开发JNI必备 jni.pas 包含文件 jni.pas JNI_MD.INC
jniDemo是一个jni小工程,意在学习在工程中引入jni。
Java jni调用c实例
通过JNI实现类似于气压表盘的效果,随着压力的大小表针会转动
本书介绍了JNI的设计思想,对这种思想的理解是使用JNI的各种特性的基础。 本书有一部分是JAVA2平台上面的JNI特征的规范说明。JNI程序员可以把这部分用作一个手册。JVM开发者在实现虚拟机的时候必须遵守这些规范。 ...
jni.h文件jni.h文件jni.h文件jni.h文件jni.h文件jni.h文件
JNI的两个头文件jni.h和jni_md.h,提供需要的人下载!!!!!
压缩包中包含JNI CHM文档,以及JNI编程规范和JNI的介绍相关pdf文档,希望可以帮到你们
在jni中操作arraylist对象,然后添加一个int型数据进去
从网上找的JNI编程指南,但是没有书签,为了方便自己看就添加了书签。JNI 是 JAVA 平台的一个重要特征, 使用它我们可以至用以前用 C/C++写的大量代码。本书 既是一个编程指南也是一个 JNI 手册。本书共包括三部分...
可在jni层返回应用层一个对象数组,包括字符串、整数、小数的成员变量
学习JNI编译时,缺少的jni.h和jni_md.h头文件
jni详解 JNI设计实践之路 JNI技术手册 Java_JNI_编程进阶 android_jni操作指南
JNI 静态注册 so 和 IDA 导入的 JNI.h 文件
Android的NDK与JNI雕龙小技.pdf