O que devo fazer quando o processamento normal da minha candidatura ios é interrompido?

Em um dispositivo iOS, vários eventos além de terminação pode interromper seu aplicativo para permitir que o usuário para responder e sua aplicação se muda para a estado inativo.

Se o usuário optar por ignorar uma interrupção, a sua aplicação se move de volta para o estado ativo e continua a funcionar como antes. Se o usuário decide tocar o alerta, a sua aplicação, em seguida, muda-se para a sua estado fundo, onde ele está suspenso, mas permanece na memória.

Video: iPhone 6 iOS 8.1 Jailbroken vs. iPhone 6 iOS 8.1 Stock - Which Is Faster? (4K)

iOS envia-lhe uma série de mensagens para que você saiba exatamente o que está acontecendo, bem como dar-lhe a oportunidade de tomar ações, como salvar os dados do usuário e informações de estado, o que significa salvar o ponto onde o usuário estava no aplicativo. Porque o aplicativo está no fundo e ainda na memória, relançamento é quase instantânea.

objetos de um aplicativo permanecem na memória, para que eles não precisam ser recriados quando o aplicativo relança. Se a memória torna-se restrita, iOS pode purgar aplicativos em segundo plano para dar mais espaço para o aplicativo primeiro plano.

Video: iPhone 5S iOS 9.2.1 Low Power Mode Battery Review!

Porque essas interrupções causar uma perda temporária do controlo por seu aplicativo, eventos de toque não são mais enviados para a sua aplicação.

A sequência de eventos começa sempre da mesma forma - com o applicationWillResignActive: mensagem enviada ao delegado do aplicativo quando o aplicativo está prestes a mover-se de ativo para estado inativo. Neste método, você deve pausar as tarefas em curso, desative temporizadores, acelerador para baixo as taxas de frame OpenGL ES, e geralmente colocar as coisas em espera.

O que acontece depois disso depende a) a natureza da interrupção, e b) como o usuário responde à interrupção. Seu aplicativo pode ser movido para o fundo ou reativado.

Se o usuário responde à interrupção ou lançou outro aplicativo, seu aplicativo é movido para o fundo.

As próximas duas balas explicar as mensagens que seu aplicativo pode responder a depois de ter sido movido para o fundo:

  • o applicationDidEnterBackground: mensagem: Quando seu primeiro aplicativo entra no estado de fundo, ele é enviado a applicationDidEnterBackground:mensagem. Neste método, você deve salvar os dados não salvos ou Estado (O ponto de vista atual, as opções selecionadas, e coisas assim) em um arquivo cache temporário ou para o banco de dados preferências no disco.

    Mesmo que a sua aplicação entra no estado de fundo, você não tem nenhuma garantia de que ele irá permanecer lá indefinidamente. Se a memória torna-se restrita, iOS irá limpar aplicativos em segundo plano para dar mais espaço para o aplicativo primeiro plano. Você precisa fazer tudo o necessário para ser capaz de restaurar a sua aplicação no caso é posteriormente excluídos da memória.

    Se seu aplicativo é removido quando é neste estado suspenso, ele não recebe nenhum aviso de que ele é removido da memória. É por isso que você precisa para salvar os dados quando você recebe o applicationDidEnterBackground:mensagem.

    Video: iOS 9 - Improve Battery Life! (Low Power Mode)



    Quando o delegado é enviado ao applicationDidEnterBackground:método, a sua aplicação tem uma quantidade não documentada de tempo para terminar as coisas. Se o applicationDidEnterBackground:método não retornar antes do tempo acabar (ou se o seu aplicativo não solicitar mais tempo de execução do iOS), sua aplicação é encerrada e excluídos da memória.

    Se seu aplicativo requer mais tempo de execução ou tiver declarado que ele faz a execução do fundo, ele está autorizado a continuar funcionando após a applicationDidEnterBackground:método retorna. Se não, seu (agora) aplicação de fundo é movido para a suspenso Estado logo após o retorno do applicationDidEnterBackground:método.

    Se o aplicativo está em segundo plano, então ele pode ser relançado. Isso pode acontecer se o usuário seleciona o aplicativo a partir da tela inicial ou na barra de multitarefa, ou é lançada pelo sistema se o aplicativo processa eventos em segundo plano ou monitora uma mudança significativa localização, por exemplo.

  • o applicationWillEnterForeground: mensagem: Quando seu aplicativo é relançada a partir do fundo, ele é enviado a applicationWillEnterForeground:mensagem. Neste método, você precisa para desfazer o que você fez no applicationDidEnterBackground: método.

    Video: Saiba o que o Android faz e o iOS não faz!

Se o usuário ignora a mensagem SMS, ou o aplicativo é relançada a partir do fundo, a sua aplicação é reativado e começa a ficar sensível ao toque e outros eventos.

Quando seu aplicativo for reativado, ele é enviado a applicationDidBecomeActive: mensagem.

Você pode usar o applicationDidBecomeActive:método para restaurar o aplicativo para o estado em que estava antes da interrupção. Aqui você desfazer o que você fez no applicationWillResignActive método, tais como reiniciar as tarefas que foram pausados ​​(ou ainda não iniciados), enquanto o aplicativo estava inativo. Se o aplicativo estava anteriormente no fundo, talvez seja necessário atualizar a interface do usuário.

Enquanto um aplicativo está no estado de suspensão, o sistema rastreia e aglutina (realmente netsout) eventos que possam ter um impacto sobre esse aplicativo quando relança. Assim que o aplicativo é instalado e funcionando novamente, o sistema oferece esses eventos para ele. Para a maioria desses eventos, infra-estrutura existente do seu aplicativo deve apenas responder apropriadamente.

Apps são geralmente mudou-se para segundo plano quando interrompido. Mas se o aplicativo foi compilado com uma versão muito inicial do SDK, ou está sendo executado em uma versão inicial do sistema operacional que não suporta multitarefa - ou se você decidir que você não quer que seu aplicativo para executar em segundo plano e você definir a UIApplicationExitsOnSuspend -chave na sua Info.plist Arquivo - iOS termina a sua aplicação.

Mesmo que o seu aplicativo suporta multitarefa, você ainda deve estar preparado para seu aplicativo para ser morto sem qualquer notificação. O usuário pode matar aplicativos explicitamente usando a barra de multitarefa. Além disso, se a memória torna-se restrita, o sistema pode remover aplicativos da memória para dar mais espaço. Se isso não remover seu suspenso aplicativo, ele não lhe dar qualquer aviso!

Quando o delegado aplicativo é enviado ao applicationWillTerminate: mensagem nonmultitasking aplicações, ou aqueles em execução em segundo plano, você precisa fazer os mesmos tipos de coisas que você faz em applicationDidEnterBackground:, só que desta vez você fazê-las saber que a sua aplicação não ser voltar a partir do fundo.

Seu applicationWillTerminate: implementação do método tem uma quantidade limitada de tempo para fazer o que precisa fazer e voltar. Qualquer mais do que isso e seu aplicativo é encerrado e excluídos da memória.


Publicações relacionadas