Ką žinote apie failų saugojimo istoriją Android?
sobes.tech AI
Atsakymas iš AI
Failų saugojimo istorija Android įrenginiuose perėjo keletą pagrindinių etapų, atspindinčių pastangas pagerinti saugumą, privatumą ir patogumą dirbant su duomenimis.
Pradžioje, ankstyvose Android versijose, prieiga prie failų sistemos buvo gana laisva. Programos galėjo skaityti ir rašyti failus beveik bet kurioje vietoje išorinėje saugykloje (SD kortelėje), naudodamos WRITE_EXTERNAL_STORAGE ir READ_EXTERNAL_STORAGE leidimus. Tai sukeldavo problemų su duomenų organizavimu, konfliktų tarp programų ir saugumu, nes viena programa galėjo pasiekti kitos duomenis.
Padėtis pradėjo keistis su sandbox (piltuvėlio) koncepcijos atsiradimu kiekvienai programai. Kiekviena programa gavo savo privatų saugyklos erdvę savo duomenims (Context.getFilesDir(), Context.getCacheDir()), prie kurios kitos programos neturėjo tiesioginės prieigos.
Nuo Android 4.4 (KitKat) buvo pristatyta Storage Access Framework (SAF) – API, leidžianti valdyti prieigą prie dokumentų ir kitų failų per specialų sisteminį UI. Tai leido vartotojams pasirinkti failus ir katalogus, prie kurių programai buvo laikinas prieigos leidimas, be plataus READ_EXTERNAL_STORAGE leidimų suteikimo.
Svarbūs pokyčiai įvyko su Android 6.0 (Marshmallow) įvedus Runtime Permissions sistemą. Leidimai skaityti ir rašyti į išorinę saugyklą buvo prašomi vartotojo programos veikimo metu, kas padidino skaidrumą ir kontrolę prieigos prie duomenų.
Android 10 (Q) pristatė Scoped Storage (apibrėžtą saugyklą). Tai buvo svarbiausias pokytis per daugelį metų. Vietoj plataus prieigos prie visos išorinės saugyklos, programoms pagal numatytuosius nustatymus leidžiama tik prieiga prie:
- jų pačių privatų katalogų (
getExternalFilesDir()) - bendrų medijos kolekcijų (nuotraukos, vaizdo įrašai, garsas) per MediaStore API
- kitų vartotojo pasirinktų failų per SAF.
Platus prieigos prie išorinės saugyklos leidimas tam tikriems failų tipams (pavyzdžiui, dokumentų failams) tapo įmanomas tik per SAF. Programoms, kurioms reikėjo prieigos prie visų failų (pavyzdžiui, failų tvarkyklės), buvo įvestas naujas leidimas MANAGE_EXTERNAL_STORAGE, kuris reikalauja specialaus įvertinimo ir daugeliui programų nėra prieinamas.
Svarbūs keli punktai:
- Vidinė saugykla: visada buvo privati kiekvienai programai.
- Išorinė saugykla: pereita nuo laisvos prieigos prie griežtai kontroliuojamos ir izoliuotos saugyklos kiekvienai programai.
- MediaStore: yra pageidaujamas būdas dirbti su medijos failais bendrose kolekcijose.
- SAF: suteikia saugų ir patogų būdą vartotojui suteikti programai prieigą prie failų už jos privatų erdvę.
Sistemos saugojimo evoliucija atspindi Google siekį padidinti naudotojų duomenų saugumą ir supaprastinti failų valdymą kūrėjams.