On 13 Feb 2018, at 9:17pm, Richard Hipp <d...@sqlite.org> wrote:

> On 2/13/18, Jens Alfke <j...@mooseyard.com> wrote:
>> On iOS (can’t speak for Android) apps do get notice that they’re going to be
>> terminated.
> I am told that that notification is best-effort and is not guaranteed
> to occur, nor is it guaranteed to be delivered to the application
> prior to the application being forcibly terminated.

The precise way this is done has changed from iOS version 6 to iOS version 10.  
The documentation states (and has always stated) that your app will get a 
backgrounding notification and a termination notification where possible.

One problem comes if your application does not acknowledge a backgrounding 
notification.  If this happens, then your application may not later get 
notified that it is being terminated.  So the protocol breaks down once either 
party isn't following it.

Another problem occurs if the phone receives a call at a time when the battery 
is running low.  Low battery means that the phone has little power to devote to 
background processing, since by law handling the phone call takes priority.  
This is probably the situation that Apple was talking about in Dr Hipp's post.

The most obvious problem happens if the phone runs out of power.  However 
current versions of iOS shut the device down (giving appropriate notifications) 
before the battery is truly out of power.  So they're not in much hurry.

sqlite-users mailing list

Reply via email to