Ver mensagens sem resposta | Ver tópicos ativos Hoje é 19 Mai 2013, 19:05



Responder Tópico  [ 4 Mensagens ] 
 Ajuda com TimerTask 
Autor Mensagem
What is AVD?
What is AVD?

Data de registro: 15 Jan 2012, 20:10
Mensagens: 10
Mensagem Ajuda com TimerTask
Olá pessoal, alguém poderia me dar uma força com meu código? o prolema é o seguinte: Eu tenho uma aplicação que verifica um arquivo em um servidor de 1 em 1 segundo, estou usando o TimerTask para executar essa chamada de 1 em 1 segundo, o sistema funciona normalmente, mas quando passa um determinado tempo a aplicação começa usar muito processamento do celular, e começa não responder mais quando pressiona algum botão, segue o código para analise, se alguém puder dar alguma dica eu agradeço.


public void doTimerTask(){
            //Acessa uma URL
            //Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("http://www.injetronic-br.com")); startActivity(intent);
       
         mTimerTask = new TimerTask() {
            @Override
             public void run() {
                    // handler.post(new Runnable() {
                         MainActivity.this.runOnUiThread(new Runnable() {
                             @Override
                             public void run() {
                                 conteudo="";
                                    conta=0;
                                    try {
                                    URL url = new URL("http://192.168.0.30/cgi-bin/connect.cgi");
                                    InputStream is = url.openStream();
                                    int i;
                                    int dados;
                                    while((i = is.read()) != -1){conteudo+= ((char)i);
                                    conta = conta + 1;
                                    if (conta == 1) {
                                        dados =  Integer.parseInt(conteudo);
                                        if(dados == 1)buttonChave.setText("Chave Ligada");
                                        if(dados == 0)buttonChave.setText("Chave Desligada");
                                        conteudo = "";
                                    }
                                    }
                                    Texto1.setText(conteudo);
                                   
                                   
                                    }catch(Exception e) {}
                                    conta = 0;
                             }
                    });
             }};

         // public void schedule (TimerTask task, long delay, long period)
         t.schedule(mTimerTask, 500, 1000);  //

      }
 


10 Ago 2012, 21:01
Perfil
Dalvik Virtual Machine
Dalvik Virtual Machine

Data de registro: 17 Jul 2011, 10:55
Mensagens: 1990
Localização: São Paulo
Mensagem Re: Ajuda com TimerTask
Olá
Aumenta o tempo entre verificações.
Com 1 segundo está enfileirando solicitações, a anterior nem terminou e já está solicitando outra.
Coloca um tempo de minutos entre solicitações.
Outra coisa, coloca o acesso ao servidor para ser executado na thread não na UI thread.

_________________
Abraços
___________
Novo App: CalcMat - Calculadora de materiais para concreto
Blog: Agorandroid - sobre programação Android
Twitter: @Agorandroid
___________
Campanha: Facilite sua vida e a dos outros usuários
Netiqueta:Procure responder as sugestões. Quando encontrar a solução, coloque [Resolvido] no primeiro post o mais rápido possível. Lembre-se de agradecer às pessoas que ajudaram e poste a solução do problema.


12 Ago 2012, 07:25
Perfil
What is AVD?
What is AVD?

Data de registro: 15 Jan 2012, 20:10
Mensagens: 10
Mensagem Re: Ajuda com TimerTask
A H Gusukuma escreveu:
Olá
Aumenta o tempo entre verificações.
Com 1 segundo está enfileirando solicitações, a anterior nem terminou e já está solicitando outra.
Coloca um tempo de minutos entre solicitações.
Outra coisa, coloca o acesso ao servidor para ser executado na thread não na UI thread.


Obrigado por responder A H Gusukuma, mas eu preciso que a aplicação faça verificações constantemente, pois a informação trata-se de um estado de um botão, por isso preciso da informação a cada segundo, será que existe outra forma de conseguir a informação rapidamente?


12 Ago 2012, 22:38
Perfil
Android application
Android application

Data de registro: 14 Abr 2012, 18:06
Mensagens: 79
Mensagem Re: Ajuda com TimerTask
Eu diria que é quase impossível você conseguir esta resposta a cada segundo.
Lembre-se que você esta dependendo da internet amigão!

_________________
Aplicativo para android: https://play.google.com/store/apps/details?id=tmz.rastreador&feature=search_result#?t=W251bGwsMSwxLDEsInRtei5yYXN0cmVhZG9yIl0
Extensão para o chrome: https://chrome.google.com/webstore/detail/rastreador-de-pacotes-dos/cnlegggomkoaacenefdcdddgcgjhjmfg


20 Ago 2012, 00:49
Perfil WWW
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 4 Mensagens ] 

Quem está online

Usuários vendo este fórum: Abraao, Adriano, alberto, alex, Alexandre de Queiroz, alexandrefett, allone, Anakin Skywalker, ANDRE FELIX DE ASSIS, Andrey, andrigo, Androidthebest, AT-AT, Augusto, brazucx, brunogh, Bruto_JPO, caciara, Carla Luz, Carlos Almeida, Cassius, cesao, cesschneider, CKorneLL, Comandante Cody, compto, culumin, danielbfranco, DAVINCE, deivisonrpg, diemesleno, dreyer, DroidBot, edson dias de gusmao, eloilton, Emanuella, emersonbarros, erosvaldo, felipe.buarque, felipetesc, ffardo, flashking, Flavio, flaviojps, fraga, francismarconcini, frankmendes, Gabriel Laet, gedoor, Gooooogle, gutem25, HanNiBaLSeTDf, Ielo8, ismavolk, italoraony, itsN, jacksonst, jeanbr07, jefficojava, joaquimfoto, Joessi2007, Jorge Machin, jorgeFernandes, José Guilherme, kristopher, Kureiton, leonardodamata, lfirpo, Lucious, luiz.lago, luizcesar, Marcelo Alves, marcelosv, MARCIOHG, marciosoliveira, marcosandreao, martins, mayahaslinger, Mayron Cimardi, MSPRAFAEL, neimarguerra, NeruLL, niloleite, nsansilva, Nute Gunray, Odigooogle™, oliveiramc, paulanegreiros, Paulo Bizzo, pbcjunior, pgsnit, Rafael, rafaelmonoh, reginaldo, renegheller, rerp7, ricardoogliari, rlecheta, Roberto, rogeriopgomes, ruizsa, SERGIO RODRIGUES, shazaum, sidnei.gs, sjta, snonca, tassiovirginio, tavares767, Thelemita, thiago20, thiagotomais, thiaguim, ThiMatsu, tonical, vaniuz, viniciusgoncalves, Wds, wingdoido, woyzeck, xikin e 3 visitantes


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:

© 2007 - 2013 Portal Android - Comunidade de Desenvolvedores da Plataforma Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi