¿Cuáles son las ventajas y desventajas de ejecutar un servicio en un proceso diferente?

Quiero ejecutar un servicio de larga duración en segundo plano en mi App.so estoy usando el servicio para eso, pero en el servicio hay etiqueta llamada android:process Así que mi servicio es como ..

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

Pregunta::

Así que quiero saber sobre las ventajas y desventajas de ejecutar un Service en diferentes procesos.

La parte superior de mi cabeza…

Desventajas:

  • Tienes que usar la comunicación entre procesos para hablar con ella, lo que es más lento que si estuviera en el mismo proceso que el cliente.
  • La depuración se vuelve más difícil, ya que ahora hay un proceso diferente que potencialmente es necesario adjuntar.
  • Si se bloquea, se bloquea independientemente de su proceso principal. Uno podría argumentar que esto es una ventaja también. Algo a considerar.
  • Se necesita un cuidado especial en cualquier código de inicialización, como en su instancia de aplicación. Habrá una instancia del contexto de la Aplicación para cada proceso. Por ejemplo, si está inicializando algo como GCM, probablemente quiera asegurarse de hacerlo sólo en el proceso principal. (Refiriéndose a esto, específicamente: http://developer.android.com/reference/android/app/Application.html )

Parte superior

  • El único inconveniente real que puedo pensar, y realmente la única vez que he utilizado un proceso separado, es que usted consigue un espacio completamente nuevo montón para trabajar con independiente del proceso principal. Útil si necesita esta memoria para alguna operación.

Con : El uso de android:process=":myprocess" es realmente malo si desea actualizar los valores o comunicarse con la aplicación, ninguno de sus valores se actualizará .
Tenga cuidado al usarlo. (Me llevó un 2 días para averiguar)

Pro : no bloquea la aplicación mientras ejecuta un proceso largo.

  • Cómo desvincular correctamente los servicios
  • Paho MqttAndroidClient.connect siempre falla
  • Cualquier forma de detectar pulsaciones de teclas de volumen o cambios de volumen con el servicio de Android?
  • ¿Abre la aplicación de Android enviando un mensaje de texto?
  • Android - Iniciar un servicio con información adicional a través de put / getExtra
  • ¿Puede existir un servicio de fondo sin su aplicación principal?
  • Android: Transmisión de datos entre servicio y actividad
  • Android: El servicio se detiene cuando la actividad está cerrada
  • Uso de ResultReceiver en Android
  • ¿Cómo detectar cuándo el usuario inicia otra aplicación? (Androide)
  • Cómo iniciar el servicio en android sin actividad
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.