Почти каждый пользователь Android сталкивался с тем, что в мессенджерах, по электронной почте, в приложениях поступают новые сообщения, но смартфон, который лежит рядом, молчит и не оповещает о них. Об этих сообщениях узнаешь только тогда, когда разблокируешь смартфон и заходишь в приложения. Странным образом так происходит потому, что сервисы Google Play отсутствуют в Китае. Связь этой восточной страны с вашим смартфоном выяснили журналисты издания Android Police.
Проблема энергосбережения
С самого начала у Android была проблема с низкой автономностью, и в 2015 году Google реализовал функцию Doze в Android 6.0. Она серьезно ограничила самодеятельность приложений в фоне. Это существенно повысило автономность работы Android, но приложения должны были специально учитывать наличие Doze, если нужно было выполнять какие-то действия в фоновом режиме.
С выпуском Android 8.0 Oreo в Google еще больше «закрутили гайки» фоновой активности приложений, ограничив перечень доступных в этом режиме ресурсов. Приложения, которые нуждались в постоянной работе в фоне, начали показывать оповещения без возможности отключения.
Підписуйтесь на наш канал у Telegram: https://t.me/techtodayua
Введенные Google ограничения в целом оказались приемлемыми и не были проблемой. У разработчиков была документация, и они имели возможность достичь какого-то компромисса.
Проблемой стали надстройки, которые начали внедрять производители телефонов в своих прошивках для дальнейшего увеличения автономности. Некоторые просто удлиняли интервал пробуждения Android, другие разрабатывали интеллектуальные системы, которые учитывали ряд факторов. Но в конечном итоге эти надстройки ломали задуманное поведение приложений и раздражали пользователей.
Как это влияет на ваш смартфон
С последствиями активности вендорских надстроек в Android для улучшения автономности гаджета сталкивался почти каждый – длительные задержки в поступлении сообщений, опоздание напоминаний, прекращение работы стриминговых приложений в фоне и тому подобное.
Пострадавшим пользователям приходится для каждого нужного им приложения бороться с внедренной вендором системой энергосбережения, отключая ее. Но это неудобно, и приложения все равно могут работать не так, как ожидается.
Программисты также страдают
Вмешательство вендоров в системы энергосбережения Android является постоянной головной болью программистов. Им приходится самостоятельно отслеживать, какие производители внедряют подобные технологии, анализируя отзывы на Play Store, и разрабатывать способы обхода. Среди наиболее агрессивных борцов за автономность – OnePlus, Xiaomi, Huawei, Samsung.
Существует сайт don’T kill my app! site, который собирает информацию о фирменных функциях энергосбережения, которые вводят производители. По его данным, Meizu, Nokia, Sony и Asus также являются проблемными. Меньше проблем имеют пользователи устройств Google, HTC. OnePlus, которая является худшей в этом рейтинге, в прошлом году обещала ослабить строгость своих алгоритмов, но не похоже, что это произошло.
Почему производители не исправятся
Эксперт проблемы фоновой работы приложений в Android Мішаал Раман говорит, что корень проблемы – в отсутствии сервисов Google Play в Китае. На Android сервисы Google Play предоставляют унифицированную систему работы с уведомлениями.
Программисты из Китая, а также те разработчики, которые нацелены на глобальную аудиторию, включая Китай, должны заботиться о работоспособности своих программ в этой стране. Они не могут опираться на сервисы Google Play. В результате десятки программ используют разные фреймворки и различные способы работы в фона.
Такой «зоопарк» приводил к тому, что приложения чрезмерно потребляли энергию, находясь в фоновом режиме. Китайские вендоры в 2017 году решили это, введя свои строгие ограничения по энергоэффективности, использованию памяти, работы в фоне. Эти ограничения активны как в прошивках для Китая, так и глобальных прошивках для других стран.
Помочь может только Google
Положить конец неработоспособности приложений в фоне способен только Google. Однако приложения поискового гиганта находятся в системном разделе и имеют максимальные права и разрешения. Поэтому они обычно работают нормально, и с ними нет проблем в фоне. Для Google проблема может иметь значительно меньшую важность, чем для сторонних разработчиков.
Если бы Google захотел, он бы мог заставить вендоров смартфонов Android внести нужные изменения. Для этого необходимо, например, внести соответствующие пункты для получения сертификации на использование сервисов Google Play.