gpt4 book ai didi

c# - monodroid 慢吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:25:37 26 4
gpt4 key购买 nike

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

但是当我研究它时,有人表示它运行起来会更慢。

你怎么看?这是真的吗?使用 C# 是否有效?

最佳答案

我们不知道。

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

这是我确实知道的:

  • 在 G1 上首次加载应用程序时,目前有大约 3 秒的启动惩罚开销(您的里程数会因硬件而异)。这是由于初始化 Mono 运行时并加载引用的程序集。我们确实希望在未来改进这一点。
  • Mono,以及用于 Android 的 Mono,JIT 一切。同时,Dalvik 有一个 JIT cache可变大小(目前在 ARMv7 上为 1MB)和一个解释器,因此根据您的应用程序,可能(很可能)并非所有内容都会被 JITed。
  • Mono for Android 使用 JNI 调用 Android/Java 代码。

然后是koush's performance comparsion between Mono and Dalvik in 2009 .这早于 Dalvik JIT,但在相同的硬件上,Mono Dalvik。

那么这一切意味着什么呢?我完全不知道。 (同样,将 Linpack 移植到 Android 的 Mono 会很棒!hint hint, nudge nudge)

也就是说,有一些性能建议:

  1. Use a splash screen during app startup.这会在应用启动期间提供即时反馈,这是大多数用户关心的。
  2. 如果可能,尽量减少 Mono 和 Java 代码之间的转换。 JNI 永远不会赢得任何性能奖牌,因此如果您可以在 Mono 中编写更多代码而无需中间调用 Java 方法,那就这样做吧。
  3. 尽量减少同时保持 Activity 状态的 Java.Lang.Object 实例的数量。跨 VM GC 引用可能会导致性能问题。

关于c# - monodroid 慢吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7538607/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com