Le domande devono essere specificamente scritta per sfruttare le caratteristiche di multitasking. Non lo fanno solo gratis.
Quando l'utente "chiude" un'applicazione premendo la schermata iniziale, se è consapevole della commutazione rapida, verrà sospesa. Lo stato viene salvato e viene inviato in background ma non è eseguito.
Se un'app viene scritta in modo da sfruttare l'elaborazione in background per la posizione, VoIP o audio, solo alcuni aspetti continueranno a essere eseguiti nel backround. Es. se un'app VoIP viene sospesa, dirà al sistema operativo che desidera mantenere attive le sue prese di rete e ricevere una notifica se arriva una chiamata in arrivo su tali socket. In questo caso, l'app viene "riattivata" e riprende il controllo dei socket dal sistema operativo e riprende a riprodurre normalmente.
Nel caso in cui una chiamata sia già in corso e l'utente chiuda l'app, di nuovo l'app dice al sistema operativo di mantenere i socket vivi e di continuare a elaborare l'audio ma il resto dell'app (l'interfaccia utente, qualsiasi altra funzionalità) sono sospesi e non funzionano.
Le app su iOS4 si chiuderanno se non sono compilate sull'SDK 4.0 (quindi non sono a conoscenza del multitasking) o se la chiave UIApplicationExitsOnSuspend
è specificata e impostata su true nel file info.plist dell'app.
Le app vengono uccise su richiesta dal sistema operativo se il sistema inizia a esaurire le risorse.
Infine, un utente può uccidere un'app toccando due volte il pulsante Home, tenendo premuta una delle icone delle app sospese e quindi premendo il pulsante "Chiudi" che appare sul loro angolo.
non è ancora presente NDA? – KevinDTimm
@KevinDTimm - Non ci credo, ora che viene rilasciato iOS 4. –