Uygulama İlk Açılışta Neden Yavaş? Soğuk Başlangıcın Mantığı
Bir uygulamanın günün ilk açılışı neden uzun sürer, ikinci açılışı neden hızlıdır? Soğuk başlangıç, önbellek ve donanımın ısınma süresi anlaşılır biçimde anlatılıyor.
Nehir Sancaktar 4 dk okuma
Bir uygulamayı günün ilk kez açtığınızda bekleme çubuğunun uzadığını, aynı uygulamayı beş dakika sonra tekrar açtığınızda ise neredeyse anında geldiğini fark etmişsinizdir. Bu fark bir arıza değil, cihazların çalışma biçiminin doğal bir sonucudur. Yazılımlar da tıpkı bir işe girişen insan gibi bir hazırlık aşamasından geçer: gerekli parçaları toplar, ayarları okur, belleğe yerleşir. Bu ön hazırlık tamamlanana kadar geçen süreye teknik dilde soğuk başlangıç denir.
Soğuk başlangıç ile sıcak başlangıç arasındaki fark
Soğuk başlangıç, uygulamanın hiç yüklü olmadığı bir noktadan ayağa kalkmasıdır. Program dosyaları depolama biriminden okunur, ayar dosyaları çözümlenir, arayüz sıfırdan kurulur, gerekiyorsa ağ üzerinden ilk veri çekilir. Sıcak başlangıçta ise bu adımların çoğu zaten yapılmıştır; uygulama bellekte kısmen durmaktadır ve sistem yalnızca ekrana getirme işini yapar. Aynı düğmeye basıyor olsanız da arka planda yapılan iş miktarı iki durumda çok farklıdır.
Önbellek neden ikinci açılışı hızlandırır
Önbellek, sık kullanılan verinin daha hızlı erişilen bir yerde tutulmasıdır. Cihazınız bir dosyayı diskten okuduğunda onu bir süre bellekte saklar; aynı dosya tekrar istendiğinde yavaş depolamaya gitmeye gerek kalmaz. Aynı mantık tarayıcıda görseller, haritada döşeme parçaları, müzik uygulamasında kapak resimleri için de geçerlidir. Önbellek dolduğunda ya da temizlendiğinde uygulama yeniden soğuk davranmaya başlar; bu yüzden "önbelleği temizledim, yavaşladı" şikâyeti aslında beklenen bir davranıştır.
Isınma yalnızca yazılımda değil
Donanım tarafında da benzer bir hazırlık vardır. İşlemciler güç tasarrufu için düşük frekansta bekler ve iş geldiğinde kademeli olarak hızlanır. Depolama birimleri uykudan çıkar. Ekran kartı ilk karelerde gerekli hesap parçalarını derler, bu yüzden bir oyunun ya da harita uygulamasının ilk saniyelerinde takılma görülebilir. Kablosuz bağlantı da anında hazır değildir: cihaz ağı bulur, kimlik doğrular, adres alır. Bütün bu adımlar toplandığında ilk saniyeler kaçınılmaz olarak daha ağır geçer.
Ne zaman normal, ne zaman sorun
Birkaç saniyelik ilk açılış gecikmesi olağandır. Ancak her açılışta aynı uzun bekleme yaşanıyorsa, uygulama açıldıktan sonra da tepki vermiyorsa ya da cihaz belirgin biçimde ısınıp pil tüketiyorsa durum farklıdır. Böyle bir durumda depolama alanının dolmaya yaklaşması, arka planda çalışan çok sayıda uygulama, güncellenmemiş sürümler ya da bozulmuş bir önbellek dosyası akla gelir. Cihazın tümden yeniden başlatılması, bellekte biriken artıkları temizlediği için çoğu geçici yavaşlığı ortadan kaldırır.
Bekleme süresini kısaltmak için pratik alışkanlıklar
- Depolamada makul bir boş alan bırakın; dolu disk hem yazma hem önbellekleme işini zorlaştırır.
- Gerçekten kullanmadığınız uygulamaların arka planda çalışma ve otomatik başlangıç izinlerini kapatın.
- Güncellemeleri biriktirmeyin; büyük yığın güncellemeler açılışta uzun bir hazırlık işine dönüşür.
- Her açılışta uygulamaları elle kapatma alışkanlığından vazgeçin, bu her seferinde soğuk başlangıcı zorunlu kılar.
- Cihazı ara ara tamamen yeniden başlatın; sürekli uyku hâli birikmiş işleri taşımaya devam eder.
Ölçerken doğru karşılaştırma yapmak
Bir cihazın yavaş olup olmadığını anlamak isterken aynı koşulları karşılaştırmak gerekir. Yeni yeniden başlatılmış bir cihazdaki ilk açılışla, gün boyu açık kalmış bir cihazdaki tekrar açılışı yan yana koymak yanıltıcıdır. Aynı uygulamayı arka arkaya iki kez açıp süreleri karşılaştırmak daha anlamlıdır. Aradaki büyük fark önbelleğin iş gördüğünü, farkın hiç olmaması ise bir yerde takılma bulunduğunu düşündürür.
Ağ tarafındaki hazırlık payı
Uygulamaların bir bölümü açılırken sunucuyla konuşur; hesap doğrulaması yapar, güncel içerik listesini ister. Bu adım cihazın hızından çok bağlantının durumuna bağlıdır. Zayıf sinyalde ya da kalabalık bir kablosuz ağda ilk istek uzun sürebilir, uygulama da hazır görünmesine rağmen boş ekranda bekler. Böyle anlarda cihazı suçlamadan önce bağlantıyı denemek, aynı uygulamayı farklı bir ağda açıp süreyi karşılaştırmak sorunu doğru yere yerleştirir.
Hazırlık aşamasını hesaba katmak
Günlük kullanımda en çok yorucu olan şey, hazırlık süresinin varlığından habersiz beklemektir. Toplantıya girmeden hemen önce açılan sunum uygulaması, kapı önünde açılan harita, ödeme sırasında açılan bankacılık uygulaması hep aynı sorunu yaşatır. Bu uygulamaları ihtiyaç anından bir iki dakika önce açıp arka planda bırakmak, kullanıcının kendi tarafında yapabileceği en etkili düzeltmedir. Cihaz da işine girişmeden önce ısınmaya ihtiyaç duyar; bu süreyi planın içine koymak beklemeyi görünmez kılar.
Sonuçta ilk açılıştaki yavaşlık çoğu zaman bir kusur değil, görünmeyen bir hazırlığın göstergesidir. Cihazın ne yaptığını bilmek, hem gereksiz endişeyi hem de gereksiz müdahaleyi önler. Gerçek bir sorun varsa da bu, ilk saniyelerdeki normal gecikmeden ayırt edilebilir hâle gelir.