Bom galera, estou tendo um problema com o Service do meu app, a lógica esta funcionando ele trabalha corretamente, o problema é que quando o Service esta funcionando o uso do processador do celular vai pro máximo, e isso deixa o celular mais quente e a bateria vai embora muito mais rápido, acredito que o problema seja um laço “while”, a intenção desse Service é que a cada 1 minuto ele execute o código dele e para isso utilizei um laço while num loop infinito dentro de uma Thread e utilizei “if” pare verificar se já se passou um minuto, vou deixar um esboço:
public void onCreate (){
super.onCreate();
contesto = this;
new Thread(new Runnable() {
@Override
public void run() {
Tarefa();
}
}).start();
}
public void Tarefa(){
while (true) {
if(já passou 1 minuto){
… código …
}
}
}
acredito que pelo fato do while esta rodando sem parar isso faça com que o processador fique sempre no máximo, só que eu não conheço uma outra forma de fazer esse código rodar constantemente, se alguém souber uma forma de fazer com que esse Service execute o seu código a cada 1 minuto sem ficar constantemente sugando todo o processador eu agradeço.