2013-12-18 6 views
6

Voglio correre un lungo servizio in esecuzione in background nel mio App.so sto usando Servizio per questo, ma nel servizio c'è tag denominato android:process Quindi il mio servizio è come ..Quali sono i vantaggi e gli svantaggi di eseguire un servizio in processi diversi?

<service 
     android:name="com.purpleshade.services.ApplicationService" 
     android:process=":myprocess"> 

Domanda: :

Quindi voglio sapere i vantaggi e gli svantaggi di eseguire un Service in Processo diverso.

risposta

3

Fuori della parte superiore della mia testa ...

Svantaggi:

  • Devi usare la comunicazione tra processi per comunicare con esso, che è più lento che se fosse nello stesso processo come il client .
  • Il debug diventa più difficile, poiché ora c'è un altro processo a cui è potenzialmente necessario collegarsi.
  • Se si blocca, si blocca indipendentemente dal processo principale. Si potrebbe obiettare che questo è un vantaggio anche se. Qualcosa da considerare.
  • È necessario prestare particolare attenzione in qualsiasi codice di inizializzazione, ad esempio nell'istanza dell'applicazione. Ci sarà un'istanza del contesto dell'applicazione per ogni processo. Ad esempio, se stai inizializzando qualcosa come GCM, probabilmente vorresti assicurarti di farlo solo nel processo principale. (Riferendosi a questo, nello specifico: http://developer.android.com/reference/android/app/Application.html)

Upside:

  • L'unica vera testa mi viene in mente, e davvero l'unica volta che ho usato un processo separato, è che si ottiene un tutto lo spazio dell'heap nuovo su cui lavorare indipendentemente dal processo principale. Utile se hai bisogno di questa memoria per qualche operazione.
+0

+1 bella spiegazione..si comunichiamo con questo due differenti processi ?? che significa aggiornare i valori da un processo all'altro ?? –

+0

@kalyanpvs Scusa, non sono sicuro di aver capito la tua domanda. Puoi riformulare per favore? –

+0

se ho un servizio che gira continuamente in un processo diverso..ora voglio comunicare con l'attività che è in un altro processo..è possibile che questa comunicazione sia possibile se possibile allora come ?? –