@levavare, ich glaube, die richtige Zeit zu registrieren/unregister hängt von Ihren Veranstaltungen und was Sie beabsichtigt, mit ihnen zu tun. Und kann für verschiedene Ereignisse innerhalb der gleichen Anwendung unterschiedlich sein.
Zum Beispiel verwende ich EventBus in einer Android-App, die ein Echtzeit-Datenerfassungsgerät (in diesem Fall Arduino) über Bluetooth überwacht. Ich habe zwei ziemlich verschiedene Arten von Ereignissen.
Das erste Ereignis wird von meinem Bluetooth-Code gesendet, um eines meiner Fragmente zu benachrichtigen, dass eine neue Reihe von Instrumentenmesswerten vom Gerät empfangen wurde. Dieses Fragment schreibt sie dann in eine Datenbanktabelle. Es ist wichtig, dass das Ereignis immer gehört und gehandelt wird. Das Fragment registriert/hebt die Registrierung in seinen OnCreate/OnDestroy-Methoden auf. Ich abonniere diese Veranstaltung auch mit erhöhter Priorität.
Das andere Ereignis wird von der Datenbankschicht bereitgestellt, wenn der neue Datensatz zur Datenbank hinzugefügt wird. Ich habe eine Reihe von Fragmenten, die verschiedene Teilmengen der Messwerte (Temperaturen, Drücke, Alarmzustände) zeigen. Wenn eines dieser Fragmente angezeigt wird, sollte es aktualisiert werden, sobald sich der neue Messwert in der Datenbank befindet. Aber wenn das Fragment außer Sichtweite ist, gibt es keinen Grund dafür, auf eine Lesung zu reagieren. Ich habe diese Fragmente in OnStart/OnStop registrieren/abmelden. Ich würde diese Arbeit in OnResume/OnPause machen und, ehrlich gesagt, ich denke, dass es dort auch für meine App funktionieren würde. Aber @ Jordys Antwort und der Link haben mich überzeugt, stattdessen mit OnStart/OnStop zu gehen.
Ich brauche 'onCreate() - onDestroy()' auch. Hast du irgendwelche Nachteile gefunden? – aandis
@zack, nein Ich habe zu der Zeit keine Nachteile gefunden, aber es war nur eine PoC-App, also war es keine umfangreiche Erfahrung – levavare
@levavare, Bitte markieren Sie eine der untenstehenden Antworten als akzeptiert. Es hört sich so an, als ob du dich mit Jordys Antwort/Link einverstanden erklärst, aber das hat nicht die meisten Upvotes, also ist es schwerer zu finden. –