android 应用开发需要ndk吗

 我来答
huanglenzhi
推荐于2016-11-18 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517199
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
  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及其之后的版本上面运行。
_lqt
2015-02-10 · 超过28用户采纳过TA的回答
知道答主
回答量:194
采纳率:0%
帮助的人:43.2万
展开全部
基本不需要
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
840129536
2015-02-10 · TA获得超过220个赞
知道小有建树答主
回答量:302
采纳率:100%
帮助的人:223万
展开全部
应用层开发一般用不上NDK
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式