Apple ha linee guida molto rigide su come e quando le app possono essere eseguite in background.
Di seguito sono riportati gli unici scenari in cui un'app iOS di terze parti può utilizzare la CPU in background.
Recupero sfondo
Qualsiasi app può utilizzare "Background Fetch" (noto anche come aggiornamento dell'app in background) per recuperare il contenuto in background per alcuni secondi, circa una volta al giorno (in un intervallo di tempo regolato da iOS, fuori dal controllo dello sviluppatore). Background Fetch occupa pochissima batteria e CPU ed è utilizzato principalmente dalle app di notizie / meteo / social media / posta per aggiornare il tuo feed in modo che quando apri l'app non sarà completamente obsoleta.
Audio, Voice over IP, comunicazioni Bluetooth
Se un'app riproduce l'audio in background (tramite AirPlay o tramite gli altoparlanti del telefono), iOS consente di eseguirlo in background fino a quando non smette di riprodurre la musica; se un'app ti consente di effettuare chiamate telefoniche basate su dati (come Whatsapp o Skype) in background, può rimanere attiva, usando la CPU per tutta la durata della chiamata; e se un'app comunica con gli accessori Bluetooth (come l'app Pebble che comunica con Pebble Smartwatch), può rimanere attiva in background in modo permanente.
Download in edicola, notifiche remote
Le app in edicola (a condizione che siano approvate da Apple come una grande organizzazione di notizie e mostrate nella parte Edicola dell'App Store) possono scaricare nuovi contenuti in background; qualsiasi app (come l'app del New York Times) che deve visualizzare le notifiche generate all'esterno dell'app (ad esempio, le ultime notizie), può rimanere attiva in background per ricevere tali notifiche "remote".
Aggiornamenti della posizione
Se si consente a un'app di "sempre" utilizzare la propria posizione (ovvero in background), può essere attiva in qualsiasi momento in background. App come Facebook, Trova amici e altre usano questo per aggiornare le informazioni relative alla posizione, anche se altre app possono usarle per usarle di nascosto per svolgere attività in background (ma solo se si consente loro di accedere specificatamente alla propria posizione).
Un malinteso molto comune è che "scorrere" su un'app per ucciderla impedisce che funzioni in background: questo è del tutto falso. Le app che hanno uno dei sette motivi sopra elencati per operare in background possono funzionare in background indipendentemente dal fatto che tu ci scorra su di esse e le app che non hanno uno di questi sette motivi non possono funzionare quando non lo sono sullo schermo anche se non li uccidi.
Un altro malinteso (che sembra avere!) È che la disattivazione di "Aggiornamento app in background" interromperà il funzionamento di un'app in background; in realtà, ciò disabilita solo un'app dall'uso di Background Fetch, ma può funzionare in background se ha anche uno degli altri sei motivi, indipendentemente dall'interruttore di aggiornamento dell'app in background.
Quindi le app che hai installato usando CPU, memoria, batteria o dati in background? Puoi scoprirlo facilmente! Vai su Settings
sul tuo iPhone, trova la Battery
sezione e dai un'occhiata. Se un'app mostra "Attività in background" sotto il suo nome, allora sta usando la CPU in background; in caso contrario, non ha fatto nulla in background.
Ecco uno screenshot di esempio:
Su questo iPhone, i podcast hanno funzionato in background ma nessuna delle altre app lo ha fatto. Accedere a Impostazioni batteria è un modo semplice per sapere se Angry Birds è stato eseguito in background.
Quindi, per rispondere direttamente alle tue domande:
Al riavvio di iPhone, è possibile avviare anche tutte queste app e impiegare tempo prezioso del processore e risorse di sistema?
Solo se sono specificamente configurati per l'esecuzione in background, puoi verificare se lo hanno fatto nelle impostazioni della batteria del tuo iPhone.
Che cosa succede se avvio un'app, quindi faccio doppio clic in modo esplicito sul pulsante Home, quindi faccio scorrere l'app (per uscire). Può o parte di esso funzionare ancora in background ora o dopo?
Sì. Ad esempio, se Facebook utilizza i servizi di localizzazione (come fa), quindi scorrere verso l'alto per uccidere l'app di Facebook non le impedirà di utilizzare la tua posizione in background e mentre sta usando la tua posizione, può eseguire praticamente qualsiasi altra attività in anche lo sfondo.
Poiché WhatsApp, WeChat, Line e i messaggi di Facebook mi avvisano tutti di nuovi messaggi, sembra che saranno in esecuzione non appena riavvio il mio iPhone. L'utilizzo della mia CPU è in background? Inoltre, sembra che anche se disattivo Aggiornamento app in Impostazioni, le app possano essere eseguite in background. È vero?
Whatsapp, WeChat, Line, Hangouts, FB Messenger e altre app di chat utilizzano la remote notifications
possibilità di verificare la presenza di nuovi messaggi in background ogni tanto. Questo è un comportamento previsto (e puoi verificare quanto lo stanno facendo controllando l'utilizzo della batteria app per app, di nuovo nelle impostazioni della batteria) e non dovrebbe scaricare troppo la batteria. E in effetti, la disattivazione di Aggiornamento app per quelle app non avrà alcun effetto, poiché le app utilizzano le notifiche remote e non il recupero in background per operare in background.
TL; DR: le app possono utilizzare le risorse del telefono in background, puoi vedere quanto stanno facendo in Settings
-> Battery
.
Fonti di informazione: