Android JNI 调用时缓存字段和方法ID
导读:本文共1716.5字符,通常情况下阅读需要6分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要:这期内容当中小编将会给大家带来有关Android JNI 调用时缓存字段和方法ID,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。使用时缓存使用时缓存,就是在调用时查找一次,然后将它缓存成 static 变量,这样下次调用时就已经被初始化过了。直到内存释放了,才会缓存失效。extern"C"JNIEXPORTvoidJNICALLJava_... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。使用时缓存
使用时缓存,就是在调用时查找一次,然后将它缓存成 static 变量,这样下次调用时就已经被初始化过了。
直到内存释放了,才会缓存失效。
通过声明为 static 变量进行缓存。但这种缓存方式显然有弊端,当多个调用者同时调用时,就会出现缓存多次的情况,并且每次调用时都要检查是否缓存过了。
初始化时缓存
在初始化时缓存,就是在类加载时,进行缓存。当类被加载进内存时,会先调用类的静态代码块,所以可以在类的静态代码块中进行缓存。
比如:
在静态代码块中,可以将所需要的字段 id 或者方法 id 缓存成全局变量。
具体代码如下:
在 JNI 中直接将方法 id 缓存成全局变量了,这样再调用时,就不要再进行一次查找了,并且避免了多个线程同时调用会多次查找的情况。
本文:
Android JNI 调用时缓存字段和方法ID的详细内容,希望对您有所帮助,信息来源于网络。