C# 单机器人速度慢吗?

C# 单机器人速度慢吗?,c#,android,c#-4.0,xamarin.android,C#,Android,C# 4.0,Xamarin.android,我听说可以用C#开发android软件。(单机器人) 但当我研究它时,有人指出它会运行得更慢 你觉得怎么样?是真的吗?使用C#有效吗?我们不知道 说真的,如果有人能将Android Linpack应用程序移植到Mono for Android上,那么我们就可以比较两者的性能了 以下是我所知道的: 在G1上首次加载应用程序时,当前会有~3s的启动惩罚开销(您的里程数会因硬件而异)。这是由于初始化Mono运行时并加载引用的程序集。我们确实希望在将来改进这一点 Mono,Android的Mono,J

我听说可以用C#开发android软件。(单机器人)

但当我研究它时,有人指出它会运行得更慢

你觉得怎么样?是真的吗?使用C#有效吗?

我们不知道

说真的,如果有人能将Android Linpack应用程序移植到Mono for Android上,那么我们就可以比较两者的性能了

以下是我所知道的:

  • 在G1上首次加载应用程序时,当前会有~3s的启动惩罚开销(您的里程数会因硬件而异)。这是由于初始化Mono运行时并加载引用的程序集。我们确实希望在将来改进这一点
  • Mono,Android的Mono,JIT的一切。同时,Dalvik有一个可变大小的应用程序(目前在ARMv7上为1MB)和一个解释器,因此根据你的应用程序,可能(可能)不是所有的东西都会被JIT
  • Mono for Android使用JNI调用Android/Java代码
然后是。这早于Dalvik JIT,但在相同的硬件上,Mono打了Dalvik一顿

那么这一切意味着什么呢?我完全不知道。(同样,Android的Linpack到Mono的端口将非常棒!提示提示,轻推)

尽管如此,仍有一些性能建议:

  • 这在应用程序启动期间提供即时反馈,这是大多数用户关心的
  • 如果可能的话,尽量减少Mono和Java代码之间的转换。JNI永远不会赢得任何性能奖牌,所以如果您可以在Mono中编写更多代码,而不需要对Java方法进行中间调用,那么就这样做吧
  • 尽量减少同时保持活动状态的Java.Lang.Object实例的数量。跨VM GC引用可能会导致性能问题
  • 可能重复的