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

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

В описании к очередному обновлению он заявил, что в случае, если очередная попытка внедрить Scoped Storage не увенчается успехом, он попросту удалит приложение из Google Play и оставит разработку под Android. Это серьезное заявление, и с чем именно связаны проблемы по интеграции приложения, пока остается загадкой. Voice Aloud Reader — это программа, способная читать текст вслух, достаточно полезная кстати. И его исчезновение с Google Play может стать эдаким звоночком для Google. Что же стало причиной: недостаточно профессиональный разработчик или плохое API для работы со 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) область памяти, и уже затем производить с ней манипуляции. Представьте какой-нибудь редактор видео. Вы открываете видеоролик размером в 5 гигабайт, и приложению нужно будет сделать его копию в своей области памяти, чтобы иметь возможность изменять его. К тому же судьба тысячи файловых менеджеров в Google Play теперь под вопросом. Как они будут работать со всей памятью телефона, если будут иметь ограниченный доступ к ней? Это пока загадка.

С приходом 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. Но при этом разработчикам теперь нужно будет дольше возиться с разработкой, что не нравится, конечно же, кодерам, но для пользователей это, конечно, плюс.

Источник

Следующая новость
Предыдущая новость

Apple прекратит поддержку iPhone SE Сервис «Яндекс.Видео» оградит детей от нежелательных материалов" OnePlus готовит беспроводные наушники Bullets Wireless 2 Telegram разрешил архивацию чатов Google выпустит гибкий смартфон

Последние новости