Android BroadcastReceiver ou método de retorno de chamada simples?

Nos meus projetos estou usandoBroadcastReceivers como um retorno de chamada de um thread de execução longa (por exemplo, notifique a atividade de conclusão de um download e envie alguns dados de resposta de um WorkerThread para que a atividade possa exibir a mensagem apropriada para o usuário ..). UsarBroadcastReceivers Eu tenho que ter cuidado para registrar e cancelar o registro do receptor de transmissão cada vez que eu estou usando e também tem que cuidar de quais mensagens enviar esspecialy quando estou usando este método para mais ações diferentes (como baixar, fazer chamadas WebService etc. ). E também para enviar objetos personalizados através da intenção do Broadcast eu também preciso fazer os objetosParcelable.

Diferentemente dessa abordagem, também vi a abordagem de métodos de retorno de chamada, que parece ser mais simples do que o método que uso. Os métodos de retorno de chamada são simples Implementação de métodos de interface que podem ser usados ​​para obter o mesmo efeito que o do BroadcastRecaiver nas mensagens do aplicativo. Essa abordagem não precisa da implementação Parcelável para retornar objetos complexos e não usa chaves comoBroadcastReceiver.. Eu acho que a parte ruim é que eu preciso verificar o objeto de retorno de chamada para valor nulo antes de querer chamar um método de retorno de chamada .. e também para certificar-se de que estou executando o código da implementação no thread de interface do usuário para que eu possa atualizar a interface do usuário sem erros.

Ok, espero que você tenha entendido o que eu quis dizer :).

Agora, a questão é que você acha que o método de retorno de chamada é melhor (mais leve, mais limpo, mais rápido) do que oBroadcastReceiver abordagem quando são usados ​​apenas dentro de uma única aplicação? (Note que eu não estou usando o AndroidService para trabalho de fundo .. apenasAsyncTask eThreads)

Obrigado!

questionAnswers(5)

yourAnswerToTheQuestion