SORU
23 EKİM 2008, PERŞEMBE


Güneş VM size Dalvik VM'In VM Android () ne yapabilirim.?

Java VM yapabilirsiniz Dalvik VM neredeyse tüm Java çalıştırabilirsiniz biliyorum ama kısıtlamaları çok net değil. Kimse herhangi bir önemli engelleri içine çalıştırmak vardır? Herhangi bir büyük kütüphaneler sorun mu yaşıyorsunuz? Beklendiği gibi çalışmıyor Java bayt kodu (Scala, Jython vb.) derlemek için herhangi bir dil?

CEVAP
23 EKİM 2008, PERŞEMBE


Dalvik çoğu oldukça gelişmiş olmasına rağmen idare edecek değil ya standart Java bayt kodu olarak oldukça aynı şekilde işlemez, bir kaç şey var.

en ağır örnek çalışma zamanı koduna nesilve özel bir sınıf yükleniyor. Diyelim ki sizin gibiler için bazı bayt kodu oluşturmak ve daha sonra kullanmak için classloader yük için, eğer bu hile işleri üzerinde normal makine, garanti değil iş Dalvik, sürece değiştirmek senin koduna nesil.

Bazı bağımlılık enjeksiyon çerçeveler, örnek olmak Google Guice en bilinen bazı insanlar bu işe emin olsam da () kullanarak engeller. Öte yandan AspectJ gerektiğini derleme bir adım olarak bayt kodu gereçleri kullanır gibi çalışırsa herkes çalıştı bilmiyorum.

Diğer jvm dilleri ... sonunda standart koduna derler ve çalışma zamanında Java araçları kullanmayan bir şey Dalvik dönüştürülür ve çalışması gerekir. İnsanlar Android Jython çalışma yaptığını biliyorum ve Tamam çalıştı.

Farkında olmak başka bir şey yokzaman derleme yok. Bu kesinlikle sorun (her zaman eğer isterseniz anında herhangi bir bayt kodu derleme) Dalviks ama Android bunu desteklemiyor ve bunu yapmak pek mümkün değildir. Standart Java işe yaramazdı için microbenchmarking ederken aslında bileşenleri Android telefonlar için -- microbenchmarks tamamen mantıklı büyük sistemlerin parçaları olarak daha testlerde farklı özelliklerle zamanı vardı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • alex maybury

    alex maybury

    20 Aralık 2007
  • Gavin Hoey

    Gavin Hoey

    21 Aralık 2007
  • ShayLoss

    ShayLoss

    5 Kasım 2009