Preciso estudar sobre Theads! alguém me indica um pôster?
Dica de estudo sobre Threads
4 Respostas
Você quer estudar especificamente como lidar Threads em android, ou quer saber sobre Thread em java?
especificamente como lidar Threads em android
O android tem uma Thread responsavel para cada tela, sendo que só ela pode ser usada para atualizar a tela conhecida como UIThread.
Exemplo: baixo informação, quando for modificar a imagem, terá que ser dentro da UIThread.
Um atalho de seu uso chamado runonUiThread. Esse é um dos detalhes mais importantes quando trabalhamos com Thread.
O outro é, se a tela ficar alguns segundos sem responder, ela quebra, por essa razão, seu app sempre que for fazer qualquer operação pesada deve rodar em uma Thread a parte.
//operação de IO pesada - baixando imagem
new Thread(() -> {
Img = //baixa imagem
atualizaImagem(Imagem imagem);
}
atualizaImagme(Imagem imagem) {
runOnUIThread() { //atualizando imagem pela ui Thread
Imagem img = (Imagem) view.findView(R.id.img);
}
}
}
No android é simples, sempre quando for fazer algo pesado deve iniciar uma Thread como em java para fazer aquilo, pois irá trabalhar em background.
Quando for atualizar a tela sempre deve usa
Eu gosto desses tutoriais sobre Thread que tem no android.developer
https://developer.android.com/guide/components/processes-and-threads.html?hl=pt-br
https://developer.android.com/training/multiple-threads/run-code.html
Eles são um pouquinho complicados, pelo menos pra mim, mas dão uma boa ideia do que pode ser feito.
Como o colega jonathan disse. os componentes de visualização de um activity, tudo aquilo que é uma especialização de View, é controlado pela UIThread. Porém o método runOnUIThread encapula uma chamada a do metodo Handler.post. Handler. A classe Handler permite que você interaja como uma instância de uma Thread, mande mensagens e atualize Views.
O entendimento sobre Threads vai além de atualizar Views através do metodo runUIThread. Acho que para implementar apps multithread, o programador vai precisar estudar sobre AsyncTasks e Services em android.
Bons estudos