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