Video: Tiago's Things 3 Mastery & Set-Up 2024
Ovviamente, un'app scritta nel sistema iOS passa attraverso un insieme di stati mentre corre. Questi stati sono noti come stati del ciclo di vita dell'app. Mentre un'app si muove attraverso gli stati del suo ciclo di vita, lo stato dell'app è definito dal suo livello di attività come Non in esecuzione, Attivo o Sospeso.
Ecco ulteriori informazioni sugli stati:
-
Quando un'app si trova nello stato Non in esecuzione , l'app non è stata avviata o il sistema lo spegne.
-
All'avvio di un'applicazione, questa passa attraverso uno stato breve, denominato inattivo . In realtà è in esecuzione, ma sta eseguendo altre funzioni e non è pronto per accettare input o eventi dell'utente.
-
Un'app in uno stato Attivo è in esecuzione in primo piano e riceve eventi. Questa è la modalità normale per le app in primo piano: app che non devono essere eseguite in background senza un'interfaccia utente.
-
Quando un'app si trova nello stato Sfondo , la sua interfaccia utente non è visibile, ma è in esecuzione. La maggior parte delle applicazioni transita attraverso questo stato nel suo percorso verso la sospensione.
Un'app può richiedere (e richiedere) tempi di esecuzione aggiuntivi e potrebbe rimanere in questo stato per un periodo di tempo. Inoltre, alcune app vengono eseguite in background. Una tale app immette direttamente lo stato di sfondo e non passa attraverso lo stato inattivo.
-
Il sistema iOS può spostare un'app in uno stato Sospeso . Qui l'app è in background ma è non codice in esecuzione. Rimane comunque nella memoria. Se si verifica una condizione di memoria insufficiente, il sistema può eliminare le app nello stato sospeso senza preavviso. Nota che, secondo gli standard Apple, solo il sistema iOS può uccidere un'app.
Man mano che la tua app passa attraverso gli stati del suo ciclo di vita, alcuni metodi standard dell'app, noti come lifecycle , vengono chiamati da iOS. Nel passare attraverso questi stati, è possibile aggiungere un comportamento specifico dell'app ad ogni transizione all'interno del ciclo di vita dell'app.
Le implicazioni sull'affidabilità di questo ciclo di vita sono che ogni volta che l'app passa dall'essere attiva in primo piano a essere in background, a essere sospesa e poi terminata, deve
-
rinunciare a tutte le risorse in suo possesso (come la rete connessioni e puntatori di file).
-
Salva qualsiasi stato che desidera conservare quando viene ripristinato in servizio attivo o si riavvia (questo processo è noto anche come checkpointing ).
Ma rinunciare alle risorse e salvare lo stato all'uscita dell'app è solo metà della storia. Mentre l'app passa attraverso la sequenza di avvio e le sue funzioni (in termini concreti, carica ed esce da ogni controller di visualizzazione), dovrebbe registrare ciò di cui ha bisogno di rinunciare e quale stato deve preservare in modo che le risorse vengano rilasciate e il lo stato viene salvato se l'app viene chiusa.