Teknoloji dünyasında, yeni terminolojiler vekısaltmalar yeni bir şey değildir ve zaman zaman, mevcut yazılımların bile her yeni sürümünde, herkesin kullandığı ve anladığını belirten yeni bir terim görebilirsiniz. Bununla birlikte, yeni başlayanlar ve hatta birçok geçici kullanıcı için sorun, yeni çağrışımın ne anlama geldiğini tam olarak anlamadıkları ya da bunun hakkında, geliştiricilerin ortaya çıkması nedeniyle, resmi kaynaklardan kendi başlarına kolayca öğrenemedikleridir. Bu tür terminolojileri ve teknik ayrıntılarını açıklamaya çok hevesli değil. En iyi ihtimalle, açıklama sağlayan resmi bir bağlantıya yönlendirileceksiniz, ancak teknik açıdan tereddüt etmeyen bir teknisyene oldukça faydası olmayacak.
AddictiveTips'te biz her zaman gurur duydukteknik kavramların önünü kesmek ve sıradan kullanıcı ve teknoloji acemi için uygun terimlerle cevaplar vermek. Bu nedenle, Google, ART'ı Android 4.4 KitKat ile tanıtmaya karar verdiğinde, bunu okuyucularımıza yeni çalışma zamanı ortamına tanıtmak ve herkesin tüm bunların ne hakkında olduğunu ve Dalvik sanal makinesinden ne kadar farklı olduğunu anlamasına yardımcı olmak için bir fırsat olarak gördük. ART değiştirmek için inşa ediliyor.
Çalışma Zamanı Ortamı nedir?
Asıl soruya cevap vermeden önce,Çalışma zamanı ortamının gerçekte ne olduğunu anlamamız gerekir. En basit şekilde ifade etmek gerekirse, çalışma zamanı, programınız çalışırken özellikle yazılım kodunun bir parçası olmasalar bile çalışan yazılım talimatlarından oluşur. Bu talimatlar temel olarak yazılımın kendi kodunu, bilgisayarın çalışabileceği koda çevirir. Bu nedenle, tüm bilgisayar dilleri, o dilde yazılmış kodu doğru şekilde çalıştırabilen bir tür çalışma zamanı ortamı gerektirir.
Android, sanal bir makineyi olduğu gibi kullanıyorBir Android uygulaması oluşturan APK dosyalarını çalıştırmak için çalışma zamanı ortamı. Sanal makine kullanmanın avantajı iki yönlüdür - ilk olarak, uygulama kodu çekirdek işletim sisteminden izole edilmiştir, bir şeylerin yanlış gitmesi, yalıtılmış bir ortamda bulunması ve birincil işletim sistemini etkilememesi sağlanır. Ve ikincisi, bir uygulamanın başka bir platformda (genellikle mobil uygulamaların geliştirildiği durumda olduğu gibi bir PC gibi) derlenmesi durumunda bile, sanal makineyi kullanarak mobil platformda çalıştırılabildiği anlamına gelir. .
Android için sanal makine tabanlı çalışma zamanıBugüne kadar kullanımda olan ortam, işletim sisteminin ayrıntılarına giren herkesin aşina olduğundan daha fazla emin olduğumdan eminim Dalvik Sanal Makinesi olarak bilinir.
Neden Bir Sanal Makine Kullanmalı?
Bu aslında tam da dokunduğumuz nokta. Sanal makineler yavaş, bunu inkar etmek yok, ama aslında onları tercih edilen bir seçenek haline getiren birkaç avantajı var.
- Sanal makineler yalıtılmış bir ortam sağlıyorkod yürütme için. Bu nedenle, bir uygulama çekirdek işletim sistemine zarar verebilecek kötü amaçlı bir kod içeriyorsa bile, sistem dosyalarını doğrudan etkilemeyecektir ve dolayısıyla çekirdek işletim sistemi bozulmaktan korunacaktır. Büyük ölçekli fayda, işletim sistemi için daha fazla istikrar ve güvenilirliktir.
- Google Play Store'dan tedarik edilen uygulama APK'leri(veya bu konuda başka herhangi bir kaynak), geliştiricilerin yürütmeden önce derlemek ve aygıtta çalıştırmak için sanal makineye dayanan derlenmemiş talimatlardır. Bu daha fazla uyumluluk sağlar; Eğer geliştirici zaten derlenmiş bir kod sağlayacaksa ve Snapdragon tabanlı bir işlemci için derlenmişse, örneğin bir Tegra çipinde düzgün çalışmayabilir. Dolayısıyla, bu cihazdaki derleme bu sorunu giderir.
Öyleyse, Dalvik ve Sorun Nedir?
Sorulması gereken soru bu değil mi? Dalvik, Android’in 2007’de başladığından beri oradaydı ve o zamandan bu yana pek değişmedi, bununla birlikte temelde tam olarak uygulamaları derleyen Android 2.2 Froyo’da sunulan Just-In-Time (JIT) derleme yaklaşımı yaklaşımı dışında başlatıldığında veya kullanıcı gerekli talimatları sağladığında. Kullanışlı olduğu gibi kod satırını derleyen ve koyan önceki geleneksel tercüman yaklaşımına göre bir iyileştirmenin yanı sıra, uygulama ilk kez başlatıldığında kodun tersi yönde büyük bir fayda var.
Bunun nedeni sistemin bir araya gelmesi gerekmesidir.gerekli tüm dosyaları, uygulamayı derleyin ve RAM'e yükleyin. Derlenen uygulama RAM içinde kaldığı sürece, sessizce yanıt vermeye devam eder, ancak daha fazla uygulama yüklediğinizde ve RAM bittiğinde, ilk uygulama boşalır ve bu nedenle daha sonra başlatıldığında tüm işlem yeniden başlar. Bu yaklaşım kağıt üzerinde anlam ifade ediyor ve aslında platform için şimdiye kadar iyi çalışıyor. Bununla birlikte, sınırlı RAM'li eski cihazlar en çok acı çeker çünkü yükleme / boşaltma döngüsü daha sık devam eder ve bu nedenle, sistem genel olarak yanıt verme konusunda yavaş hisseder. Yeni sanal makine olan ART burada devreye giriyor.
ART Nedir ve Şeyleri Nasıl Geliştirir?
ART veya Android RunTime (güzel topal isim, evetbiliyoruz) Google’ın Android 4.4 KitKat’la geliştirici seçeneği olarak tanıttığı yeni bir deneysel sanal makine (Dalvik hala şimdilik varsayılan olarak ayarlandı). ART ve Dalvik arasındaki temel fark, bu kullanımların her ikisinin de kullandığı bir derleme yaklaşımıdır - ART, Dalvik’in JIT’ine aykırı olarak, uygulamalarını daha önce başlatılmadan önce derleyen yeni bir Zamana Dayalı (AOT) kavramı kullanmaktadır. Bunun anlamı, ilk kurulumların daha uzun süreceği ve uygulamalar dahili depolama alanında daha fazla yer kaplayacak, ancak aynı zamanda, uygulama yüklendikten hemen sonra uygulama tam olarak derleneceğinden, başlatma süreleri çok daha hızlı olacaktır. Benzer şekilde, derleme kısmı kurulum sırasında yalnızca bir kez bakımı yapıldığı için işlemci vergisi daha düşüktür ve bu da daha iyi pil ömrü ve genel performans sağlar.
Dalvik Vs. ART - Karşılaştırma
Devam etmeden önce her iki sanal makineyi de hızlıca karşılaştıralım.
Dalvik | SANAT |
Düşük depolama alanı tüketimi ancak daha uzun uygulama yükleme süreleriyle sonuçlanan Just-In-Time (JIT) yaklaşımını kullanır | Yüklendiğinde uygulamaları derleyen, daha hızlı yükleme süreleri ve daha düşük işlemci kullanımıyla sonuçlanan Zamanın Önünde (AOT) yaklaşımını kullanır |
Önbellek zamanla oluşturulur, bu nedenle önyükleme süreleri daha hızlı | Önbellek ilk önyüklemede inşa edilmiştir, bu nedenle yeniden başlatma cihazı önemli ölçüde daha uzun sürer |
Daha az yer kapladığı için daha düşük dahili depolama aygıtları için daha iyi çalışır | APK'lerin yanı sıra derlenmiş uygulamaları sakladığı için çok daha fazla dahili depolama alanı kullanır. |
Kararlı ve test edilmiş zaman - uygulama geliştiricileri için tercih edilen VM | Oldukça deneysel ve yeni - uygulama geliştiricilerin henüz pek desteği yok |
ART, Deneysel Diyorsunuz…
Evet ve şu anda yalnızcaSnapdragon yonga setleri ve Android 4.4 KitKat çalıştıran cihazlar. İstenirse, gizli Geliştirici seçeneklerinden Dalvik'ten ART'e geçiş yapma seçeneğine sahipsiniz, ancak bazı uygulamalarınızın düzgün çalışmayabileceğini unutmayın. Ayrıca, daha önce Dalvik’in altında bir uygulama önbelleği varsa, geçişi yaptıktan sonraki ilk yeniden başlatma işlemi yarım saat kadar sürebilir.
Google öncelikle ART’iGeliştiriciler için KitKat ile birlikte oynamak ve gelecekte kalıcı bir geçiş için zemin oluşturmak. Bu hiçbir şekilde ART'in bugün kullanıma hazır olduğunu ima etmez. Gelecekte olacak, ama şimdilik, deneysel ve son kullanıcı tarafından günlük kullanıma uygun değil.
ART'in yararlarına gelince, karışıkraporlar. Çoğu gözden geçirici için, test cihazları, ART'den elde edilen hızları gerçekten gözlemlemek için fazlasıyla yeterli bir kurulum olan, 2 gig RAM'in üzerinde dört çekirdekli işlemcilerden oluşuyor. Yine de, rasgele kullanıcılar hızda% 50 ve pil ömründe% 30'dan fazla kazançlar olduğunu bildirmektedir. Yine de diğerleri bunun bir plasebo etkisinden başka bir şey olmadığını iddia ediyor.
Adil olmak gerekirse, ondan önce hiçbir şey söylenemez.kitlelere uygun hale gelir ve deneysel etiketi kaybeder. Dolayısıyla, bu tartışmayı daha sonra için saklayacağız. Kesin olarak bu noktada söylenebilecek olan şey ART'ın geleceği olduğu yönünde. Google, en büyük meslektaşı olan iOS'la gerçekten eşleşmesi için önceden derleme işlemlerine devam edecek ve ART yolu açacak. İsmin ne kadar saçma göründüğü veya tam olarak ne kadar eksik olduğu önemli değil, ART'ı daha çok görmeye devam edeceğiz.
Yorumlar