Android neden sanal makina kullanır?

Sponsorlu Bağlantılar

furyzer0

furyzer0

Üye
    Konu Sahibi
Android neden sanal makina kullanır?
Gerçekten merak ettiğim bir soru peki neden sanal makina kullanıyor internette iki şey duydum birincisi:
Uygulama mağazasını hızlıca büyütebilmek için java ortamını sağlamak
İkincisi:
Sun microsystems'e para ödememek için
Siz ne düşünüyorsunuz bu konuda?
 


Doğuş Pertez

Doğuş Pertez

Admin
Google, ilk Android sürümünden beri Dalvik adını verdiği ve Android cihazlara özel çıkardığı sanal makineyi kullanıyordu. Bu sanal makine mobil cihazlara hitap eden bir yapıdaydı. Klasik java sanal makinalarından farklıydı. Yani mobile uyarlanmış bir Java sanal makinası diyebiliriz.

Bu sanal makine java dilinde kodlanmış android uygulamaları (bytecodeları) yorumlayarak derler ve onu makinanın anlayacağı dile çevirir.

Siz bir Android cihazda her uygulama başlattığınız da bu işlem her defasında tekrarlanır. Bu da hem performans kaybı hem de batarya ömrüne negatif etki gibi sonuçlar doğurabiliyor. Aslında halen %99 luk bir kesim Dalvik sanal makinesini kullanmaya devam ediyor. ART yalnızca kitkat ile bizlere geldi ve henüz test aşamasında olduğu için Google bu teknolojiyi tam olarak duyurmuş değil. Kitkat ile sadece hayatımıza girdi diyelim.

Android 4.4 kitkat bulunan çoğu cihazda da bu ART seçeneği aktif değil aslında. Sadece Nexus cihazları bulunanlar bu ART teknolojisini deneme fırsatı bulabiliyor.
 
DalvikCache

DalvikCache

Üye
Google, ilk Android sürümünden beri Dalvik adını verdiği ve Android cihazlara özel çıkardığı sanal makineyi kullanıyordu. Bu sanal makine mobil cihazlara hitap eden bir yapıdaydı. Klasik java sanal makinalarından farklıydı. Yani mobile uyarlanmış bir Java sanal makinası diyebiliriz.

Bu sanal makine java dilinde kodlanmış android uygulamaları (bytecodeları) yorumlayarak derler ve onu makinanın anlayacağı dile çevirir.

Siz bir Android cihazda her uygulama başlattığınız da bu işlem her defasında tekrarlanır. Bu da hem performans kaybı hem de batarya ömrüne negatif etki gibi sonuçlar doğurabiliyor. Aslında halen %99 luk bir kesim Dalvik sanal makinesini kullanmaya devam ediyor. ART yalnızca kitkat ile bizlere geldi ve henüz test aşamasında olduğu için Google bu teknolojiyi tam olarak duyurmuş değil. Kitkat ile sadece hayatımıza girdi diyelim.

Android 4.4 kitkat bulunan çoğu cihazda da bu ART seçeneği aktif değil aslında. Sadece Nexus cihazları bulunanlar bu ART teknolojisini deneme fırsatı bulabiliyor.
Bu yazı bayağı bi eski olmalı %99 dalvik diyor fakat şu an piyasadaki telefonlar genel olarak android 5 kullanıyor.
 

'Şeref'

Emekli Yönetici
Android 5 loliop ile birlikte dalvik in yerini "Art" yapısı aldı..

ART, zamanın ötesinde (Ahead of Time – AOT) mantığı ile derleme yapan bir yapıdır. Android için yazılan uygulamalar Java dili ile yazılmaktadır. Java dili ile yazılmış bir uygulamayı cihazımıza kurup çalıştırdığımızda bu kodlamanın makine diline çevrilmesi (derlenmesi) gerekiyor. Bu derleme işlemi 2 farklı şekilde yapılabilir. Ya uygulama kurulurken yapılacak veya uygulama kurulduktan sonra uygulamayı başlatırken yapılacak. ART’de bu derleme işlemi uygulama kurulurken gerçekleştiriliyor ve önbelleğe alıyor.

(+) ART’nin Avantajları:

– Uygulama kurulurken derleme yapılıp önbelleğe alındığı için uygulamaları başlattığınızda derleme işlemi yapılmayacağından uygulamalar çok daha hızlı açılır.

– 32 ve 64 bit desteği.

(-) ART’nin Dezavantajı:

– Uygulama kuruluma esnasında derlenip önbelleğe alınacağı için kurulum süresi uzar ve önbelleğe alınan veri cihazda belli bir alan kaplayarak belki hafızası düşük cihazlarda kapasite sorunlarına sebebiyet verir.
 
  • Beğen
Tepkiler: ilyas_0177
ilyas_0177

ilyas_0177

Üye
Konu hakkında cok yazı olur a dan z ye her türlü tartışılır fakat uzun boylu konuşmaya gerek yok gibi ;)
kısaca özetlersek
Java ile ilgili detay verirsek tamamen reklam montajları icin diyebilirim.
java dan kimse vazgecemez, ücretsiz olan bir sistemde java ile para kazanan cok
küçük bir reklam sayesinde uygulamanın degerinden fazlası kazanılmaktadır

Runtime' nin detaylarını yazmaya gerek duymadım

Android + para Runtime + performans java + reklam
;)
 
Invoke

Invoke

Üye
Çünkü gerçek makinesi yokmuş. :dilgozkirp::eksiyuz::korkuylabagir::korkuylabagir::korkuylabagir::dilyuz::eksiyuz:
 


Üst Alt