1、JNI动态注册实例。
2、运行环境是Android studio。
3、动态注册是在JNi层实现的,JAVA层不需要关心,因为在system.load时就会去调用JNI_OnLoad,有就注册,没有就不注册。动态注册的原理:JNI 允许我们提供一个函数映射表,注册给 JVM,这样 JVM 就可以用函数映射表来调用相应的函数, 而不必通过函数名来查找相关函数(这个查找效率很低,函数名超级长)流程更加清晰可控,效率更高.。
2、运行环境是Android studio。
3、动态注册是在JNi层实现的,JAVA层不需要关心,因为在system.load时就会去调用JNI_OnLoad,有就注册,没有就不注册。动态注册的原理:JNI 允许我们提供一个函数映射表,注册给 JVM,这样 JVM 就可以用函数映射表来调用相应的函数, 而不必通过函数名来查找相关函数(这个查找效率很低,函数名超级长)流程更加清晰可控,效率更高.。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-12-31 09:57 dynamic_register_jni
文件 216 2019-12-30 18:47 dynamic_register_jni.gitignore
目录 0 2019-12-31 09:57 dynamic_register_jni.gradle
目录 0 2019-12-31 09:57 dynamic_register_jni.gradle5.1.1
目录 0 2019-12-31 09:57 dynamic_register_jni.gradle5.1.1executionHistory
文件 2056987 2019-12-31 09:39 dynamic_register_jni.gradle5.1.1executionHistoryexecutionHistory.bin
文件 17 2019-12-31 09:39 dynamic_register_jni.gradle5.1.1executionHistoryexecutionHistory.lock
目录 0 2019-12-31 09:57 dynamic_register_jni.gradle5.1.1fileChanges
文件 1 2019-12-31 09:39 dynamic_register_jni.gradle5.1.1fileChangeslast-build.bin
目录 0 2019-12-31 09:57 dynamic_register_jni.gradle5.1.1fileContent
文件 17 2019-12-31 09:39 dynamic_register_jni.gradle5.1.1fileContentfileContent.lock
目录 0 2019-12-31 09:57 dynamic_register_jni.gradle5.1.1fileHashes
文件 163533 2019-12-31 09:39 dynamic_register_jni.gradle5.1.1fileHashesfileHashes.bin
文件 17 2019-12-31 09:39 dynamic_register_jni.gradle5.1.1fileHashesfileHashes.lock
文件 18531 2019-12-30 18:55 dynamic_register_jni.gradle5.1.1fileHashes
esourceHashesCache.bin
文件 0 2019-12-30 18:47 dynamic_register_jni.gradle5.1.1gc.properties
目录 0 2019-12-31 09:57 dynamic_register_jni.gradle5.1.1javaCompile
文件 64530 2019-12-30 19:26 dynamic_register_jni.gradle5.1.1javaCompileclassAnalysis.bin
文件 17 2019-12-31 08:35 dynamic_register_jni.gradle5.1.1javaCompilejavaCompile.lock
文件 22983 2019-12-31 08:35 dynamic_register_jni.gradle5.1.1javaCompile askHistory.bin
目录 0 2019-12-31 09:57 dynamic_register_jni.gradle5.1.1vcsmetadata-1
目录 0 2019-12-31 09:57 dynamic_register_jni.gradleuildOutputCleanup
文件 17 2019-12-31 09:39 dynamic_register_jni.gradleuildOutputCleanupuildOutputCleanup.lock
文件 53 2019-12-30 18:47 dynamic_register_jni.gradleuildOutputCleanupcache.properties
文件 21665 2019-12-31 09:39 dynamic_register_jni.gradleuildOutputCleanupoutputFiles.bin
目录 0 2019-12-31 09:57 dynamic_register_jni.gradlevcs-1
文件 0 2019-12-30 18:47 dynamic_register_jni.gradlevcs-1gc.properties
目录 0 2019-12-31 09:57 dynamic_register_jni.idea
目录 0 2019-12-31 09:57 dynamic_register_jni.ideacaches
文件 598 2019-12-31 09:39 dynamic_register_jni.ideacachesuild_file_checksums.ser
文件 142391 2019-12-31 09:39 dynamic_register_jni.ideacachesgradle_models.ser
............此处省略2488个文件信息
/* AUTO-GENERATED FILE. DO NOT MODIFY.
*
* This class was automatically generated by the
* gradle plugin from the resource data it found. It
* should not be modified by hand.
*/
package android.arch.core;
public final class R {
private R() {}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-12-31 09:57 dynamic_register_jni
文件 216 2019-12-30 18:47 dynamic_register_jni.gitignore
目录 0 2019-12-31 09:57 dynamic_register_jni.gradle
目录 0 2019-12-31 09:57 dynamic_register_jni.gradle5.1.1
目录 0 2019-12-31 09:57 dynamic_register_jni.gradle5.1.1executionHistory
文件 2056987 2019-12-31 09:39 dynamic_register_jni.gradle5.1.1executionHistoryexecutionHistory.bin
文件 17 2019-12-31 09:39 dynamic_register_jni.gradle5.1.1executionHistoryexecutionHistory.lock
目录 0 2019-12-31 09:57 dynamic_register_jni.gradle5.1.1fileChanges
文件 1 2019-12-31 09:39 dynamic_register_jni.gradle5.1.1fileChangeslast-build.bin
目录 0 2019-12-31 09:57 dynamic_register_jni.gradle5.1.1fileContent
文件 17 2019-12-31 09:39 dynamic_register_jni.gradle5.1.1fileContentfileContent.lock
目录 0 2019-12-31 09:57 dynamic_register_jni.gradle5.1.1fileHashes
文件 163533 2019-12-31 09:39 dynamic_register_jni.gradle5.1.1fileHashesfileHashes.bin
文件 17 2019-12-31 09:39 dynamic_register_jni.gradle5.1.1fileHashesfileHashes.lock
文件 18531 2019-12-30 18:55 dynamic_register_jni.gradle5.1.1fileHashes
esourceHashesCache.bin
文件 0 2019-12-30 18:47 dynamic_register_jni.gradle5.1.1gc.properties
目录 0 2019-12-31 09:57 dynamic_register_jni.gradle5.1.1javaCompile
文件 64530 2019-12-30 19:26 dynamic_register_jni.gradle5.1.1javaCompileclassAnalysis.bin
文件 17 2019-12-31 08:35 dynamic_register_jni.gradle5.1.1javaCompilejavaCompile.lock
文件 22983 2019-12-31 08:35 dynamic_register_jni.gradle5.1.1javaCompile askHistory.bin
目录 0 2019-12-31 09:57 dynamic_register_jni.gradle5.1.1vcsme
目录 0 2019-12-31 09:57 dynamic_register_jni.gradleuildOutputCleanup
文件 17 2019-12-31 09:39 dynamic_register_jni.gradleuildOutputCleanupuildOutputCleanup.lock
文件 53 2019-12-30 18:47 dynamic_register_jni.gradleuildOutputCleanupcache.properties
文件 21665 2019-12-31 09:39 dynamic_register_jni.gradleuildOutputCleanupoutputFiles.bin
目录 0 2019-12-31 09:57 dynamic_register_jni.gradlevcs-1
文件 0 2019-12-30 18:47 dynamic_register_jni.gradlevcs-1gc.properties
目录 0 2019-12-31 09:57 dynamic_register_jni.idea
目录 0 2019-12-31 09:57 dynamic_register_jni.ideacaches
文件 598 2019-12-31 09:39 dynamic_register_jni.ideacachesuild_file_checksums.ser
文件 142391 2019-12-31 09:39 dynamic_register_jni.ideacachesgradle_models.ser
............此处省略2488个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)