我正在学习Android NDK。NDK有哪些优点和缺点?有没有一些好的参考资料可以学习Android NDK?
你是否阅读过关于NDK的官方Android开发者页面?
引用:
Android NDK是Android SDK的一个附属工具,它允许您在本地代码中构建应用程序的性能关键部分。它提供了头文件和库,使您可以使用C或C ++编程时构建活动、处理用户输入、使用硬件传感器、访问应用程序资源等。如果您编写本地代码,则仍将您的应用程序打包为.apk文件,并且它们仍在设备上的虚拟机中运行。基本的Android应用程序模型不会改变。
使用本地代码并不会自动增加性能,但总是会增加应用程序复杂性。如果您没有遇到使用Android框架API的任何限制,您可能不需要NDK。
因此,除非您在Java编程时进行了一些非常性能密集的工作,否则我建议您远离NDK。编写NDK代码比较麻烦,除非您真正了解自己在做什么并且具有扎实的C和/或C ++知识。