更新(为了清晰和减少歧义):
我将开始修补安卓应用程序。我计划使用 NDK 编写 C++(因为我在 C++ 方面有更多经验并且更喜欢 Java),但在Android NDK 页面上遇到了以下内容:
你应该只在对你的应用程序必不可少的情况下使用 NDK——<strong>永远不要因为你只是更喜欢用 C/C++ 编程。
我的印象是你应该使用你喜欢的语言,只要它适合这份工作。有人可以解释为什么强烈建议不要使用 C/C++ 进行 android 开发吗?
原来的:
我将开始修改移动应用程序,特别是 android,它是我当前手机的操作系统,我想知道用 C++(或至少是核心,然后用 Java 包装)编写应用程序是否是一个可接受的选择。
一些背景,我是一名计算机科学专业的学生,已经参加了 3 门 C++ 课程(入门、中级、OOP,并且正在参加春季的 STL 课程)和只有 1 门 Java 课程(中级)。正因为如此,我更喜欢 C++ 并且更喜欢它而不是 Java。我在Android NDK 页面上遇到了以下内容:
在 Android 上使用本机代码通常不会带来明显的性能提升,但它总是会增加应用程序的复杂性。通常,您应该只在对您的应用程序必不可少的情况下使用 NDK——<strong>永远不要,因为您只是更喜欢使用 C/C++ 编程。
- 我的印象是你应该使用适合工作的语言以及你熟悉的语言
- 我可能想将应用程序移植到另一个支持 C++ 但不支持 java 的移动平台,例如 iOS
- 虽然 Java 是一种高级语言,因此应该可以加快开发速度,但我觉得开发速度会慢一些,因为我几乎必须重新学习所有内容(因为我只上过一门该语言的课程)
任何建议将不胜感激。
ps:关于这个主题的许多答案都是几年前的,很少有后续答案提到 NDK 允许在 android 2.3 及更高版本上开发完整的原生应用程序。