学习总结
我参考了以下四篇博文,基本掌握了JNI的常用知识点。
推荐学习顺序1->2->3->4。
1, 2这两篇博文写的很细致,看完基本能学会80%内容,要详读。
通过第3篇博文的例子可以进一步巩固下jni的知识。
第四篇内容最全,不过内容更像是手册,可以一扫而过。
第五篇,关心的是jni中的内存问题,以防内存泄露,写的非常好,要详读。。着重讲解了jni中存在的三种引用(local reference/global reference/weak global reference),每种引用的特点,以及编码时如何良好的管理各种引用以防止内存泄漏或内存爆炸。
- 例如,局部引用可以被GC回收,但某些情况下,最好通过deleteLocalRef手动释放。
- 例如,全部引用不会被GC回收,只能手动释放;在高频使用某些全局引用时,通过static缓存起来避免重复创建引用,提高内存使用效率。
- 例如,弱全局引用,当内存不足时,会被GC回收。
- 例如,全局引用和弱全局引用可以跨线程,而局部引用不可以。
- 例如,