[Android] NDK是什么

由于最近在研究STF,其中minicap是用NDK开发的,所以就顺带研究了下NDK。

1 什么是NDK

原生开发套件 NDK(Native Development Kit) 是一套工具,使您能够在 Android 应用中使用 C 和 C++ 代码,并提供众多平台库,可使用这些平台库管理原生 Activity 和访问实体设备组件,例如传感器和轻触输入。

2 NDK的优缺点

优点

  • 运行的效率高
  • 代码的复用
  • 能够更好的发挥软硬件的优势

缺点

  • 开发难度较高
  • 调试难度较高(以库的形式存在)
  • 增加开发团队规模

3 什么时候选择使用NDK

Android开发一般用不上NDK,除非一些特殊的情况,比如:

  • 进一步提升设备性能,以降低延迟
  • 运行计算密集型应用,如

    • 游戏引擎
    • 信号处理
    • 物理仿真
  • 重复使用您自己或其他开发者的 C 或 C++ 库。

你可能感兴趣的:(android)