安卓中SDK和NDK的区别

5

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

是否确实需要具备完整的C++知识才能使用NDK?

请帮忙!!


你读过这个了吗? - pskink
这个问题可能会有用。 - Jean Vitor
2个回答

4

使用 NDK 意味着您必须编写部分 C/C++ 代码以实现更快的速度。如果这是客户端要求,那么您没有选择。但请记住,只有在您感觉需要更好的性能时才应使用 NDK。当然,您必须对 C/C++ 有一些了解才能使用 NDK。


非常感谢。在处理图像编辑应用程序时,我大多数情况下使用NDK。 - Hiren Dixit
你也可以在Android中使用OpenCV进行图像编辑。我认为你不需要使用NDK来实现这个。 - Prabir Ghosh
是的,当我们处理图像编辑应用程序时,OpenCV是最好的起点。因此,在我的项目中,我最初使用了OpenCV,后来为了提高应用程序的性能,我使用了NDK。将两者组合成一个单一的项目是我项目中最具挑战性的部分。 - Hiren Dixit

1
  • NDK
  1. NDK是一组用于将C代码编译为共享库的工具,您可以在应用程序中使用它 - 就是这样。

  2. 能够在iOS和Android平台之间重用旧代码,适合实现不会分配太多内存的CPU密集型操作,例如信号处理、物理模拟。

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接