Desde a semana passada, diversas pessoas reclamaram que o app do Facebook estava consumindo muita bateria no iOS, mesmo quando o usuário impedia que ele rodasse em segundo plano. O que aconteceu? A rede social diz que era apenas um bug.

O empresário Matt Galligan disse que o app do Facebook consumia 15% da bateria mesmo com o recurso “Atualização em 2º Plano” desativado. Mesmo que ele tenha usado o app por 1,7 hora, ele ficou ativo por 3,4 horas.



Diversos outros relatos semelhantes começaram a surgir, e o Facebook disse que estava analisando o problema para resolvê-lo. A solução chegou silenciosamente nesta quinta-feira à App Store.

Ari Grant, gerente de engenharia no Facebook, explica o que estava acontecendo. São dois problemas: o app consumia ciclos da CPU desnecessariamente; e ainda mantinha aberta uma sessão de áudio permanente depois que surgisse um vídeo no seu feed.

O primeiro problema que encontramos foi uma “espera ativa de CPU” em nosso código de rede. É como uma criança em um carro perguntando, “já chegamos? já chegamos? já chegamos?”, com a pergunta não resultando em qualquer avanço para chegar ao destino. Este processamento repetido fez com que nosso app usasse mais bateria do que o ideal. A versão lançada hoje tem algumas melhorias que devem começar a solucionar isso.

O segundo problema está na forma como gerimos sessões de áudio. Se você sair do aplicativo do Facebook depois de assistir a um vídeo, a sessão de áudio por vezes fica aberta como se o app estivesse reproduzindo áudio em silêncio.

Isso é semelhante a quando você fecha um aplicativo de música e quer continuar a ouvir a música enquanto faz outras coisas. Mas, no caso do Facebook, isso não foi intencional e nada continua tocando. O aplicativo não está fazendo nada em segundo plano, porém usa mais bateria simplesmente por estar acordado. Nossas correções vão resolver este problema de áudio e remover completamente o áudio de fundo.

Isso é verdade mesmo, ou conversa para boi dormir? O TechCrunch diz que muitos desenvolvedores usam o truque do “áudio silencioso” para manterem seus apps ativos em segundo plano. Isso permite fazer coisas como “pré-carregar conteúdo ou publicidade, fazer o upload ou download de arquivos, feed de notícias ou mais vídeos que tocam sozinhos”.

O problema chamou a atenção porque o Facebook é extremamente popular, e porque o consumo de bateria de cada app só aparece no iOS 9, lançado em setembro.

Grant pediu desculpas em nome do Facebook, e diz que sua equipe “está comprometida em melhorar o consumo de bateria de nosso app”.

Em 2013, o Facebook dizia que não queria ser apenas “focada em dispositivos móveis, e sim melhor em mobile”. O que aconteceu?

[Facebook via TechCrunch]