![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JNI
文章平均质量分 72
赵彦军
android开发工程师、烧菜能手、暖男
展开
-
Android NDK学习笔记6:异常处理
JNI捕获异常如果 JNI 调用 java 代码,Java 代码发生发生异常,会发生什么情况举例:class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) find原创 2021-08-09 21:37:18 · 626 阅读 · 0 评论 -
Android NDK学习笔记5:引用类型管理
在 JNI 中,有三种引用类型全局引用局部引用弱引用局部引用在方法中定义的局部引用,可以不用手动释放,在程序运行结束后,会自动释放。但是有一种情况,比如在方法中有 for 循环,如果产生大量的局部引用,会占用大量内存。所以一种比较好的编程习惯就是,产生的局部变量,一旦不再使用,就手动释放一下。void DeleteLocalRef(jobject localRef)举例说明:extern "C"JNIEXPORT void JNICALLJava_com_example_myapp原创 2021-08-09 20:13:24 · 316 阅读 · 0 评论 -
Android NDK学习笔记4:JNI访问Java构造函数
JNI 访问 Java 的构造函数,有两种写法//第一种 env->NewObject(cls, init);//第二种方式一:NewObjectUtil.java 类public class Util { int age = 100; //这个方法 c 调用,创建对象 public Util() { Log.d("util-", "init"); }}在 Activity 中声明 getUtil 方法。如下:class原创 2021-08-03 14:01:23 · 1244 阅读 · 0 评论 -
Android NDK学习笔记3:JNI访问Java属性、方法
JNI 访问属性创建 Util.java 类/** * @author : zhaoyanjun * @time : 2021/7/29 * @desc : */public class Util { String usernName = "zhaoyanjun"; int age = 10; static float key = 2f; //修改类string属性 native void changeNameValue(); //修改类i原创 2021-07-29 19:55:28 · 555 阅读 · 0 评论 -
Android NDK学习笔记1:基础
什么是Android NDKNDK 官网:https://developer.android.google.cn/ndk/index.htmlAndroid NDK 是一个工具集,可让您使用 C 和 C++ 等语言以原生代码实现应用的各个部分。对于特定类型的应用,这可以帮助您重复使用以这些语言编写的代码库。下载NDK1、下载 NDK ,下载完成后,下载的目录在 android sdk 目录里面/Users/xmly/Library/Android/sdk/ndk除此之外,你还可以自由下载原创 2021-07-27 20:01:50 · 408 阅读 · 0 评论 -
Android NDK学习笔记2:数组
java数组和jni数组对应关系kotlinjniIntArrayjintArrayDoubleArrayjdoubleArrayLongArrayjlongArrayCharArrayjcharArrayShortArrayjshortArrayArrayjobjectArray //kotlin external fun arrayInt(array: IntArray): String external fun array原创 2021-07-27 21:15:43 · 392 阅读 · 3 评论