Sistem Güncellemesinden Sonra Uygulamalar Optimize Ediliyor Derken Android Ne Yapıyor

Android ile ilgili sıkça sorulan sorulardan biri midir bilmiyorum ama benim her güncellemeden sonra merak ettiğim bir konudur, Android'in sistem güncellemesinden sonra "uygulamaları optimize ediyorum ağabey" dediğinde ne yaptığı.


Kısa cevap, Android gerçekten ne söylüyorsa onu yapıyor: yeni güncellenen Android sürümü için her uygulamanın optimize edilmiş bir sürümünü oluşturuyor. Bu işlem tüm uygulamaların yeni Android sürümünde olabildiğince hızlı başlamasını sağlıyor.

APK Dosyaları ve Odex Dosyaları
Uzun cevap da şöyle: Android sisteminize bir APK dosyası eklediğinizde olduğu gibi değil farklı biçimde depolanıyor, odex denilen bir dosya biçimine dönüştürülüyor. Aşağıda bağlantısı da olan Wikipedia maddesine göre dex, Dalvik EXecutable ve odex de Optimized Dalvik EXecutable anlamına geliyor.

addictivetips.com, işlem hakkında şöyle bir açıklama veriyor:
Android'de uygulamalar .apk uzantılı paketlerle geliyor. Bu uygulama paketleri veya APK'ler öntanımlı işlevi yer kazanmak olan belirli .odex dosyaları içeriyor. Bu 'odex' dosyaları aslında bir uygulamanın yüklemeden önce optimize edilmiş parçalarının koleksiyonlarıdır. Bunu yapmak, uygulamanın bir bölümünü önceden yüklediğinden önyükleme işlemini hızlandırır.
Quora'da bu süreç hakkında biraz daha açıklama var. Bu sayfada, Ridhish Guhan şunları söylüyor:
Android işletim sistemi, yükleme işleminden sonra uygulamaları olduğu gibi (yani tek bir APK dosyası olarak) saklamaz. odex dosyası olarak adlandırılan uygulamanın optimize edilmiş bir sürümü Dalvik önbelleğinde saklanır.
Muhammed Ebrar Erdem bunu şöyle açıklıyor:
"Optimize ediliyor" diyor olsa da, işletim sistemleri, uygulamalarınız için sıfırdan "odex" dosyası oluşturur. Basit bir açıklama olarak, odex dosyaları, önyükleme ve uygulamaların açılış sürülerini kısaltabilir.
Bir StackOverflow gönderisi şunları ekliyor:
Android uygulamaları temel olarak ZIP arşivleridir. Java kodu, class.dex adlı bir dosyada saklanır. Bu dosya Dalvik JVM tarafından ayrıştırılır ve işlenen classes.dex dosyasının önbelleği telefonun Dalvik önbelleğinde saklanır. Bir Odex temel olarak bir uygulamanın class.dex'inin Dalvik için çalıştırılmaya hazır önceden işlenmiş bir sürümüdür.

Ek Okumalar
Android sürüm yükseltmesi gerçekleştirdikten sonra Android'in "uygulamalar optimize ediliyor" ifadesiyle ne demek istediğini öğrenmek isterseniz belki bunlar bir parça da olsa yardımcı olur.

Not: Bu yazı 2016'da, henüz Sailfish'e geçmeden önce yazmaya başladığım bir yazı. Büyük oranda sadece Alvin Alexander'ın What is Android doing when it says “optimizing apps” after a system upgrade? yazısının çevirisidir. Hala Android kullanıyor olsaydım o yazıyı temel alan ve biraz daha ek bilgi içeren bir yazı olacaktı ama işletim sistemimi değiştirince o kadar da merek etmemeye başladım işin iç yüzünü.

Yorumlar

Bu blogdaki popüler yayınlar

Diğer Dillerde Hoşçakal

Mızıka Tabları Nasıl Okunur

conio.h