美文网首页
MediaScanner jni实例

MediaScanner jni实例

作者: 魏国彬 | 来源:发表于2018-02-15 16:49 被阅读0次

1.MediaScanner.java加载jni库

MediaScanner jni实例

2.native_init函数获取java层mNativeContext成员FieldID

MediaScanner jni实例

3.native_setup函数保存c层MediaScanner对象指针到java层,便以后使用

MediaScanner jni实例

3.c层processDirectory负责目录扫描工作

MediaScanner jni实例
MediaScanner jni实例

4.总结

java层习惯在init时,在native层new一个c对象,并将其对象指针保存在自己的整型成员中,当调用其他native函数时可以从java层获取该指针,简言之:native层对象由java层管理。

附:当JNIEnv不作为参数传入时,JNI提供了如下两个函数获得,

AttachCurrentThread和GetEnv.

在Android系统中,当在一个线程中调用AttachCurrentThread后,如果不需要用时一定要做DetachCurrentThread处理,否则线程无法正常退出。

相关文章

网友评论

      本文标题:MediaScanner jni实例

      本文链接:https://www.haomeiwen.com/subject/zrlutftx.html