Quand j'ai besoin de quelque chose pour courir de manière asynchrone comme un une tâche de longue haleine ou une logique qui utilise le réseau, ou pour n'importe quelle raison, le démarrage d'un nouveau fil et l'exécuter fonctionne bien. La création d'un Manipulateur et l'exécuter fonctionne aussi bien. Quelle est la différence ? Quand dois-je utiliser chacun d'eux ? Quels sont les avantages / raisons d'utiliser un Handler
et non un Thread
?
PS. - Pour les besoins de cette question, ignorons AsyncTask
. - Handler().postDelayed
Le cas d'utilisation est clair pour moi, pour les besoins de cette question, supposons que la tâche doit commencer immédiatement.
0 votes
Dans votre situation, allez directement de l'avant et utilisez un nouveau Thread, ma prochaine suggestion serait AsyncTask mais ce n'est pas ce que vous voulez clairement. Les Handlers sont surtout utilisés si vous voulez ajouter un délai ou un autre type de personnalisation à un runnable.
1 votes
@kabuto178 eh bien, il y a d'autres avantages des handlers qui valent la peine d'être mentionnés et que vous avez omis. Par exemple, la possibilité d'interagir avec le thread de l'interface utilisateur à partir d'un thread séparé