O iOS tem a capacidade de executar vários aplicativos na memória e permite alternar entre eles, restaurando o estado anterior?

1

Isto é para fins de compra; Ou seja, o kernel agenda os processos e encadeamentos que pertencem a todos os processos, e os aplicativos salvam estados que podem ser retomados a critério do usuário?

Por favor, preencha-me sobre o agendamento / estrutura do kernel do iOS.

axon be gone
fonte
O que você está perguntando se você quer perguntar se o usuário faz multitarefa no mar ou como o kernel funciona?
Mark
Tudo o que você acredita é a resposta.
axon be gone
Depende da pergunta
Mark
A questão está bem acima. A resposta é boa, independentemente de ser mais sobre o kernel ou aplicativos do usuário.
axon be gone
A questão é que as respostas são diferentes.
Mark

Respostas:

1

Não - o multithreading de processos é reservado apenas para o sistema operacional da Apple e os aplicativos (incluindo quase todos os aplicativos da Apple) não podem ser executados simultaneamente quando não estão no desenho de primeiro plano para a tela do iOS. Somente se o aplicativo chamar alguma API limitada (Safari ou outros aplicativos do kit de Webs de download em segundo plano é uma das tarefas em segundo plano listadas em branco - FWIW) o aplicativo pode executar trabalhos em seu nome pelo SO / kernel quando o aplicativo está em estado suspenso.

O kernel do iOS é a mesma base do kernel do OS X, portanto, sua pergunta sobre o estado de suspensão / continuação do aplicativo é mais sobre as estruturas de aplicativo em uso do que a estrutura subjacente do kernel.

Dito isso, o idioma do iOS é ter aplicativos pausados ​​pelo SO a qualquer momento e vários estados são armazenados em cache e salvos para que, uma vez que o kernel reinicie a execução de um aplicativo - se ele foi pausado por algumas dezenas de milissegundos ou algumas horas perfeita para o usuário quando o aplicativo é programado corretamente.

É claro que nem todos os aplicativos aderem a esse idioma, mas a maioria faz isso.

bmike
fonte