美文网首页
Android NDK基础篇

Android NDK基础篇

作者: FisherTige_f2ef | 来源:发表于2022-03-09 23:26 被阅读0次

    NDK的使用场景

    1、进一步提升设备性能:以降低延迟或运行游戏或物理模拟等计算密集型应用(java等语言有垃圾回收机制,可能导致频繁gc,并且运行效率较低,不适合处理密集计算行的逻辑处理)。

    2、为了使用自己或其他开发者的 C 或 C++ 库。

    NDK的使用流程

    使用 NDK 将 C 和 C++ 代码编译到原生库中,一般是.so文件,Java 代码随后可以通过 Java 原生接口 (JNI) 框架调用原生库中的函数,完成调用

    编译和调试原生代码的工具

    Android 原生开发套件 (NDK): 这套工具使您能在 Android 应用中使用 C 和 C++ 代码。
    CMake: 一款外部构建工具,可与 Gradle 搭配使用来构建原生库。如果您只计划使用 ndk-build,则不需要此组件。
    LLDB: Android Studio 用于调试原生代码的调试程序。

    几个重要的概念

    原生共享库: NDK 从 C/C++ 源代码构建这些库或 .so 文件。

    原生静态库: NDK 也可构建静态库或 .a 文件,而您可将静态库关联到其他库。

    Java 原生接口 (JNI): JNI 是 Java 和 C++ 组件用于相互通信的接口。

    应用二进制接口 (ABI): ABI 可以非常精确地定义应用的机器代码在运行时应该如何与系统交互。NDK 根据这些定义构建 .so 文件。不同的 ABI 对应不同的架构:NDK 为 32 位 ARM、AArch64、x86 及 x86-64 提供 ABI 支持。

    原则上,c,c++层应当保证ios与Android的都能用,因此尽量少用平台限制性的方法api,例如文件保存,硬件调用等Android能用,ios就不能用了。方法应该尽量处理流的计算过程并返回相应流的结果。ios与Android都支持并实现了lib c++标准库,应该以这个库的api为准。

    相关文章

      网友评论

          本文标题:Android NDK基础篇

          本文链接:https://www.haomeiwen.com/subject/aigxdrtx.html