0
Wie Handler zusammen Dienst stoppenWie Stop-Service mit Handler
Service:
int delay = 10000;
new Handler().postDelayed(new Runnable() {
public void run(){
//Do Something every 10 seconds
new Handler().postDelayed(this, delay);
}
}, delay);
...
public void onDestroy() {
// TODO: Implement this method
super.onDestroy();
stopSelf();
}
In Aktivität auf I Stopservice dieser Handler weiterlaufen nennen.
Dies ist, wie die Dinge gemacht werden, anstatt in einer 'while (true') -Schleife zu laufen. +1. Für einen Bonus-Cookie würde ich vermeiden, Dutzende von Handlern zu machen und einfach die erste wiederverwenden. Dann in stopSelf() Rufen Sie einfach 'handler.removeMessagesAndCallbacks()' sowie 'running = false' an und machen Sie das. – Shark
Ja, Ihr Vorschlag ist sehr richtig, höchstwahrscheinlich werden keine weiteren Nachrichten gepostet, aber es ist so gut zu tun, nur für den Fall. –
beseitigt Hinweise auf tote Threads, die Speicher hilft und verhindert Verlangsamungen und hält es ansprechend.Obwohl, nicht sehr anwendbar, wenn ständig 'neue Handler's obwohl. – Shark