Alle drei erlauben Ihnen, Aufgaben auf einem anderen (z. B. Nicht-Haupt) -Thread auszuführen. Mit der Handler können Sie eine Nachricht verwenden, die das Actor-Muster zur sicheren Kommunikation zwischen Threads übergibt. Es erlaubt Ihnen nicht, Timing/Verzögerungen/etc.
Eine ScheduledExecutorService ist eine sehr allgemeine Threading Management-Lösung. Sie initialisieren es mit einer bestimmten Anzahl an Worker-Threads und geben ihm dann Arbeitseinheiten. Sie können Arbeitseinheiten verzögern/Zeit und wiederholen.
Die Timer Klasse verfügt über eine einfache API, die einem ScheduledExecutorService für die einmalige Verwendung von einem Thread ähnelt. Die offizielle API schlägt vor, diese Klasse nicht zu verwenden, sondern stattdessen einen eigenen ScheduledExecutor zu erstellen.
http://stackoverflow.com/questions/2333680/android-schedule-action – assylias
Hauptunterschied zwischen Timer und ScheduledExecutor: Letzterer kann mehrere Threads verwenden (über einen Thread-Pool) und entfernen Sie das Risiko einer Task verzögert die nächste one: http://stackoverflow.com/questions/409932/java-timer-vs-executorservice – assylias
Dies zeigt eine gute Erklärung http://StackOverflow.com/A/6558821/1016544 –