Ինչ եք իմանում 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 к повышению безопасности данных пользователей и упрощению управления файлами для разработчиков.