Depolama ekranındaki kategori toplamı ile uygulama önbelleği neden hiç uyuşmuyor?
Depolama ekranındaki kategori toplamı ile uygulama önbelleği neredeyse hiç uyuşmaz; bunun sebebi bir arıza değil, iki ekranın dosyaları farklı kurallara göre gruplamasıdır. Depolama ekranı bir dosyayı türüne göre bir kategoriye yazar, uygulama bilgisi ekranı ise aynı dosyayı sahibi olan uygulamanın altına koyar. Üstüne bir de bazı dosyalar iki yerde birden sayılır. Yani gördüğünüz fark, bozuk bir sayaç ya da yarım kalmış bir temizlik değil, aynı cihazda aynı anda çalışan iki ayrı sayım düzeninin doğal sonucudur.

Şimdi telefonu eline al. Ayarlar > Depolama'ya gir ve ekranın üstündeki tek büyük sayıya bak: toplam doluluk. Altında renkli çubuklar, yanlarında kategori adları. Fotoğraflar ve videolar, Uygulamalar, Sistem, bazen de "Diğer". Aşağı kaydır, listeden bir uygulamaya dokun ve bambaşka bir sayfaya düş: Uygulama bilgisi. Orada "Depolama ve önbellek" satırı, altında da birbirini tutmayan birkaç rakam.
İnsanı çıldırtan yer tam burası. Üstte "Diğer" 6 GB diyor. Sen ilgili uygulamaların önbelleklerini tek tek topluyorsun, eline çok daha küçük bir sayı geçiyor. Ya da tersi oluyor: önbelleği temizliyorsun, sevinçle depolama ekranına dönüyorsun, "Diğer" yerinden kımıldamamış.
Bunu ilk fark ettiğimde ben de "sistem beni kandırıyor" diye düşünmüştüm. Sonra iki ekranı yan yana koyup sakin kafayla bakınca anladım: bu iki ekran aynı şeyi ölçmüyor, o yüzden aynı cevabı vermiyor.
İki ekran, iki farklı cetvel
Depolama ekranı aslında bir tür listesi. Fotoğraf, video, ses, belge, uygulama. Dosya nerede durursa dursun, sistem onu türüne göre kendi kovasına atıyor. Kamerayla çektiğin tek bir video, kimin oluşturduğundan bağımsız olarak "Fotoğraflar ve videolar" satırının içinde.
Uygulama bilgisi ekranı ise bir sahiplik listesi. Sorduğu soru şu: bu alanı kim yönetiyor? Aynı ses dosyası, bir ses kayıt uygulamasının kendi klasöründeyse hem "Ses" kategorisinde hem de o uygulamanın veri rakamının içinde görünebilir. İki liste aynı dosyaları farklı sorularla tarıyor. Toplamlarının eşit çıkmasını beklemek, aynı evi bir kez metrekareyle bir kez oda sayısıyla ölçüp sonuçlar tutmuyor diye şaşırmaya benziyor.
Ayrıca şunu da baştan kabul etmek gerekiyor: depolama ekranındaki toplam ile listedeki uygulamaların toplamı hiçbir zaman tam tutmaz. Sistem dosyaları, paylaşımlı alandaki medya ve uygulama listesine girmeyen her şey o farkın içinde duruyor. Bu bir eksiklik değil, listenin tanımı gereği böyle.
Aynı önbellek neden iki kere sayılıyor
Burada işin can alıcı kısmına geliyoruz. Önbellek, uygulamanın kendi boyut rakamının içinde sayılır. Ama aynı önbelleğin bir kısmı, dosyanın fiziksel olarak nerede durduğuna bağlı olarak genel kategorilerden birinin içine de düşebilir.
Bazı uygulamalar önbelleğini kendi özel klasöründe tutar. Bazıları ise paylaşımlı alana yazar, çünkü oradan okuyup yazması daha kolaydır. Sistem, paylaşımlı alanda duran ama standart bir klasöre oturmayan bir dosyayı sınıflandırmakta zorlanınca onu "Diğer" tarafına atar. Sonuç olarak aynı veri, bir ekranda uygulamanın altında, diğer ekranda genel bir kategorinin altında karşınıza çıkar.
Bu yüzden önbelleği temizlediğinizde bazen uygulamanın kendi rakamı düşer ama en büyük kategori hiç oynamaz. Bir şey silinmiştir, sadece sizin baktığınız sayı o silinen şeyi saymıyordur.
"Diğer" satırı bir çöp kutusu değil
Çoğu kişi "Diğer" veya "Sistem" satırını, içine ne atılırsa atılsın boşaltılabilecek bir çöp kutusu sanıyor. Değil. O satır, sistemin düzgün sınıflandıramadığı her şeyin toplandığı yer: uygulama veritabanları, çevrimdışı kullanmak için indirilmiş harita paketleri, standart klasörlerin dışına kaydedilmiş medya, oyunların ek dosyaları, sistem günlükleri.
Bir uygulamanın verilerini silip "Diğer" rakamının küçülmesini beklemek bu yüzden çoğu zaman hayal kırıklığıyla biter. Sildiğiniz şey o uygulamanın payıdır; satırın geri kalanı başka uygulamalara ve başka dosyalara aittir. Üstelik aynı uygulamayı tekrar açtığınızda veritabanını yeniden oluşturur ve satır yeniden şişer.
Temizlediğin önbellek geri gelir, bu normal
Burada insanların en çok yanlış okuduğu işaret şu: önbelleği temizledikten bir gün sonra aynı rakamı görünce "demek ki temizlik işe yaramadı" diye düşünüyorlar. Oysa önbellek tanımı gereği yeniden üretilen bir şeydir. Uygulama bir sonraki açılışta aynı resimleri, aynı küçük veri parçalarını, aynı ara sonuçları yine önbelleğe yazar. Büyümesi bir başarısızlık kanıtı değil, çalışma biçiminin kendisi.
Bunu bir hız-veri takası gibi düşünmek daha doğru. Önbellek, uygulamanın her seferinde sıfırdan hesaplamasını önlemek için tuttuğu kısa yoldur. Onu tamamen ortadan kaldırmak mümkün değil; sadece o anki kopyayı siliyorsunuz, kısayolun kendisini değil.
Fotoğraflar bu tartışmanın tamamen dışında
Kamera dosyaları paylaşımlı depolamada, DCIM ve benzeri klasörlerde durur. Bir uygulamanın verilerini temizlemek oraya ulaşmaz. Galeriye bağlı bir uygulamanın verisini silmek de çoğu zaman dosyanın kendisini götürmez; çünkü o uygulama dosyanın sahibi değil, sadece göstericisidir. Medya dosyaları sistemin ortak medya dizininde indekslenir ve uygulama klasörlerinin dışında yaşar.
Pratikte de tablo şu yönde: fotoğraf ve videolar neredeyse her zaman, uğraştığınız herhangi bir önbellekten kat kat fazla yer kaplar. Yani önbelleklerle saatlerce uğraşıp yarım gigabayt kazanırken, aynı cihazda birkaç gigabaytlık video sessizce duruyor olabilir.
Windows'ta kural aynı, sadece isimler değişiyor
Aynı hikâyeyi bilgisayarda da yaşıyoruz. Ayarlar > Sistem > Depolama ekranı, Android'deki kategori düzeninin kardeşi. Karşınızda yine kategoriler var: Uygulamalar ve özellikler, Geçici dosyalar, Belgeler, Resimler, Diğer, Sistem ve ayrılmış. Kural da aynı: bir kategorideki temizleme işlemi, yalnızca o kategoriye ait dosyaları kaldırır. "Geçici dosyalar"ı temizleyip "Sistem ve ayrılmış" rakamının değişmemesini beklemek boşuna.
Buradaki fark da yine aynı kökten geliyor. Bir dosya hem bir uygulamanın klasöründe hem bir kategori başlığı altında sayılabilir. Geri Dönüşüm Kutusu'ndaki bir dosya da aslında hâlâ diskte durur; sistem onu "silinmiş" olarak işaretler, yer açılmaz. Bunların hepsi, üstteki toplam sayıyla kategorilerin toplamının neden tutmadığını açıklar.
Peki bu ekranlara nasıl bakmalı
Bu iki ekranı bir muhasebe defteri gibi değil, iki farklı harita gibi okumak gerekiyor. Muhasebede kuruş kuruş tutması beklenir; haritada ise birinin yolu, diğerinin arazi sınırını göstermesi normaldir.
Bunun pratik karşılığı şu: bir kategoriyi temizlemeden önce ve sonra aynı ekrana bakın, iki farklı ekranın rakamlarını birbirine kıyaslamayın. Kategori listesini "nerede ne var" sorusunu cevaplamak için kullanın, "toplam ne kadar olmalı" sorusunu cevaplamak için değil. En büyük kategoriyi görmek istiyorsanız üstteki çubuklara bakın; tek bir uygulamanın ne yediğini merak ediyorsanız uygulama bilgisi ekranına gidin. İkisini aynı anda doğrulamaya çalışmak, sadece kafanızı karıştırır.
Bir de şunu unutmayın: arayüzler üreticiden üreticiye, sürümden sürüme değişir. Bazı cihazlarda "Diğer" ve "Sistem" ayrı satırlardır, bazılarında tek satırda birleşir. Bazılarında kategori sınırları farklı çizilir. Bu yüzden tutmayan sayıları kesin bir kurala bağlamak yerine, genel mantığı bilmek yeterli: farklı soru, farklı cevap. Uyuşmazlık bir hata değil, iki farklı sayım düzeninin aynı cihazda buluşması.
Bunu bir kez kabul edince, o ekranlara her bakışınızda hissettiğiniz o "bir şey yanlış" duygusu da kayboluyor. Rakamlar hâlâ tutmuyor, ama artık siz neden tutmadığını biliyorsunuz.