单核 Android 更慢吗?

6

我听说可以使用C#(Monodroid)开发安卓软件。

但是在了解后,有人指出使用C#运行速度会较慢。

您认为呢?这是真的吗?使用C#是否有效?


可能是MonoDroid VS Java在Android开发中的选择?的重复问题。 - Davide Piras
1个回答

18

我们不知道。

说真的,如果有人能将Android Linpack应用程序移植到Mono for Android中,那就太方便了,这样我们就可以在两者之间进行性能比较。

以下是我所了解的内容:

  • 在G1上首次加载应用程序时,存在大约3秒的启动开销(硬件不同,具体情况因人而异)。这是由于初始化Mono运行时并加载引用程序集。我们希望在未来改进这一点。
  • Mono和Mono for Android会对所有内容进行JIT编译。与此同时,Dalvik有一个可变大小的JIT缓存(在ARMv7上当前为1MB)和一个解释器,因此根据您的应用程序,可能(很可能)并非所有内容都会被JIT编译。
  • Mono for Android使用JNI调用Android/Java代码。

然后,在2009年koush的Mono与Dalvik的性能比较中,这是在Dalvik JIT之前,但在相同的硬件上,Mono表现非常优秀。

那么,所有这些意味着什么?我完全不知道。(再次强调,如果将Linpack移植到Mono for Android中,那就太好了!暗示,暗示

话虽如此,以下是一些性能建议:

  1. 在应用程序启动时使用闪屏界面。这提供了应用程序启动期间的即时反馈,这是大多数用户关心的问题。
  • 尽可能减少在Mono和Java代码之间的转换。JNI不会获得任何性能奖牌,因此如果可以在Mono中执行更多的代码而不需要调用Java方法,请这样做。
  • 最小化同时保留的Java.Lang.Object实例数量。跨VM GC引用可能会导致性能问题。

  • 网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接