Google 致力于为黑人社区推动种族平等。查看具体举措
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Geleneksel Depolama

Android harici depolama HAL simgesi

Android, değişmez POSIX izin sınıfları ve modları ile büyük / küçük harfe duyarlı olmayan bir dosya sistemi olarak tanımlanan geleneksel depolamaya sahip cihazları destekler. Geleneksel depolama kavramı, taklit edilmiş ve taşınabilir depolamayı kapsar. Taşınabilir depolama, sistem tarafından benimsenmeyen ve bu nedenle biçimlendirilmeyen ve şifrelenmeyen veya belirli bir cihaza bağlanmayan herhangi bir harici depolama olarak tanımlanır. Geleneksel harici depolama, depolanan veriler için minimum koruma sağladığından, sistem kodu hassas verileri harici depolamada saklamamalıdır. Özellikle, yapılandırma ve günlük dosyaları yalnızca etkin bir şekilde korunabilecekleri dahili depolamada saklanmalıdır.

Çok kullanıcılı harici depolama

Android 4.2 sürümünden itibaren, cihazlar birden çok kullanıcıyı destekleyebilir ve harici depolama aşağıdaki kısıtlamaları karşılamalıdır:

  • Her kullanıcının kendi yalıtılmış birincil harici depolaması olmalı ve diğer kullanıcıların birincil harici depolamasına erişimi olmamalıdır.
  • /sdcard yolu, bir işlemin çalıştığı kullanıcıya bağlı olarak doğru kullanıcıya özgü birincil harici depolamaya çözümlemelidir.
  • Android/obb dizinindeki büyük OBB dosyalarının Android/obb , bir optimizasyon olarak birden çok kullanıcı arasında paylaşılabilir.
  • İkincil harici depolama, sentezlenmiş izinlerin izin verdiği pakete özel dizinler haricinde uygulamalar tarafından yazılmamalıdır.

Bu özelliğin varsayılan platform uygulaması, her Zygote çatallı işlem için yalıtılmış bağlama tabloları oluşturmak için Linux çekirdeği ad alanlarından yararlanır ve ardından bu özel ad alanına doğru kullanıcıya özgü birincil harici depolamayı sunmak için bağlama bağlarını kullanır.

Önyüklemede, sistem, uygulamalardan gizlenen EMULATED_STORAGE_SOURCE adresinde tek bir taklit edilmiş harici depolama FUSE daemon'u bağlar. Zygote çatallarından sonra, harici depolama yollarının uygulama için doğru bir şekilde çözümlenmesi için, FUSE arka plan programının altından uygun kullanıcıya özel alt dizini EMULATED_STORAGE_TARGET . Bir uygulama, diğer kullanıcıların depolama alanı için erişilebilir bağlantı noktalarına sahip olmadığından, yalnızca başlatıldığı kullanıcının depolama alanına erişebilirler.

Bu uygulama ayrıca, bağlama olaylarını varsayılan kök ad alanından uygulama ad alanlarına yaymak için paylaşılan alt ağaç çekirdeği özelliğini kullanır, bu da ASEC kapsayıcıları ve OBB bağlama gibi özelliklerin doğru şekilde çalışmaya devam etmesini sağlar. Bunu, rootf'leri paylaşımlı olarak bağlayarak ve ardından her Zygote ad alanı oluşturulduktan sonra onu slave olarak yeniden bağlayarak yapar.

Çoklu harici depolama cihazları

Android 4.4'ten başlayarak, Context.getExternalFilesDirs() , Context.getExternalCacheDirs() ve Context.getObbDirs() aracılığıyla geliştiricilere birden fazla harici depolama cihazı sunulmaktadır.

Bu API'ler aracılığıyla ortaya çıkan harici depolama aygıtları, aygıtın yarı kalıcı bir parçası olmalıdır (pil bölmesindeki bir SD kart yuvası gibi). Geliştiriciler, bu konumlarda depolanan verilerin uzun süre kullanılabilir olmasını bekler. Bu nedenle, geçici depolama aygıtları (USB yığın depolama sürücüleri gibi) bu API'ler aracılığıyla ortaya çıkarılmamalıdır.

WRITE_EXTERNAL_STORAGE izni, yalnızca bir cihazdaki birincil harici depolamaya yazma erişimi sağlamalıdır. Uygulamaların, sentezlenmiş izinlerin izin verdiği pakete özel dizinleri dışında ikincil harici depolama cihazlarına yazmasına izin verilmemelidir. Yazmaları bu şekilde kısıtlamak, sistemin uygulamalar kaldırıldığında dosyaları temizleyebilmesini sağlar.

USB ortam desteği

Android 6.0, USB flash sürücüler gibi cihaza yalnızca kısa bir süre için bağlı olan taşınabilir depolama cihazlarını destekler. Bir kullanıcı yeni bir taşınabilir cihaz yerleştirdiğinde, platform, o cihazın içeriğini kopyalamasına veya yönetmesine izin veren bir bildirim gösterir.

Android 6.0'da, benimsenmeyen tüm cihazlar taşınabilir olarak kabul edilir. Taşınabilir depolama yalnızca kısa bir süre için bağlandığı için platform, medya tarama gibi ağır işlemlerden kaçınır. Üçüncü taraf uygulamalar, taşınabilir depolamadaki dosyalarla etkileşim kurmak için Depolama Erişimi Çerçevesinden geçmelidir; doğrudan erişim, gizlilik ve güvenlik nedenleriyle açıkça engellenmiştir.