Sto cercando una risposta tecnica a come la libreria Android Robospice gestisce il ciclo di vita delle attività. Dalla ottenendo pagina di iniziare:.In che modo Robospice gestisce il ciclo di vita delle attività?
https://github.com/octo-online/robospice/wiki/Starter-Guide
"Come una classe interna della vostra attività (o altro contesto), aggiungere un RequestlListener che aggiornerà l'interfaccia utente Non preoccuparti per le perdite di memoria, RoboSpice gestisce l'attività di ciclo vitale."
La mia domanda è: in che modo Robospice aggiorna automaticamente i listener della richiesta in modo che sia ancora in grado di chiamare il listener corretto con il contesto corretto dopo una rotazione e dopo che l'attività è stata distrutta e ricreata come una nuova istanza?
Ho cercato per il reverse engineering del codice sorgente, ma non hanno ancora trovato una risposta:
https://github.com/octo-online/robospice
Quindi, se non si fornisce un requestCacheKey e si hanno più istanze della stessa attività in esecuzione nello stesso momento, addListenerIfPending funzionerà ancora correttamente? O non ci sono abbastanza informazioni in quel caso? Questo è probabilmente uno scenario improbabile, ma sono curioso. – craigrs84
@snicolas, sono curioso, se non chiami shouldStop() (o il metodo non asincrono) la libreria non richiama gli ascoltatori registrati su Attività, Frammenti, Servizi, ecc.? Senza scavare troppo attraverso la fonte e basandomi sul mio utilizzo e test precoce della tua libreria, ricevevo un'eccezione quando ricevevo una richiamata a un oggetto che era "morto". Inoltre, la biblioteca è fantastica, per favore continuate così! – AllDayAmazing
Se non si chiama shouldStop, gli ascoltatori verranno attivati. Ciò può causare arresti anomali e perdite di memoria poiché spesso gli ascoltatori sono classi interne e contengono un riferimento su un'istanza dell'attività che sarebbe stata distrutta e può persino bloccarsi se si eseguono cose come findViewById negli ascoltatori. Penso che tu l'abbia capito, volevo solo chiarire le cose. – Snicolas