博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

NDK<一> NDK概述

Posted on 2010-08-24 17:33  zhangweia  阅读(730)  评论(0编辑  收藏  举报

参考网址: 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.基本类型

       QQ截图未命名

    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*的长度