I assume UA recommended this so that their own code comes across fewer conflicts / crashes. For example, if your application crashes, but the UA code runs in a separate process, then they can probably continue to work without interruptions (and to avoid possible data corruption that could occur if the process receiving them is suddenly killed).
For another hint, see this SO question: Running Android notification at startup . As you can see, some developers report that regular notifications for Android sometimes do not appear depending on the life cycle of application components. By placing UA PushService in a separate process, this can reduce this problem. I am going to check this because my UA notifications are sometimes not saved after a reboot.
By the way, it seems that the latest UA documentation no longer recommends declaring the Service as its own separate process.
source share