Sono un po 'confuso su come servizi di funzione, in particolare queste due cose:Android - Com'è possibile che un servizio continui a funzionare dopo che l'attività è stata chiusa?
Da http://developer.android.com/guide/topics/fundamentals/services.html:
Un servizio viene "ha iniziato" quando un componente di applicazione (come ad esempio un'attività) avvia chiamando StartService(). Una volta avviato, un servizio può essere eseguito in background indefinitamente, anche se il componente che lo ha avviato viene distrutto.
e:
Attenzione: Un servizio viene eseguito nel thread principale del suo hosting di processo del servizio non crea proprio thread e non viene eseguito in un processo separato (se non diversamente specificato) .
Le mie domande:
Come è possibile per un servizio che è stato avviato da StartService() sopravvivono, se il thread principale attività si chiude? O solo quei servizi sopravvivono allo spegnimento dell'attività principale, che si trova in un thread separato?
Come posso avviare un servizio in un thread separato? Il documento di sviluppo su http://developer.android.com/guide/topics/fundamentals/services.html#ExtendingService mostra solo un esempio su come generare un thread quando viene creato il servizio ... non come generare il servizio stesso in una nuova discussione ...
MODIFICA: Èandroid:process=
in manifest.xml utilizzato per avviarlo in un thread separato? (Se inizia in un nuovo processo, allora deve essere in un thread separato ..)
Potresti accettare la risposta? Grazie –
@ Kiran, accetto, se anche la mia seconda domanda è stata risolta. Vedi la mia modifica su un'ipotesi su come risolverlo. – sydd
Generalmente si generano i thread per distribuire il carico. Ma lo scopo di un servizio è di eseguire alcune operazioni pesanti senza interferire con l'attività. Rispondi a questa domanda: "Puoi avviare un'attività su un thread separato?". Con tutta probabilità, la stessa risposta è applicabile anche ad un servizio. –