参考网址: http://apps.hi.baidu.com/share/detail/14685941
http://sartre.ycool.com/post.2263068.html
第一部分:概述
A. 什么是NDK?
由于android的应用开发是基于JAVA VM的,开发效率底。Android NDK可以让Android平台支持Native C原生代码的开发,通过Java代码嵌入Native C或者说通过JNI方式调用一个静态库方式执行本地(Native)代码,最终将会打包在apk文件中,还是要在Dalvik VM虚拟机内运行
B. 什么情况下使用NDK
1.对性能十分敏感的算法
2.不需要分配太多内存的操作,如信号处理,物理模拟,图形绘制等
3.重用现有的海量C/C++优秀代码
第二部分:NDK类型
A.基本类型
B. 字符操作
◆GetStringUTFChars将jstring转换成为UTF-8格式的char*
◆GetStringChars将jstring转换成为Unicode格式的char*
◆ReleaseStringUTFChars释放指向UTF-8格式的char*的指针
◆ReleaseStringChars释放指向Unicode格式的char*的指针
◆NewStringUTF创建一个UTF-8格式的String对象
◆NewString创建一个Unicode格式的String对象
◆GetStringUTFLengt获取UTF-8格式的char*的长度
◆GetStringLength获取Unicode格式的char*的长度