Uma aplicação Android é baseada numa arquitetura de thread única, ou seja, todo componente é iniciado numa única thread, chamada de Main Thread ou UI Thread.
Se você já desenvolver em ambientes com interfaces gráficas, deve lhe ser familiar.
Essa arquitetura é conveniente devido aos fatos de que toda interação com o usuário e todo o tratamento de eventos serem confinados à uma única thread, então a UI Toolkit pode ser desenvolvida para não ser compartilhada por múltiplas threads, significando que não é thread-safe.
Não sendo thread-safe, fica claro o motivo de não podermos manipular a tela através de outra thread.
Por outro lado, qualquer operação de longa duração vai nos dar a sensação de que a aplicação "travou".
Aí, se entende a necessidade de usarmos outras threads para processar essas tarefas longas ou potencialmente longas.
Ao iniciarmos outras threads, a responsabilidade para sincronizar o ciclo de vida dessas threads com o ciclo de vida dos componentes é do programador.
Daí a necessidade de compreendermos bem programação concorrente.
Abraços!
Nenhum comentário:
Postar um comentário