2011-09-24 21 views
6

C# kullanarak bir android yazılımı geliştirilebileceğini duydum. (Monodroid)Monodroid yavaş mıdır?

Ama bunu araştırırken, birisi çalıştırmak için daha yavaş olacaktır belirtti.

Ne düşünüyorsunuz? Bu gerçek mi? C# kullanarak etkili midir? Bilmiyoruz

+0

olası yinelenen (http://stackoverflow.com/questions/5951673/monodroid-vs-java-in-android-development) –

cevap

18

. Android Linpack uygulaması yüzden ikisi arasında bir performans karşılaştırması alabilir Android için Mono birisi portu gelse Tüm ciddiyeti

, gerçekten kullanışlı olurdu. Önce bir G1 üzerinde uygulamayı yüklerken bir anda ~ 3s başlangıç ​​ceza havai var

  • (sizin kilometre donanıma bağlı olarak değişir):

    İşte bilmesine yapmak budur. Bu, Mono çalışma zamanının başlatılması ve başvurulan derlemeler yüklenmesinden kaynaklanmaktadır. Bunu gelecekte geliştirmek istiyoruz. Android için

  • Mono ve Mono, JITs herşey. Dalvik Bu arada, bu yüzden her şey JITed olasıdır (muhtemel) olan senin uygulamaya bağlı olarak değişken boyut (ARMv7 şu anda 1 MB) ve bir tercüman bir JITcache sahiptir.
  • Android için Mono, Android/Java kodunu çağırmak için JNI'yi kullanır.

Sonra koush's performance comparsion between Mono and Dalvik in 2009 var. Bu, Dalvik JIT'i öneriyor, ancak aynı donanım üzerinde, Mono Dalvik'in şaplaktı.

Yani ne anlama geliyor? Hiçbir fikrim yok. (Yine, Android için Mono Linpack bir liman harika olurdu ipucu ipucu, dürtmeyle!)

söyledi

, önermek için bazı performans tavsiyesi var:

  1. Use a splash screen during app startup. Bu sırasında anında geri bildirim sağlar Çoğu kullanıcı neyle ilgilendiğidir uygulama başlangıç.
  2. Mümkünse, Mono ve Java kodu arasındaki geçişleri en aza indirin. JNI hiçbir zaman hiçbir performans madalyası kazanmayacak, bu yüzden Mono'da Java yöntemlerine ara arama yapmadan daha fazla kod koyabiliyorsanız bunu yapın.
  3. Eşzamanlı olarak canlı tutulan Java.Lang.Object örneklerinin sayısını en aza indirin. Çapraz VM GC referansları performans sorunlarına neden olabilir.
[android gelişiminde MonoDroid VS Java?] Arasında