JNI学习篇
文章平均质量分 74
顾小林
这个作者很懒,什么都没留下…
展开
-
JNI学习(6)(我是菜鸟)
所有内容为记录学习过程,不是大牛尽情谅解。所有分析都参考深入理解Android 卷一JNI中也有异常,不过它和C++ java的一场不太一样。如果调用JNIEnv的某些函数出错,则会产生一个异常,这个一场不会中断本地函数的执行,知道JNI层返回到java层后,虚拟机才会抛出这个一场,虽然在JNI 层中会产生异常,但不会中断本地函数的运行,但一旦产生,就只能做一些资源清理工作原创 2013-04-03 09:02:21 · 1009 阅读 · 0 评论 -
JNI学习(5)(我是菜鸟)
所有内容为记录学习过程,不是大牛尽情谅解。所有分析都参考深入理解Android 卷一Java中创建的对象最后由垃圾回收期来回收和释放内存,对于JNI这有什么影响呢?结合书上的例子分析(下面的例子是他假设的例子并不是真正的源码)Android_media_MediaScanner_processFile(JNIEnv *env, jobject thiz,jstrin原创 2013-04-03 09:01:05 · 1024 阅读 · 0 评论 -
JNI学习(1)(我是菜鸟)
所有内容为记录学习过程,不是大牛尽情谅解。所有分析都参考深入理解Android 卷一概括:在Android平台上,JNI就是一座将Native世界和Java世界间的天堑变为通途的桥。JAVA JNI NATIVEJava世界对应的是MediaScanner 而这个MediaScanner类有一些函数需要由Native层来实现JNI层对应的是libmedia_n原创 2013-03-26 10:43:25 · 1921 阅读 · 0 评论 -
实践出真知之MediaPlayer分析篇(我是菜鸟)
学习实践(由于最近也恰好想学习一下service 所以看了一下mediaplayer)该图为MediaPlayer 的 状态转换图。Frameworks/base/media/java/android/media/MediaPlayer.java果断从MediaPlayer.create 该静态方法开始 ,该方法初始化MediaPlayer,并且获取到一个实例原创 2013-03-26 18:07:35 · 5004 阅读 · 3 评论 -
JNI学习(3)(我是菜鸟)-jstring介绍
所有内容为记录学习过程,不是大牛敬请谅解。所有分析都参考深入理解Android 卷一Java中的String 也是引用类型,不过由于它的使用频率有点高,所以再JNI 规范中,单独创建了一个 jstring 类型表示java中的String类型,虽然jstring 是一种独立的数据类型,但是它并没有提供成员函数以便操作,而C++中的string 类有自己的成员哈数,那么操作jstring的过原创 2013-03-27 13:16:56 · 8988 阅读 · 0 评论 -
JNI学习(4)(我是菜鸟)-JNI类型签名
所有内容为记录学习过程,不是大牛尽情谅解。所有分析都参考深入理解Android 卷一先看一下动态注册中的代码现在看processFile 方法 一直都没明白后面的那一长串字符串不过 通过昨天的 native方法和JNI方法映射了解到了 “/”似乎是可以看做”.(点)”所以上面的那一串字符串 可以看做“(Ljava.lang.Strin原创 2013-03-27 13:19:36 · 7998 阅读 · 0 评论 -
JNI学习(2)(我是菜鸟)-JNIEnv介绍
所有内容为记录学习过程,不是大牛尽情谅解。所有分析都参考深入理解Android 卷一JNIEnv 是一个 与线程相关的代表JNI环境的结构体。(先记下,但是没明白)JNIEnv 实际上提供了一些JNI系统函数,通过这些函数可以做到1,调用java函数2,操作jobject对象等很多事情关于这个JNIEnv 还是不大明白但是继续看代码通过JNIEnv原创 2013-03-26 10:54:09 · 1530 阅读 · 0 评论