Новая функция Android 11 стала головной болью для разработчиков

Android 11 — достаточно крупное обновление. Google планирует показать его уже в мае этого года, а само обновление начнет распространяться уже в сентябре. Главными нововведениями станут улучшенная темная тема, упрощенная передача файлов по аналогии с AirDrop, а также новый способ организации памяти приложений ScopedStorage. Но давайте ближе к делу. Voice Aloud Reader имеет более 5 миллионов скачиваний в Google Play, однако будущее приложения теперь под вопросом из-за Scoped Storage. В чём проблема? Давайте разбираться.

Новая функция Android 11 стала головной болью для разработчиков. Scoped Storage? Боль или не боль? Фото.

Scoped Storage? Боль или не боль?

В описании к очередному обновлению он заявил, что в случае, если очередная попытка внедрить Scoped Storage не увенчается успехом, он попросту удалит приложение из Google Play и оставит разработку под Android. Это серьезное заявление, и с чем именно связаны проблемы по интеграции приложения, пока остается загадкой. Voice Aloud Reader — это программа, способная читать текст вслух, достаточно полезная кстати. И его исчезновение с Google Play может стать эдаким звоночком для Google. Что же стало причиной: недостаточно профессиональный разработчик или плохое API для работы со Scoped Storage?

Новая функция Android 11 стала головной болью для разработчиков. Обновление приложения @Voice Aloud Reader. Фото.

Обновление приложения @Voice Aloud Reader

Что же такое Scoped Storage?

Изначально Scoped Storage должна была появиться в Android Q, однако, вероятно, разработчики не успели адаптировать свои приложения, поэтому Google решила перенести выход на год. Scoped Storage — это изолированные куски памяти, выделяемые каждому приложению, впрочем, это даже можно понять по названию. В настоящее время в Android приложения работают с памятью по аналогии с Windows — они получают доступ ко всей файловой системе. Scoped Storage позволит изолировать определенные ячейки памяти под конкретные приложения.

Подобный принцип работы наблюдается в iOS. И примерно также работают вкладки Chrome, правда в этом случае они изолируются на процессы. Такая изоляция позволит улучшить безопасность системы, и приложения не смогут получать доступ к важным данным на смартфоне. Для взаимодействия с файловой системой Google предлагает использовать API Storage Access Framework. И разработчикам оно не очень нравится за счет медленной работы и плохой документации. По скриншоту ниже видно, насколько медленно работает новое API. В среднем SAF в 25-50 раз дольше работает с файлами.

Что же такое Scoped Storage? Scoped Storage. Фото.

Scoped Storage

Но проблема не только в этом. В Scoped Storage разработчикам приложений необходимо при работе с каким-либо файлом сначала копировать его в собственную изолированную (scoped) область памяти, и уже затем производить с ней манипуляции. Представьте какой-нибудь редактор видео. Вы открываете видеоролик размером в 5 гигабайт, и приложению нужно будет сделать его копию в своей области памяти, чтобы иметь возможность изменять его. К тому же судьба тысячи файловых менеджеров в Google Play теперь под вопросом. Как они будут работать со всей памятью телефона, если будут иметь ограниченный доступ к ней? Это пока загадка.

Почему Scoped Storage не такой плохой

С приходом Scoped Storage несомненно система станет более защищенной. Одни приложения не смогут получить доступ к данным других приложений. Теперь приложению для доступа к данным вне собственного Scoped Storage нужно будет получить подтверждение от пользователя. Это несомненно удобно. К тому же разработчики Android обещали к выходу Android 11 исправить проблемы с производительностью. А относительно необходимости копировать файлы в собственный Scoped Storage я задал вопрос одному из разработчиков Android-приложений, который ответил, что это удобно, а для работы с большими файлами лучше использовать InputStream.

К тому же некоторые разработчики уже давно работают с SAF и не испытывают каких-либо проблем. Возможно, проблемы возникнут лишь у разработчиков файловых менеджеров, где необходим доступ ко всем файлам системы.

Читайте также: Представлены 117 новых emoji: матрешка и трансгендеры

Я пошёл еще дальше, и изучил подкаст разработчиков Android (с 24:42 минуты), которые объяснили, зачем нужен Scoped Storage.

Попытаюсь вкратце пересказать о чём шла речь в подкасте. В Scoped Storage каждое приложение имеет отдельную папку, к которой можно получить доступ без всяких разрешений. Без Scoped Storage приложение с доступом к файловой системе может просмотреть личные данные пользователя, и это плохо. Как уже мы писали выше, разработчики отметили, что одни приложения не могут видеть файлы других приложений и имеют доступ лишь к тем файлам системы, к которым дал доступ сам пользователь с помощью диалогового окна. Таким образом, Scoped Storage — это, вероятно, самое крупное обновление за последнее время, которое случалось с Android. Но при этом разработчикам теперь нужно будет дольше возиться с разработкой, что не нравится, конечно же, кодерам, но для пользователей это, конечно, плюс.

А что думаете вы? Делитесь мнением в комментариях и не забывайте про наш чат Телеграм.

Теги
Лонгриды для вас
Почему Android-смартфоны стали получать больше обновлений, чем раньше

Еще каких-то 5 лет назад Android-смартфоны серьезно уступали компании Apple в части поддержки устройств. Даже топовые флагманы от известных брендов в лучшем случае получали пару крупных апдейтов, после чего выпуск обновлений для них прекращался. Но к 2025 году ситуация кардинально изменилась. Все больше производителей заявляет о расширении поддержки Android, предлагая 5, а то и 7 лет полноценных обновлений.

Читать далее
Что такое Android Canary, и чем такие обновления отличаются от обычных

Google официально объявила о запуске нового типа обновлений операционной системы через Android Canary. Это новый инструмент, который позволяет получать доступ к самым свежим функциям ОС задолго до того, как они попадут в состав бета-версий и уж тем более стабильных сборок системы. Своим появлением канал Android Canary заменяет выпускавшиеся ранее сборки для разработчиков (Developer Preview) и значительно упрощает процесс получения новых возможностей Android.

Читать далее
Samsung добавит в One UI 8.5 полезную функцию уведомлений, как у Apple

Samsung готовит новую функцию, которая может изменить привычный способ работы с уведомлениями. В новой операционной системе One UI 8.5 обнаружена функция AI‑сводки уведомлений — аналог решения, которое Apple ранее реализовала в своих iPhone. Однако корейская компания, похоже, сделает ставку на точность и локальную обработку данных, чтобы избежать прошлых ошибок конкурента.

Читать далее
Новости партнеров