Os aplicativos iOS são executados em segundo plano?

15

Digamos que se eu instalar uma dúzia de jogos e utilitários no iPhone e também instalar aplicativos de bate-papo como WhatsApp, WeChat, Line e

  1. Quando o iPhone é reiniciado, todos esses aplicativos também podem ser iniciados e ocupar um tempo valioso do processador e recursos do sistema?

  2. E se eu iniciar um aplicativo, tocar explicitamente duas vezes no botão Início e deslizar o aplicativo para fora (para sair). Pode ou parte dela ainda pode ser executada em segundo plano agora ou mais tarde?

  3. Como todas as mensagens do WhatsApp, WeChat, Line e Facebook me notificam sobre novas mensagens, parece que elas estarão em execução assim que eu reiniciar o iPhone. Eles estão usando minha CPU em segundo plano? Além disso, parece que, mesmo se eu desativar a Atualização de aplicativo nas configurações, os aplicativos ainda poderão ser executados em segundo plano . Isso é verdade?

Uma grande preocupação é, se eu instalar todas as variações do Angry Birds, alguns jogos de roleta do cassino e todas as versões do Cut the Rope e não se incomodar em excluí-las (o telefone possui 128 GB de armazenamento). Então, todos esses aplicativos serão executados no momento da reinicialização do iPhone ou apenas aleatoriamente e ocuparão o tempo do processador e os recursos do sistema (como RAM)?

falta de polaridade
fonte
1
Eu publiquei um guia muito longo sobre tudo o que há para saber aqui, espero que realmente ajude você!
owlswipe
Minha resposta ajudou? Por favor, aceite-o ou diga-me o que há de errado para que eu possa melhorar! :)
owlswipe

Respostas:

29

A Apple tem diretrizes muito rígidas sobre como e quando os aplicativos podem ser executados em segundo plano.

A seguir, são os únicos cenários em que um aplicativo iOS de terceiros pode usar a CPU em segundo plano.

Busca em segundo plano

Qualquer aplicativo pode usar a "Busca em segundo plano" (também conhecida como atualização de aplicativo em segundo plano) para buscar conteúdo em segundo plano por alguns segundos, aproximadamente uma vez por dia (em um período regulado pelo iOS, fora do controle do desenvolvedor). A busca em segundo plano ocupa muito pouca bateria e CPU e é usada principalmente por aplicativos de notícias / clima / mídia social / correio para atualizar seu feed, para que, quando você abrir o aplicativo, ele não fique completamente desatualizado.

Áudio, Voz sobre IP, Comunicações Bluetooth

Se um aplicativo reproduzir áudio em segundo plano (pelo AirPlay ou pelos alto-falantes do telefone), o iOS permitirá que ele seja executado em segundo plano até que pare de tocar a música; se um aplicativo permitir fazer chamadas telefônicas baseadas em dados (como chamadas WhatsApp ou Skype) em segundo plano, ele pode permanecer ativo, usando a CPU durante a duração da chamada; e se um aplicativo se comunicar com Acessórios Bluetooth (como o aplicativo Pebble se comunicando com o Pebble Smartwatch), ele poderá permanecer acordado permanentemente em segundo plano.

Downloads da banca de jornais, notificações remotas

Os aplicativos do Play Banca (desde que sejam aprovados pela Apple como uma organização de notícias importante e apareçam na parte do Play Banca da App Store) têm permissão para baixar novos conteúdos em segundo plano; qualquer aplicativo (como o aplicativo do New York Times) que precisa exibir notificações geradas fora do aplicativo (por exemplo, notificações de notícias de última hora) pode ficar acordado em segundo plano para receber essas notificações "remotas".

Atualizações de local

Se você permitir que um aplicativo "sempre" use sua localização (por exemplo, em segundo plano), ele poderá estar ativo a qualquer momento em segundo plano. Aplicativos como o Facebook, Localizar amigos e outros usam isso para atualizar informações relacionadas ao local, embora outros aplicativos possam usá-lo para usá-lo clandestinamente para realizar tarefas em segundo plano (mas somente se você permitir especificamente que eles acessem seu local).


Um equívoco muito comum é que "deslizar para cima" em um aplicativo para matá-lo impede que ele funcione em segundo plano: isso é totalmente falso. Os aplicativos que têm um dos sete motivos acima para operar em segundo plano podem operar em segundo plano, independentemente de você estar "passando" neles, e os aplicativos que não possuem um desses sete motivos não podem operar quando não estão na tela, mesmo que você não os mate.

Outro equívoco (que você parece ter!) É que desativar a "Atualização de aplicativo em segundo plano" impedirá que um aplicativo funcione em segundo plano; na verdade, isso desabilita apenas um aplicativo de usar a busca em segundo plano, mas pode operar em segundo plano se tiver um dos outros seis motivos, independentemente da opção Atualizar aplicativo em segundo plano.


Então, os aplicativos que você instalou usando CPU, memória, bateria ou dados em segundo plano? Você pode descobrir facilmente! Vá para o Settingsseu iPhone, encontre a Batteryseção e dê uma olhada. Se um aplicativo mostra "Atividade em segundo plano" com o nome, ele está usando a CPU em segundo plano; caso contrário, ele não fará nada em segundo plano.

Aqui está um exemplo de captura de tela:

insira a descrição da imagem aqui

Neste iPhone, o Podcasts opera em segundo plano, mas nenhum dos outros aplicativos possui. Entrar nas configurações da bateria é uma maneira simples de saber se o Angry Birds está sendo executado em segundo plano.


Então, para responder suas perguntas diretamente:

Quando o iPhone é reiniciado, todos esses aplicativos também podem ser iniciados e ocupar um tempo valioso do processador e recursos do sistema?

Somente se eles estiverem configurados especificamente para serem executados em segundo plano, você poderá verificar se eles estão fazendo isso nas configurações de bateria do seu iPhone.

E se eu iniciar um aplicativo, tocar explicitamente duas vezes no botão Início e deslizar o aplicativo para fora (para sair). Pode ou parte dela ainda pode ser executada em segundo plano agora ou mais tarde?

Sim. Por exemplo, se o Facebook usar serviços de localização (como faz), deslizar para matar o aplicativo do Facebook não impedirá que ele use sua localização em segundo plano e, enquanto estiver usando sua localização, ele poderá executar praticamente qualquer outra tarefa em o fundo também.

Como todas as mensagens do WhatsApp, WeChat, Line e Facebook me notificam sobre novas mensagens, parece que elas estarão em execução assim que eu reiniciar o iPhone. Estão usando minha CPU em segundo plano? Além disso, parece que, mesmo se eu desativar a Atualização de aplicativo nas configurações, os aplicativos ainda poderão ser executados em segundo plano. Isso é verdade?

WhatsApp, WeChat, Line, Hangouts, FB Messenger e outros aplicativos de bate-papo usam o remote notificationsrecurso para verificar novas mensagens em segundo plano de vez em quando. Esse é o comportamento esperado (e você pode verificar o quanto eles estão fazendo isso verificando o uso de bateria por aplicativo, novamente nas configurações da bateria) e não deve esgotar muito a bateria. E, de fato, desativar a Atualização de aplicativo para esses aplicativos não terá efeito, pois os aplicativos usam notificações remotas e não a busca em segundo plano para operar em segundo plano.


TL; DR: os aplicativos podem usar os recursos do seu telefone em segundo plano; você pode ver quanto eles estão fazendo em Settings-> Battery.


Fontes de informação:

coruja
fonte
2
é muito bom ... você pode citar alguma referência / fonte sobre isso?
nonopolarity
2
@ 太極 者 無極 而 生 Todas as informações vieram do meu conhecimento pessoal como desenvolvedor de iOS, mas também adicionei algumas fontes na parte inferior da minha resposta.
owlswipe
1
Excelente resposta. Como um item trivial, a Apple desativou as notificações remotas para aplicativos fechados com força no iOS 7. Mas como as pessoas que expulsaram compulsivamente todos os aplicativos se queixaram de não receber notificações, isso foi adiado no iOS 7.1 ou 7.2.
2
@ Phong Eu gosto, eu não sabia disso! Obrigado: D.
owlswipe
3
Você está incorreto quanto a não interromper a força se os aplicativos podem usar a Execução em Segundo Plano. Apple on BE : "[iOS] não reinicia os aplicativos após ... forçar o encerramento do usuário. Uma exceção são os aplicativos de localização ... no iOS 8 e posterior ... [Caso contrário], o usuário deve iniciá-lo explicitamente ou reiniciar ... antes que o aplicativo [seja] iniciado automaticamente em segundo plano pelo [iOS] ".
tubedogg