11 2017 档案

C/C++ byte 转 int 有符号数,转成Int 无符号数
摘要:有符号数,转成Int 无符号数 int addr = bytes[0] & 0xFF int addr = (uint8_t)bytes[0]; 阅读全文

posted @ 2017-11-20 18:11 kenny.wmh 阅读(2173) 评论(0) 推荐(0)

Android NDK开发篇:如何使用JNI中的global reference和local reference
摘要:JNI提供了一些实例和数组类型(jobject、jclass、jstring、jarray等)作为不透明的引用供本地代码使用。本地代码永远不会直接操作引用指向的VM内部的数据内容。要进行这些操作,必须通过使用JNI操作一个不引用来间接操作数据内容。因为只操作引用,你不必担心特定JVM中对象的存储方式 阅读全文

posted @ 2017-11-14 16:11 kenny.wmh 阅读(371) 评论(0) 推荐(0)

Android NDK开发篇:Java与原生代码通信(异常处理)
摘要:一、捕获异常 异常处理是Java中的功能,在Android中使用SDK进行开发的时候经常要用到。Android原生代码在执行过程中如果遇到错误,需要检测,并抛出异常给Java层。执行原生代码出现了问题,例如使用了空指针、内存泄漏,并且没有做相应的检测盒异常抛出,APP会马上闪退,没有任何提示。 JN 阅读全文

posted @ 2017-11-13 19:54 kenny.wmh 阅读(206) 评论(0) 推荐(0)

Android NDK开发篇:Java与原生代码通信(原生方法声明与定义与数据类型)
摘要:Java与原生代码通信涉及到原生方法声明与定义、数据类型、引用数据类型操作、NIO操作、访问域、异常处理、原生线程 1、原生方法声明与定义 关于原生方法的声明与定义在上一篇已经讲一点了,这次详细分析一下。根据javah自动生成的头文件,可以看出原生方法的声明和定义,例如: JNIEXPORT jst 阅读全文

posted @ 2017-11-13 19:35 kenny.wmh 阅读(142) 评论(0) 推荐(0)

Android NDK开发篇:Java与原生代码通信(数据操作)
摘要:虽然说使用NDK可以提高Android程序的执行效率,但是调用起来还是稍微有点麻烦。NDK可以直接使用Java的原生数据类型,而引用类型,因为Java的引用类型的实现在NDK被屏蔽了,所以在NDK使用Java的引用类型则要做相应的处理。 一、对引用数据类型的操作 虽然Java的引用类型的实现在NDK 阅读全文

posted @ 2017-11-13 16:12 kenny.wmh 阅读(274) 评论(0) 推荐(0)

DirectByteBuffer实现原理分析
摘要:1.创建DirectByteBuffer Direct ByteBuffer是通过JNI在Java虚拟机外的内存中分配了一块(所以即使在运行时通过-Xmx指定了Java虚拟机的最大堆内存,还是可能实例化超出该大小的Direct ByteBuffer),该内存块并不直接由Java虚拟机负责垃圾收集. 阅读全文

posted @ 2017-11-10 17:47 kenny.wmh 阅读(2858) 评论(0) 推荐(0)

导航