您的位置:首页 > 移动开发 > Android开发

什么是Android NDK 什么情况下使用Android NDK

2011-10-11 20:36 323 查看
Android NDK是一个工具集,可以将本地代码嵌入到你的Android 应用中。

Android 应用是在dalvik虚拟机中运行的。NDK可以让你使用本地代码语言来开发应用,比如说C/C++,这种方法对某些类型的应用的是有好处的,可以充分利用本地代码和在某些情况下加速代码的执行。

什么时候用NDK?

对于绝大多数的应用来说,使用NDK并不是一个明智的选择,作为一个开发者,我们需要衡量它所带来的好处和缺点。使用本地代码并不一定可以使性能得到优化,但是通常使得应用代码变得复杂。一般来说,我们将应用中关键部分的代码用C/C++写,而不能由于我们习惯于用C/C++开发而把所有的代码都用C/C++来实现。

有下面这些特点的应用可以考虑使用NDK:

1 独立的,不和其他应用有关系的

2 频繁占用CPU但是申请的内存空间不是很大的操作,像信号的处理,物体的模拟等等

简单的用C/C++重写我们的代码是不会带来很大的性能提升的。

在考虑是否采用本地代码开发的时候,要结合应用的实际需求并且看看Android 的framework层是否提供了我们需要的API,但是用NDK可以充分利用本地已经有的代码。

Android framework提供下面两种方法来使用本地代码:

1 在Android framework的框架下面开发应用,使用JNI的方法来使用NDK本地方法提供的API。这样的好处就是我们可以很好的利用的Android的framework提供的框架,但是需要编写本地具体实现的代码。这样的APK可以在Android 1.5及其之后的版本上面运行。

2 写一个本地的Activity,在本地代码中实现生命回调函数,AndroidSDk提供了 NativeActivity类,这个类可以方便的让你在你的本地代码中实现回调函数(OnCreate,OnPause),从而当这些事件发生的时候处理。用本地类实现的应用可以在Android 2.3及其之后的版本上面运行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: