Significant Location Change Event in two apps running on same device

I am using Significant Location Change (SLC) monitoring to relaunch my app after it has been terminated.

I have implemented SLC in two separate apps installed on the same device, and I would like to understand how the system delivers SLC events in this scenario.

Specifically:

  1. Will both apps receive the SLC event at the same time, or can there be differences in the timing of delivery?
  2. If there are differences, what factors influence when each app receives the event?
  3. What criteria or system conditions determine how and when SLC events are delivered to different apps on the same device?

Any clarification on the event delivery behavior would be greatly appreciated.

There are no guarantees that SLC events will arrive simultaneously for different apps.

First of all, the SLC is a relative distance service. When the app started the request will matter. Then how quickly they have processed the previous event and returned would matter.

The load of the app on the main thread (which is the thread these events are delivered by default) will effect how fast the events are delivered to the callback function.

And last but not least, the delivery of events to an app is controlled by the system and it will decide when an app, which is already not running in the foreground (at least one of them will be in the background), will receive these events. If the apps are terminated (as opposed to just being suspended in the background), further throttles will apply.

In summary, you cannot rely on two apps receiving the events at the same moment. If they do, you should consider those as happy coincidences, and not something to rely on in production.

Significant Location Change Event in two apps running on same device
 
 
Q