Le app iOS funzionano in background?


15

Diciamo che se installo una dozzina di giochi e utilità su iPhone, e poi ho installato anche app di chat come WhatsApp, WeChat, Line, allora

  1. Al riavvio di iPhone, è possibile avviare anche tutte queste app e impiegare tempo prezioso del processore e risorse di sistema?

  2. 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?

  3. 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. Stanno usando la mia CPU in background? Inoltre, sembra che anche se disattivo Aggiornamento app in Impostazioni, le app possano essere eseguite in background . È vero?

Una grande preoccupazione è, se installo tutte le varianti di Angry Birds, alcuni giochi di roulette da casinò e tutte le versioni di Cut the Rope e non mi preoccupo di eliminarle (il telefono ha 128 GB di spazio di archiviazione). Quindi, tutte queste app potrebbero essere eseguite al momento del riavvio di iPhone o semplicemente in modo casuale e occuperanno il tempo del processore e le risorse di sistema (come la RAM)?


1
Ho pubblicato una guida molto lunga su tutto quello che c'è da sapere qui, spero che ti aiuti davvero!
owlswipe l'

La mia risposta mi è stata d'aiuto? Per favore, accettalo o dimmi cosa c'è che non va, così posso renderlo migliore! :)
owlswipe il

Risposte:


29

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 Settingssul tuo iPhone, trova la Batterysezione 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:

inserisci qui la descrizione dell'immagine

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 notificationspossibilità 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:


2
è abbastanza buono ... puoi citare qualche riferimento / fonte su questo?
polarità,

2
@ 太極 者 無極 而 生 Tutte le informazioni provenivano dalle mie conoscenze personali come sviluppatore iOS, ma ho anche aggiunto alcune fonti in fondo alla mia risposta.
civetta pulire il

1
Risposta eccellente. Come articolo curioso, Apple ha disabilitato le notifiche remote per le app a chiusura forzata in iOS 7. Ma poiché le persone che hanno espulso compulsivamente tutte le loro app si sono lamentate di non ricevere notifiche, ciò è stato rimesso in iOS 7.1 o 7.2.

2
@Phong Mi piace, non lo sapevo! Grazie: D.
civetta,

3
Non sei corretto sul fatto che l'abbandono forzato non sia correlato al fatto che le app possano usare Esecuzione in background. Apple su BE : "[iOS] non riavvia le app dopo ... forzata chiusura da parte dell'utente. Un'eccezione sono le app di localizzazione ... in iOS 8 e versioni successive ... [Altrimenti] l'utente deve avviarlo esplicitamente o riavviare ... prima che l'app [verrà] lanciata automaticamente in background da [iOS]. "
tubedogg,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.