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, որը թույլ էր տալիս կառավարել փաստաթղթերի և այլ ֆայլերի հասանելիությունը հատուկ համակարգչային UI-ով: Դա թույլ տվեց օգտվողներին ընտրել ֆայլեր և կատալոգներ, որոնց հասանելիությունը ժամանակավոր էր, առանց լայն թույլտվությունների 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 к повышению безопасности данных пользователей и упрощению управления файлами для разработчиков.