Daha hızlı depolama alanı istatistikleri

Android'in önceki sürümlerinde, sistem bir ölçmek için kullanılan özel bir uygulamadır. Bu manuel ölçüm birkaç dakika sürebilir hesaplayabilirsiniz.

Ayrıca önbelleğe alınmış veri dosyalarını temizlemek için kullanılan dahili algoritma, tüm uygulamalarda değiştirilmiş zamanı. Bu, kötü amaçlı uygulamaların çok ilerideki değiştirilmiş zamanları adil olmayan bir şekilde ayarlayarak genel kullanıcı deneyimini diğer uygulamalara göre kendilerini tercih ediyor olabilir.

Android 8.0, bu deneyimleri iyileştirmek için ext4 dosya sisteminin "kota" desteği, disk kullanım istatistiklerini neredeyse anında döndürür. Bu kota özelliği ayrıca tek bir uygulamanın kullanımını engelleyerek sistem kararlılığını iyileştirir. %90'dan fazla disk alanı veya iyotların% 50'si

Uygulama

Kota özelliği, varsayılan installd uygulamasının bir parçasıdır. installd, şurada etkinleştirildiğinde kota özelliğini otomatik olarak kullanır: dosya sistemine göz atın. Sistem otomatik ve şeffaf bir şekilde etkin olmadığında veya desteklenmediğinde manuel hesaplama bir engeli olabilir.

Belirli bir blok cihazda kota desteğini etkinleştirmek için:

  1. CONFIG_QUOTA, CONFIG_QFMT_V2 ve CONFIG_QUOTACTL çekirdek seçenekleri.
  2. Fstab'inizdeki kullanıcı verileri bölümünüze quota seçeneğini ekleyin dosya:
    /dev/block/platform/soc/624000.ufshc/by-name/userdata   /data
    ext4    noatime,nosuid,nodev,barrier=1,noauto_da_alloc
    latemount,wait,check,formattable,fileencryption=ice,quota

fstab seçeneği, mevcut tarayıcılarda güvenli bir şekilde etkinleştirilebilir veya devre dışı bırakılabilir cihazlar. fstab seçeneği değiştirildikten sonraki ilk başlatma sırasında, fsmgr, tüm kota verilerini güncellemek için fsck geçişini zorlar vardır, bu da ilk başlatmanın biraz daha uzun sürmesine neden olabilir. Sonraki bundan etkilenmez.

Kota desteği yalnızca ext4 ve Linux 3.18 veya sonraki sürümlerde test edilmiştir. Etkinleştiriliyorsa veya daha eski çekirdek sürümlerinde cihaz üreticileri test etmekten ve istatistiklerin doğruluğunu incelemekten sorumludur.

Özel donanım desteği gerekmez.

Doğrulama

StorageHostTest kapsamında herkese açık CTS testleri var Disk kullanımını ölçmeye yönelik API'ler. Bu API'lerin doğru değerleri döndürmesi beklenir. etkin veya devre dışı bırakılmış olması fark etmeksizin devreye girer.

Hata ayıklama

Test uygulaması, benzersiz asal sayılar kullanarak disk alanı bölgelerini dikkatli bir şekilde ayırır seçin. Bu testlerde hata ayıklarken herhangi bir hatanın nedenini belirlemek için bunu fark edebilirsiniz. Örneğin, bir test 11 MB delta ile başarısız olursa, Utils.useSpace() yöntemini kullanarak 11 MB blob'un getExternalCacheDir().

Hata ayıklama için faydalı olabilecek bazı dahili testler de vardır, ancak geçilmesi için güvenlik kontrollerinin devre dışı bırakılması gerekebilir:

runtest -x frameworks/base/services/tests/servicestests/ \
  src/com/android/server/pm/InstallerTest.java
adb shell /data/nativetest64/installd_utils_test/installd_utils_test
adb shell /data/nativetest64/installd_cache_test/installd_cache_test
adb shell /data/nativetest64/installd_service_test/installd_service_test