Sobes.tech
Middle

Какво знаете за историята на съхранението на файлове в Android?

sobes.tech AI

Отговор от AI

Историята на съхранението на файлове в Android премина през няколко ключови етапа, които отразяват стремежа към подобряване на сигурността, поверителността и удобството при работа с данни.

Първоначално, в ранните версии на Android, достъпът до файловата система беше относително свободен. Приложенията можеха да четат и пишат файлове почти навсякъде на външното хранилище (SD карта), използвайки правата WRITE_EXTERNAL_STORAGE и READ_EXTERNAL_STORAGE. Това създаваше проблеми с организацията на данните, конфликти между приложенията и сигурността, тъй като едно приложение можеше да получи достъп до данните на друго.

Ситуацията започна да се променя с появата на концепцията за пясъчник (sandbox) за всяко приложение. Всяко приложение получи отделено лично пространство за съхранение на своите данни (Context.getFilesDir(), Context.getCacheDir()), до което други приложения нямаха директен достъп.

С Android 4.4 (KitKat) беше въведен Storage Access Framework (SAF) – API за управление на достъпа до документи и други файлове чрез специален системен интерфейс. Това позволи на потребителите да избират файлове и директории, до които приложението получава временен достъп, без да е необходимо да предоставят широки права READ_EXTERNAL_STORAGE.

Значителни промени настъпиха с Android 6.0 (Marshmallow) с въвеждането на системата за разрешения в реално време (Runtime Permissions). Разрешенията за четене и писане на външното хранилище започнаха да се искат от потребителя по време на изпълнение на приложението, което повиши прозрачността и контрола върху достъпа до данните.

Android 10 (Q) въведе Scoped Storage (ограничено съхранение). Това е най-съществената промяна за дълги години. Вместо широк достъп до цялото външно хранилище, на приложенията по подразбиране се дава достъп само до:

  • техните собствени приватни директории (getExternalFilesDir()).
  • общи колекции от медии (снимки, видеа, аудио) чрез MediaStore API.
  • други файлове, избрани от потребителя чрез SAF.

Широкият достъп до външното хранилище за определени типове файлове (например, файлове с документи) стана възможен само чрез SAF. За приложения, които изискваха достъп до всички файлове (например, файлови мениджъри), беше въведено ново разрешение MANAGE_EXTERNAL_STORAGE, което изисква специално разглеждане и не се предоставя на повечето приложения.

Някои важни моменти:

  • Вътрешно хранилище: Винаги е било приватно за всяко приложение.
  • Външно хранилище: Преодоля пътя от свободен достъп към строго контролиран и изолиран хранилищен за всяко приложение.
  • MediaStore: Явява се като предпочитания начин за работа с медийни файлове в общите колекции.
  • SAF: Предоставя безопасен и удобен начин за потребителя да предоставя на приложението достъп до файлове извън неговото лично пространство.

Еволюцията на системата за съхранение отразява стремежа на Google към повишаване на сигурността на данните на потребителите и опростяване управлението на файловете за разработчиците.