MacRumors

Skip to Content

Facebook исправляет проблемы с расходом заряда батареи в приложении для iOS

Новое обновление Facebook для iOS, вышедшее сегодня, исправляет серьезный баг, вызывающий быстрый разряд батареи, с которым в последние недели столкнулись некоторые пользователи Facebook. У затронутых пользователей наблюдался значительный расход заряда батареи на их iPhone из-за работы Facebook в фоновом режиме, что происходило даже при отключенной опции обновления приложений в фоновом режиме в настройках.

Хотя в примечаниях к последнему выпуску приложения Facebook нет упоминания этой проблемы, менеджер инженерного отдела Facebook Ари Грант написал пост (через TechCrunch), объясняющий причины утечки заряда батареи и то, как Facebook устранил эту проблему. По словам Гранта, несколько факторов способствовали возникновению проблемы, в том числе «зависание процессора» в сетевом коде и фоновые аудиосессии, которые удерживали приложение в активном состоянии, даже когда оно не было открыто.

facbook battery drain

Первая проблема, которую мы обнаружили, заключалась в «зависании процессора» в нашем сетевом коде. Зависание процессора похоже на ребенка в машине, который спрашивает: «Мы уже приехали? Мы уже приехали? Мы уже приехали?» — и этот вопрос не приводит к достижению пункта назначения. Такая повторяющаяся обработка приводит к тому, что наше приложение использует больше заряда батареи, чем предполагалось. Версия, выпущенная сегодня, содержит некоторые улучшения, которые должны начать исправлять это.

Вторая проблема связана с управлением аудиосессиями. Если вы выходите из приложения Facebook после просмотра видео, аудиосессия иногда остается открытой, как будто приложение воспроизводит звук в фоновом режиме. Это похоже на то, когда вы закрываете музыкальное приложение и хотите продолжать слушать музыку, занимаясь другими делами, только в этом случае это было непреднамеренно, и ничего не воспроизводилось. Приложение фактически ничего не делает, оставаясь активным в фоновом режиме, но простое пребывание в активном состоянии расходует больше заряда батареи. Наши исправления устранят эту проблему с аудио и полностью удалят фоновое аудио.

Когда проблема с расходом заряда батареи в Facebook только начала набирать обороты, Федерико Виттичи из MacStories высказал предположение, что она вызвана фоновым воспроизведением звука, что оказалось верным. Виттичи полагал, что Facebook использовал фоновое аудио намеренно, чтобы поддерживать активность приложения в фоновом режиме для выполнения задач, таких как предварительная загрузка контента, что, по его словам, демонстрировало «глубокое неуважение к пользователям iOS».

Касательно сегодняшнего заявления инженера Facebook Ари Гранта, Мэттью Панзарино из TechCrunch также предполагает, что есть вероятность, что фоновое аудио в Facebook могло использоваться намеренно, несмотря на заявление Facebook об ошибке.

Итак, если вы верите Гранту, это простая ошибка. Это могло случиться с кем угодно и т. д. Если вы ему не верите, то это было что-то, что Facebook делал, чтобы их приложение работало так, как они хотели, но Apple была против, и их поймали. Я не буду никого осуждать — ошибки случаются постоянно, и никто не любит, когда его ругают за простую оплошность. В любом случае, на это обратили внимание, и теперь это исправлено.

Грант говорит, что исправления для обеих проблем, вызывающих разряд батареи, были реализованы, и пользователи Facebook «должны увидеть улучшения в версии, выпущенной сегодня». Facebook также продолжит улучшать энергопотребление своего приложения для iOS.