Autore Topic: background service e thread  (Letto 559 volte)

Offline leone35

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    s6
background service e thread
« il: 13 Ottobre 2015, 10:43:59 CEST »
0
Salve, premettendo che mi sto approcciando solo da pochi giorni a questa programmazione ho una domanda da porvi. Quale è la differenza tra un background service e un thread? Ci stanno situazioni in cui è preferibile utilizzare l'uno rispetto all'altro? o comunque effettuare una scelta non esclude l'altra? Insomma tutto quello che sapete su questo argomento è ben accetto. Sono andato a spulciare la documentazione ufficiale ma la cosa continua a risultarmi poco chiara. Mi scuso in anticipo per la domanda che per molti potrà sembrare elementare.

Offline iClaude

  • Utente normale
  • ***
  • Post: 247
  • Respect: +17
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S8
  • Sistema operativo:
    Windows 10
Re:background service e thread
« Risposta #1 il: 13 Ottobre 2015, 11:15:12 CEST »
0
Per background Service intendi un Service che esegue operazioni in background tramite thread (che deve cmq creare con la sola eccezione dell'IntentService)?
Se è così,  e quindi ti è chiara la distinzione tra thread e Service, diciamo che un Service é in genere più indicato per eseguire lunghe operazioni in background perché il suo ciclo di vita non è legato a quello di un Activity.
Ad esempio,  immagina di scaricare dati da internet tramite un normale thread creato dalla tua Activity. Che succede quando l'operazione termina e i risultati devono essere comunicati all'Activity? Immagina se l'utente ha chiuso l'app oppure semplicemente ha ruotato il telefono.  L'app andrebbe in crash, a meno di non gestire la situazione come spiegato in questo tutorial:
Android - The Technical Blog: Managing AsyncTasks on configuration changes

Inoltre,  a parte questi problemi,  utilizzare un Service rende il codice meglio organizzato e più facilmente riutilizzabile.

Naturalmente per operazioni veloci, tipo scrivere dati inseriti dall'utente in un database locale,  anche un semplice thread potrebbe andare bene.

Offline leone35

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    s6
Re:background service e thread
« Risposta #2 il: 13 Ottobre 2015, 17:29:49 CEST »
0
Grazie per la risposta tempestiva e molto chiara!