Io sono un grande fan di aperta piazza contributi fonte ha fatto per la comunità Android e guardava nel loro ultimo contributo Otto (bus evento)Otto vs LocalBroadcast:
Scavando più a fondo vedo che Otto usa la riflessione e non c'è trasmissione ordinata (un modello in cui un messaggio non consumato viene trasmesso da un ricevitore al ricevitore successivo che ascolta sullo stesso tipo di evento) Otto crede in un modello più incendiario e dimentico.
Ora Android ha LocalBroadcastManager
(LBM) nella sua libreria di supporto v4 che ha lo stesso scopo, anche se è più ingombrante e ha più restrizioni sugli oggetti che vengono passati. Ma sul lato più luminoso supporta la trasmissione ordinata ed è più simile alla normale trasmissione.
Sia Otto che LBM si trovano nello stesso spazio di processo, quindi in termini di velocità suppongo che entrambi sarebbero uguali. L'unica vera differenza che ho potuto vedere è che Otto ti permette di definire eventi personalizzati e non devi serializzare/pacchi gli oggetti.
Quindi la mia vera domanda è quando useresti Otto se LBM fa le stesse cose.
Riferimenti:
http://nick.perfectedz.com/otto-event-system/
Using Intents or an event bus to communicate within the same app
https://plus.google.com/107049228697365395345/posts/6j4ANWngCUY
Sì mi correggo, non c'è sendOrderedBroadcast() su LBM, Relativo il senso I Registro ricevitori. Daremo un'occhiata anche a eventrobus di greenrobot. Grazie per il suggerimento – Chris
GreenRobot sembra davvero interessante, specialmente la parte post-adesiva. lo consiglieresti per risolvere i problemi di orientamento cambiato? per esempio per assicurarti che l'attività ottenga sempre il risultato di un servizio dopo che la ricreazione è stata completata? un semplice esempio sarebbe quello di aggiungere una chiamata di servizio a una coda usando la scarica per recuperare alcuni dati, dopodiché ruoto il dispositivo ... quindi il risultato di volley viene restituito e pubblicato usando greenrobot come trasmissione appiccicosa, mentre la mia attività non è ancora stata creata (in fase di riavvio) l'attività viene riavviata e quindi è possibile recuperare i dati necessari. pensi che questo sia legittimo? –
@NaderAyyad: se l'attività riceverebbe questi dati dal servizio tramite i messaggi EventBus, gli eventi persistenti potrebbero essere utili per le modifiche alla configurazione. – CommonsWare