2016-01-24 24 views
7

Quindi, la domanda è piuttosto auto-esplicativa. È possibile distruggere l'oggetto personalizzato Application (quello che dichiaro in AndroidManifest.xml) prima del Service avviato, purché Service sia non avviato in un altro processo?Il servizio Android può sopravvivere all'oggetto Application?

mia intuizione dice che non è possibile, dal momento che siamo in grado di accedere Application oggetto in Service chiamando getApplication(), più io non ho visto niente di simile nella documentazione, ma Android è piena di comportamenti divertenti imprevisti.

risposta

4

L'oggetto applicazione personalizzato (quello che dichiaro in AndroidManifest.xml) può essere distrutto prima del servizio avviato, a condizione che il servizio non venga avviato in un altro processo?

Ogni processo riceve il proprio oggetto Application e tale oggetto rimane attivo finché il processo non viene eseguito. Pertanto, qualsiasi componente (ad es. Uno Service) non può sopravvivere allo Application dal suo stesso processo.

3

Quando la procedura dell'app viene interrotta, anche tutti i servizi in questo processo vengono uccisi. Quindi no, un servizio non può sopravvivere a un oggetto Application - vedere Process Lifecycle in the Service docs.