Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android应用程序开发中的Java与原生编码_Java_Android_C++ - Fatal编程技术网

Android应用程序开发中的Java与原生编码

Android应用程序开发中的Java与原生编码,java,android,c++,Java,Android,C++,我计划创建一个SDK(涉及大量数据操作),它可以用于在Android上创建应用程序 我计划开发完整的SDK,包括Java中的库,因为如果我用本机语言(C++)实现我的库,Java和本机层之间的数据移动将涉及内存拷贝,并使我的应用程序看起来很慢 我计划稍后将同一SDK移植到其他平台,如Windows Mobile。在这种情况下,考虑到SDK的可移植性和性能,我对如何更好地编写代码感到有点困惑 输入将得到极大的赞赏。 < P> Windows Mobile支持本机代码(VisualC++,参见),因

我计划创建一个SDK(涉及大量数据操作),它可以用于在Android上创建应用程序

我计划开发完整的SDK,包括Java中的库,因为如果我用本机语言(C++)实现我的库,Java和本机层之间的数据移动将涉及内存拷贝,并使我的应用程序看起来很慢

我计划稍后将同一SDK移植到其他平台,如Windows Mobile。在这种情况下,考虑到SDK的可移植性和性能,我对如何更好地编写代码感到有点困惑


输入将得到极大的赞赏。

< P> Windows Mobile支持本机代码(VisualC++,参见),因此使用Android NDK将是一个不错的选择。至少你不必从头开始写整件事。您可以使用C/C++编写公共代码库,并且只为Android编写Java包装器


正如你所知,WindowsPhone7(WindowsMobile的继承者)使用C#,不管你在Android上采取什么方法,你都需要从头重写SDK。Windows Phone 7.x可能在将来某个时候支持本机代码(C/C++),但不是很快。

我有点困惑。你是在抱怨要创建一个真正的SDK,就像谷歌已经提供的SDK一样,还是想创建一个框架,然后将其移植到其他平台(比如游戏引擎)?我想创建一个框架..谢谢,这就解决了可移植性问题。您能否就android中java和本机编码的性能发表评论?摘自:“使用本机代码不会导致性能自动提高,但总是会增加应用程序的复杂性。”因此,如果您仅使用java不会出现性能问题,您不需要本机代码。如果可移植性是一个主要问题,那么本机代码可以相对容易地移植到iOS,只需用目标C/C++包装器替换Java包装器即可。谢谢Mika,这很有帮助。