La meilleure utilisation de HandlerThread sur les autres classes comparables

Je suis en train d'essayer de comprendre la meilleure façon d'utiliser HandlerThread.

Que par définition:

"Pratique de classe pour commencer un nouveau thread qui a un looper. Le looper peut ensuite être utilisé pour créer des classes de gestionnaire. Notez que start() doit toujours être appelé."

J'ai peut-être tort, mais une fonctionnalité similaire, je peux atteindre à l'aide d'un Thread, Looper et Handler. Donc quand dois-je utiliser HandlerThread? Un exemple serait vraiment utile.

  • Je n'ai jamais utilisé HandlerThread, mais peut-être que ce post aidera - stackoverflow.com/questions/7462098/...
  • Merci pour la réponse. J'ai vérifié ce post, mais il parle de bénéficier de l'Exécuteur testamentaire plus HandlerThread, dont je suis complètement d'accord. Ma question est plus comme ce est la meilleure façon d'utiliser HandlerThread
  • Ce post traite également de cette question. Les exécuteurs sont plus souples et qu'ils peuvent gérer un pool de threads. Plusieurs threads - vous besoin d'utiliser un Exécuteur testamentaire. Seul thread - vous pouvez utiliser un HandlerThread. Pas sûr qu'il importe depuis l'Exécuteur coulc couvrir à la fois les situations. Comme je l'ai compris un HandlerThread permet simplement de créer un gestionnaire sur un thread d'arrière-plan - quelque chose qui peut être fait par d'autres moyens de toute façon.
  • Voir mon commentaire ici - stackoverflow.com/questions/17897536/how-to-handle-tcp-data/.... En général, je préfère HandlerThreads en raison de la super simple synchronisation via Messages. Cela dit, il peut aussi être un goulot d'étranglement. Aussi, il n'y a rien qui vous empêche d'utiliser un ExecutorService avec HandlerThreads. J'ai écrit auparavant, il n'est pas difficile.
  • c'était en fait ma question, si on peut faire des choses par d'autres moyens, ce qui est nécessaire pour créer une autre classe. Je suis sûr qu'il ya des avantages dans les scénarios particuliers, dont j'ai besoin de savoir.
  • idk si cette affirmation est vraie en général. Il y a beaucoup d'exemples de choses qui peut être fait de plusieurs façons qui n'ont pas nécessairement un avantage évident.
  • pouvez-vous veuillez donner un exemple, ou quelque part où je peux trouver un bout de code qui utilise HandlerThread de manière efficace. Les exemples que j'ai vus jusqu'à présent sont juste génériques..merci
  • Eu...si c'est le cas, je suis bien..merci
  • Voir ma réponse. J'ai dû creuser autour, mais je pense que c'est la distinction que vous cherchez
  • Voici un exemple où le système Android utilise un HandlerTread pour la gestion des clics pour les notifications de téléchargements à partir du navigateur: androidxref.com/4.4.2_r2/xref/packages/apps/Browser/src/com/...
  • s'il vous plaît pouvez-vous expliquer pourquoi HandlerThread peut être un goulot d'étranglement comme vous le dites?

InformationsquelleAutor Androidme | 2013-08-09