Merhaba arkadaşlar,
Bu makalemde çok fazla teknik detaya girmeden ve kafanızı karıştırmadan çok açık ve sade bir şekilde ART ve Dalvik'i anlatmaya çalışacağım. Umarım bu makalem kafanızı karıştırmadan size bir fikir verebilir.
ART (Android Runtime) Nedir ?
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.
Dalvik Sanal Makinesi Nedir ?
Dalvik ise tam zamanında (Just in Time - JIT) derleme yapan bir yapıdır. Dalvikte bir uygulama kurulduğunda önce Java boytecode'larını içeren .class uzantılı dosyalara ardından Dalvik bytecode'unu içeren ve Dalvik sanal makinesinin çalıştırabileceği .dex uzantılı tek bir dosyaya dönüştürür. Dalvikte bu derleme işlemi ART'nin aksine uygulama kurulduktan sonra uygulamayı her başlattığınızda tekrar tekrar gerçekleştirilir. Yani hazır derlenmiş ve önbelleğe alınmış bir derleme yoktur.
(+) Dalvik'in Avantajları:
- Uygulama kurulurken herhangi bir derleme olmayacağı için kurulum süresi daha kısa olacaktır.
- Yine önbellekleme olmayacağı için ART'e göre daha az alan kaplayacaktır.
(-) Dalvik'in Dezavantajları:
- Önbellekte derlenmiş bir kodlamanın bulunmamasından dolayı her uygulamayı çalıştırdığınızda bu işlemin baştan yapılması üzerine uygulamalar daha yavaş çalışacaktır.
- 64 bit desteğinin olmaması
Sonuç itibari ile ART de uygulamalar daha geç kurulur daha fazla alan kaplar ancak uygulamalar daha hızlı açılır. Dalvikte ise ugulamalar daha hızlı kurulur daha geç açılır ve daha az alan kaplar.