@levavare, penso che il momento giusto per registrare/annullare la registrazione dipende dalle vostre eventi e cosa si intende fare con loro. E può essere diverso per diversi eventi all'interno della stessa applicazione.
Ad esempio, sto utilizzando EventBus in un'app Android che monitora un dispositivo di registrazione dei dati in tempo reale (Arduino, in questo caso) tramite Bluetooth. Ho due tipi di eventi molto diversi.
Il primo evento è registrato dal mio codice Bluetooth per notificare a uno dei miei frammenti che è stato ricevuto un nuovo set di letture dello strumento dal dispositivo. Quel frammento poi li scrive su una tabella di database. È importante che l'evento sia sempre ascoltato e messo in pratica. Il frammento registra/non registra nei suoi metodi OnCreate/OnDestroy. Mi iscrivo anche a quell'evento con priorità elevata.
L'altro evento viene registrato dal livello del database quando il nuovo record viene aggiunto al database. Ho una serie di frammenti che mostrano diversi sottoinsiemi delle letture (temperature, pressioni, condizioni di allarme). Quando uno di questi frammenti viene visualizzato, dovrebbe essere aggiornato non appena la nuova lettura si trova nel database. Ma quando il frammento è fuori dalla vista, non c'è motivo per farlo agire in una lettura. Ho quei frammenti registrati/non registrati in OnStart/OnStop. Stavo andando a fare quel lavoro su OnResume/OnPause e, francamente, penso che avrebbe funzionato anche lì per la mia app. Ma la risposta e il collegamento di @ Jordy mi hanno convinto ad andare su OnStart/OnStop.
fonte
2016-06-05 22:18:48
Ho bisogno di usare anche 'onCreate() - onDestroy()'. Hai trovato degli svantaggi? – aandis
@zack, no non ho trovato alcun inconveniente al momento, ma era solo un'app PoC, quindi non era una vasta esperienza – levavare
@levavare, Si prega di contrassegnare una delle risposte qui sotto come accettate. Sembra che tu abbia deciso di essere d'accordo con la risposta/link di Jordy, ma questo non ha il maggior numero di uptotes, quindi è più difficile da trovare. –