NDK 高频面试题及详细实战答案.docxVIP

  • 1
  • 0
  • 约5.72千字
  • 约 8页
  • 2026-10-13 发布于河北
  • 举报

NDK高频面试题及详细实战答案

一、NDK基础认知类

1、说说NDK是什么,日常开发中主要用来解决什么问题?

参考答案:

NDK是安卓原生开发工具包,是一套可以让Android应用调用C/C++代码的编译、工具、链接库集合。

日常开发核心用途主要有四点:

第一,性能优化。图片处理、音视频编解码、大数据运算、加密解密等耗时操作,用C/C++实现,比Java纯代码效率更高,避免Java虚拟机卡顿、GC抖动问题。

第二,代码复用。跨平台C/C++库可以直接复用,不用Android、iOS分别写一套逻辑,比如人脸识别、算法、推流、播放器内核。

第三,安全加固。核心业务逻辑、密钥、算法放在原生层,相比Java代码更难被反编译、篡改,提升应用安全性。

第四,底层能力调用。可以直接调用Linux底层API、硬件相关能力,弥补Java层底层权限和能力的不足。

2、JNI和NDK的区别是什么?

参考答案:

很多人会混淆两者,其实分工完全不同:

JNI是一套通信协议/接口标准。全称Java原生接口,是Java虚拟机定义的一套规范,用来实现Java层和C/C++原生层的相互调用,定义了数据类型映射、函数调用规则、对象操作规则,属于接口规范。

NDK是一套开发工具集合。包含编译器、链接器、交叉编译工具、平台库、头文件、打包工

文档评论(0)

1亿VIP精品文档

相关文档