【问题标题】:Difference between SDK and NDK in androidandroid中SDK和NDK的区别
【发布时间】:2016-12-02 17:40:09
【问题描述】:

我作为 Android 应用程序开发人员工作了 2 年。我通常将 android SDK 用于所有 Android 应用程序开发。现在我有一个项目,它是一个 Android 应用程序,我必须在其中使用 SDK 和 NDK 进行应用程序开发(根据客户要求)。 但由于我对 NDK 没有任何经验,所以我不知道它是什么。在一些博客中,我读到 NDK 开发是基于 c++ 的。

使用NDK必须具备完整的c++知识吗?

请帮忙!!

【问题讨论】:

标签: android c++ sdk android-ndk


【解决方案1】:

使用 NDK 意味着您必须用 C/C++ 编写部分代码才能达到速度。如果这是客户要求,那么您别无选择。但请记住,仅当您认为需要更好的性能时才应使用 NDK。当然你必须对 c/c++ 有一定的了解才能使用 NDK。

【讨论】:

  • 非常感谢。在处理 ImageEditing 应用程序时,我主要使用 NDK。
  • 您也可以使用 OpenCV 在 android 中进行图像编辑。我认为您不需要为此使用 NDK。
  • 是的,当我们处理 ImageEditing 应用程序时,OpenCV 是最好的选择。因此,在我的项目中,我最初使用了 OpenCV,后来为了提高我使用 NDK 的应用程序性能。将两者结合到一个项目中是我项目中最具挑战性的部分。
【解决方案2】:
  • NDK
  1. NDK 是一组将 C 代码编译为共享库的工具, 您可以在您的应用中使用它 - 仅此而已。

  2. 支持在 iOS 和 Android 平台之间重复使用旧代码 有利于实现 CPU 密集型操作 分配大量内存,例如信号处理、物理模拟。

  • SDK
  1. SDK 是 Android 应用程序的主要开发工具包 - 它包含用于 Java 和资源(png、xml)编译、打包到 apk 文件、在设备上安装、运行和调试它们的工具、模拟器、文档等。

  2. Java 具有卓越的内存管理模型 卓越的线程模型 更好的异常处理模型 丰富的库集 对 unicode 字符的卓越支持。

【讨论】:

    猜你喜欢
    • 2011-12-11
    • 2018-01-12
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 2011-03-13
    • 2016-12-22
    • 2017-05-29
    相关资源
    最近更新 更多