MetroList: prevenire il crash dovuto al doppio unbind del servizio
Scritto da Alessio il 15/03/2026
Problema
Una race condition nel ciclo di vita di MainActivity poteva chiamare unbindService() due volte e causare IllegalArgumentException.
Modifiche
Ho tracciato lo stato con isServiceBound, protetto le chiamate di unbind e raccolto la pulizia in safeUnbindService(). L’arresto del servizio è indipendente dal percorso di unbind.
Risultato
Il cleanup del servizio è deterministico e il doppio unbind non causa più il crash descritto.
Commit: MetrolistGroup/Metrolist@a00968f