安卓系统中的科学和数值模拟是哪种方式?ndk

Scientific and numeric simulation in android which way? ndk?

本文关键字:模拟 方式 ndk 系统      更新时间:2023-10-16

我想为android编写一个科学/数字环境,我正在收集信息,因为我从未为android或手机开发过任何东西。

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

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

来自网站:

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

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

所以好消息是,没有可移植性问题!坏消息是,它与为处理器编译C++代码不同,所以它可能不会给你带来你想要的性能提升。此外,这肯定会让你作为一名开发人员的任务更加困难。

重申您在评论中收到的建议:首先使用纯Java获得功能,然后再考虑优化

关于";多好";数学对象是,java.lang.math中的函数和doubles一样好。android库中似乎没有任意精度的十进制和整数类,因此如果需要,您必须自己编写这些类。对于任何更高级的对象(向量(实际上可以使用ArrayList)、矩阵、图)也是如此。如果需要的话,Java确实有Set