O primeiro texto do blog poderia ser melhor, mais alegre, mas infelizmente é sobre um problema que eu estou enfrentando.

Do nada, sem motivo aparente, um processo no celular começa a rodar feito louco e consumir bateria. Eu já cheguei a ver ele perder mais de 50% de carga numa única noite (ou seja: sem uso algum pois eu estava dormindo, com sincronização desativada). A imagem abaixo ilustra o problema.

À esquerda o que mais estava consumindo bateria desde a última recarga, e à direita o detalhe sobre o processo guloso.

Isso não me disse muita coisa, pois não foi possível identificar corretamente quem era o culpado. Então instalei o Watchdog, para verificar quem era o responsável. E para minha surpresa ele apontou um tal de kworker.

Pesquisando um pouco descobri que ele é um processo do kernel, responsável por justamente cuidar de outros processos. Ou seja: pode ser qualquer coisa no aparelho provocando esse problema!! E o problema não acontece apenas no Android, mas também em distribuições Linux.

Não parece ser algo de construção do Galaxy Nexus, pois também acontece no Nexus S rodando o Ice Cream Sandwich. Então dá para suspeitar fortemente que o sistema seja o culpado mesmo.

Numa mensagem no XDA há uma teoria sobre a origem do problema. Assim que o aparelho é ligado, e o Gtalk sobe, ele abre a câmera (ou um processo relativo a ela), e não a fecha depois. Então fica um processo solto no sistema, que pode acontecer de acordar e provocar o consumo de bateria. A solução que apontam, claro que temporária, é assim que liga o aparelho acionar a câmera, e logo depois fechá-la (como se fosse tirar uma foto mesmo). Comigo não funcionou.

Há uma entrada nas páginas do Google relativas ao Android sobre o problema, mas a maioria das mensagens ali é de “comigo também acontece”, “igual a aqui”, e coisas semelhantes.

Será essa a causa da pausa no processo de atualização do Nexus S?