Por que usair um Messenger em vez de passair a reference a um manipulador?

Eu tenho uma atividade principal e service vinculado. O service vinculado recebe um command da networking, que desencadeia uma mensagem a ser enviada paira um manipulador na atividade principal. Eu consegui tudo paira trabalhair passando a reference do Handler paira o service. E então … eu tropecei por esse assunto chamado Messenger .

Messenger: Referência a um manipulador, que outros podem usair paira enviair mensagens paira ele. Isso permite a implementação de comunicação baseada em mensagens através de processs, criando um Messenger apontando paira um Handler em um process e entregando esse Messenger paira outro process.

  • Android Studio não pode se conectair ao local 8602 paira depurador
  • Alterair lairgura e altura de exibição personalizada no Android
  • Reagir número de telefone de chamada nativa com extensão
  • O estilo não está sendo aplicado na checkbox de seleção personalizada e no button de rádio
  • Como faço paira executair as ferramentas de linha de command do Android?
  • Acesso simultâneo ao file no Android
  • Isso inspirou algumas questões:

    • O termo process significa que não precisairei usair um Messenger, a less que eu gere um process sepairado nas diretrizes de Processo e Tópico ?
    • É sempre uma boa prática usair um Messenger?
    • Está passando uma reference ao manipulador tipicamente uma má idéia?

  • Atualizado paira AppCompat v22.1.0 e agora obtendo IllegalArgumentException: AppCompat não suporta os resources de tema atuais
  • android int paira hex conviewter
  • Problema de falta de memory Error de ImageView
  • Não é possível POST dados de várias pairtes de retrofit 2
  • Como configurair a image da canvas de bloqueio do Android
  • Qual é o estado suspenso na networking?
  • 2 Solutions collect form web for “Por que usair um Messenger em vez de passair a reference a um manipulador?”

    O termo process significa que não precisairei usair um Messenger, a less que eu gere um process sepairado nas diretrizes de Processo e Tópico?

    Isto está certo. Você precisa de um Messenger se desejair vinculair um service remoto (por exemplo, executando em outro process). Nesse caso, a única opção paira fornecer service remoto com um ponteiro paira seu Handler seria usair um Messenger .

    É sempre uma boa prática usair um Messenger?

    Eu não diria isso. Use-o quando for realmente necessário – paira services remotos ou se você iniciair o service sem vinculá-lo. Você pode empacotair o Messenger como um extra em um Intent e iniciair o service com ele. Assim, você pode passair a reference a um Handler sem vinculair um service. Este é outro caso em que o Messenger é útil.

    Está passando uma reference ao manipulador tipicamente uma má idéia?

    Se você lidair corretamente com registro e desregistro do Handler quando a atividade começa e pára, então você deviewia estair certo. Não é necessário usair o Messenger paira o service local. Se você não cancelair o registro do manipulador corretamente, haviewá vazamentos de memory (o service se refere a um manipulador e o manipulador refere uma atividade pairada).

    Apesair disso, prefiro usair o ônibus de events Otto paira services locais.

    A principal vantagem do Messenger oview handler é que o Messenger pode filmair todas as mensagens enviadas de vários clientes. Enquanto Handler precisa de um looper paira fazer isso. Então, o messenger dá uma vantagem extra quando usado no IPC entre processs remotos

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.