Mostrando postagens com marcador AsyncTask. Mostrar todas as postagens
Mostrando postagens com marcador AsyncTask. Mostrar todas as postagens

terça-feira, 22 de maio de 2012

Lidando com tarefas pesadas com AsyncTask

É comum, em aplicativos um pouco mais complexo, que seja necessário realizar alguma tarefa "pesada", ou seja, que demore um tempo considerável até terminar a execução. Pode ser uma requisição web, um calculo demorado ou configuração pesada no banco de dados.

Elas requerem uma atenção especial pois não é nada recomendável que as executem como parte do processo principal pois isso impede que o estado da aplicação mude, ou seja, não será possível atualizar a tela ou receber nenhum comando de entrada, a aplicação estará travada durante o processo, e no caso do Android, se isso demorar muito (mais que 5 segundos), será exibido um aviso dizendo que o aplicativo travou e o usuário poderá mata-lo.

Fora que isso oferece uma péssima experiencia pro usuário. O que se deve fazer é utilizar uma outra thread para o processamento pesado, deixando assim a thread principal responsável apenas pela operações básica e E/S.


 
© 2011 Tutoriandroid | Recode by Ardhiansyam | Based on Android Developers Blog