Sobes.tech
Middle

Mida te teate faili salvestamise ajaloo kohta Androidis?

sobes.tech AI

Vastus AI-lt

Failide salvestamise ajalugu Androidis on läbinud mitu olulist etappi, mis peegeldavad püüdlusi parandada turvalisust, privaatsust ja mugavust andmetega töötamisel.

Alguses, Androidi varasemates versioonides, oli juurdepääs failisüsteemile suhteliselt vaba. Rakendused võisid lugeda ja kirjutada faile peaaegu igal pool välises salvestusruumis (SD-kaardil), kasutades õigusi WRITE_EXTERNAL_STORAGE ja READ_EXTERNAL_STORAGE. See põhjustas probleeme andmete korraldamisel, konfliktides rakenduste vahel ja turvalisuses, kuna üks rakendus võis saada juurdepääsu teise andmetele.

Seisukord hakkas muutuma sandboxi (liivakasti) kontseptsiooni ilmumisega iga rakenduse jaoks. Iga rakendus sai oma privaatse salvestusruumi oma andmetele (Context.getFilesDir(), Context.getCacheDir()), millele teised rakendused ei saanud otse ligi pääseda.

Android 4.4 (KitKat) versioonist alates tutvustati Storage Access Framework (SAF) — API, mis võimaldas hallata juurdepääsu dokumentidele ja teistele failidele spetsiaalse süsteemi kasutajaliidese kaudu. See võimaldas kasutajatel valida failid ja kataloogid, millele rakendus sai ajutise juurdepääsu, ilma et oleks vaja laialdasi READ_EXTERNAL_STORAGE õigusi.

Olulised muudatused toimusid Android 6.0 (Marshmallow) versiooniga, kui kasutusele võeti Runtime Permissions süsteem. Failide lugemis- ja kirjutamisload küsiti kasutajalt rakenduse käivitamise ajal, suurendades läbipaistvust ja kontrolli andmetele juurdepääsu üle.

Android 10 (Q) tutvustas Scoped Storage (piiritletud salvestusruumi). See oli kõige olulisem muudatus aastate jooksul. Selle asemel, et anda laialdane juurdepääs kogu välisele salvestusruumile, anti rakendustele vaikimisi juurdepääs ainult:

  • nende enda privaatsetele kataloogidele (getExternalFilesDir())
  • ühistele meediakogumikele (pildid, videod, heli) MediaStore API kaudu
  • teistele failidele, mille kasutaja valib SAF-i kaudu.

Laiaulatuslik juurdepääs välisele salvestusruumile teatud failitüüpidele (näiteks dokumentfailidele) oli võimalik ainult SAF-i kaudu. Rakendustele, millele oli vaja juurdepääsu kõigile failidele (näiteks failihaldurid), kehtestati uus luba MANAGE_EXTERNAL_STORAGE, mis nõuab eraldi hindamist ja ei ole enamiku rakenduste jaoks saadaval.

Mõned olulised punktid:

  • Sisemine salvestus: oli alati iga rakenduse jaoks privaatne.
  • Väline salvestus: läks teed vabast juurdepääsust rangelt kontrollitud ja isoleeritud salvestusruumi suunas iga rakenduse jaoks.
  • MediaStore: on eelistatud viis töötada meediafailidega ühiskogumikes.
  • SAF: pakub turvalist ja mugavat viisi kasutajale anda rakendusele juurdepääs failidele väljaspool selle privaatset ruumi.

Salvestussüsteemi evolutsioon peegeldab Google'i püüdlusi suurendada kasutajate andmete turvalisust ja lihtsustada failihaldust arendajatele.