¿Por qué debo comenzar el servicio de urbanairship como un proceso separado?

Utilizo UrbanAirship (UA) para la notificación push.

El servicio de empuje UA se configura en el archivo de manifiesto como sigue:

<service android:name="com.urbanairship.push.PushService" android:process=":com.urbanairship.push.process" /> 

Donde android: el proceso es opcional, pero recomendado en su documentación .

Cuando uso un solo proceso y cierro todas mis actividades, puedo ver que mi único proceso consume ~ 3mb de memoria

Cuando uso dos procesos (uno para la aplicación y otro para el servicio) y cierro todas mis actividades, puedo ver que ambos procesos están vivos, cada uno consume ~ 3mb de memoria.

Así que mi pregunta es: ¿cuál es el punto?

Mi conjetura es que UA recomienda esto para que su propio código se enfrentará a menos contención / interrupción. Por ejemplo, si su aplicación se bloquea, pero el código UA se ejecuta en un proceso aparte, es probable que el suyo continúe ejecutándose sin interrupción (y evite la posible corrupción de datos que podría ocurrir si el proceso que los aloja se extingue abruptamente).

Para obtener otra pista, vea esta pregunta SO: Iniciando una notificación de Android al inicio . Como puede ver, algunos desarrolladores informan que las notificaciones generales de Android a veces no se muestran dependiendo del ciclo de vida de los componentes de su aplicación. Al poner el UA PushService en un proceso independiente, esto podría mitigar este problema. Voy a probar esto porque mis notificaciones de UA a veces no persisten después de reiniciar.

Por cierto, parece que la última documentación de UA ya no recomienda recomendar el servicio con su propio proceso separado.

  • Actualización en tiempo real multiplataforma para teléfonos móviles
  • El Dirigible Urbano se estrella al despegar. Argumento de excepción ilegal
  • Volver a iniciar la aplicación Android cuando el usuario hace clic en la notificación de Dirigible urbano
  • Java.lang.NoClassDefFoundError: com.urbanairship.UAirship
  • Android: Urban Dirigible 6.0.1: android: elevation no se encontró ningún recurso que coincida con el nombre dado
  • No se puede obtener la notificación push desde el Dirigible Urbano
  • Notificaciones push en Android 5 no se entregan cuando la aplicación en segundo plano (Titanium) - Pero lo hace en primer plano
  • Cambiar el nombre del paquete de Android para el proyecto de phonegap
  • Dirigible Urbano - Push Sample => APID es cada vez nulo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.