android中的科学和数值模拟哪种方式? NDK?

时间:2011-06-10 21:33:21

标签: java c++ android math

我想为android写一个科学/数字环境,我收集信息,因为我从来没有为Android或移动开发任何东西。

我最近听说过本机开发工具包,它应该允许我为我的Android应用程序编写C ++代码,但我有一些问题:

  • 会带来便携性问题吗?由于编译和编码机地狱
  • 基本的java数学函数和对象是否良好(至少在android中)或者我应该尝试自定义实现常用函数?
  • 用java编写所有内容?与ndk相比,它会给我带来很多性能损失吗?

1 个答案:

答案 0 :(得分:3)

来自the website

  

如果您编写本机代码,您的应用程序仍然打包成.apk文件,它们仍然在设备上的虚拟机内运行。基本的Android应用程序模型不会改变。

     

使用本机代码不会导致自动性能提升,但总是会增加应用程序的复杂性

所以好消息是,没有便携性问题!坏消息是,它与为处理器编译C ++代码不同,因此它可能无法为您提供所需的性能提升。而且,它肯定会使你作为开发人员的任务变得更加困难。

重申您在评论中收到的建议:首先使用纯Java获取功能,然后担心以后优化

关于数学对象的“有多好”,java.lang.Math中的函数与double的函数一样好。 似乎任意精度的十进制和整数类都不在android库中,所以如果需要,你必须自己编写。对于任何更高级别的对象(向量(实际上可以使用ArrayList),矩阵,图表也是如此。如果您需要,Java确实有Set