Domanda

La mia applicazione crea alcuni file temporanei che ho bisogno durante tutto il suo ciclo di vita. Ho bisogno di disporre di questi file alla fine, in modo da non occupare spazio sul dispositivo. Ho pensato che avrei potuto eliminarli quando le si chiude applicazione, ma dal momento che il multitasking è stato introdotto il ciclo di vita non è così semplice come una volta. La mia domanda principale è: quando la mia applicazione si muove in background e viene ucciso in seguito, ci si riceve applicationWillTerminate:? O è solo cancellato dalla memoria?

Non riesco a fare la pulizia quando l'applicazione si muove in fondo, dal momento che potrebbe essere in background nel bel mezzo di un'operazione e avrebbe bisogno i file temporanei una volta che torna in primo piano. Penso che potrei pulire i file di avvio, ma sono interessato al comportamento applicationWillTerminate: comunque.

È stato utile?

Soluzione

No, applicationWillTerminate: non viene chiamato in multi-tasking abilitati iOS 4 dispositivi. Quando la tua applicazione viene chiuso, di solito significa che il dispositivo è a corto di memoria, quindi, anche se è ha ottenere chiamato non c'è dicendo che ci si dispone di memoria sufficiente per completare l'operazione in ogni caso.

di Apple consiglia di pulire quando la vostra applicazione passa in secondo piano. È possibile richiedere più tempo per fare questo se avete bisogno di un paio di secondi (questo è uno dei pochi scenari multi-tasking aprire a tutte le applicazioni).

Le altre opzioni potrebbe essere quella di riordinare quando il compito è finito (ogni volta che è) o quando viene avviata l'applicazione. Credo che ci possono essere altri permutazioni ...

Altri suggerimenti

Internet dice che applicationWillTerminate: non si chiama mentre l'applicazione viene ucciso in background. L'altro modo è quello di salvare alcune informazioni (in NSUserDefaults, o giù di lì), i file temporanei è stato aperto, e dopo il check avvio se vengono lasciati quei file, e li elimina. Inoltre, è possibile scoprire, come iOS uccide l'applicazione (suppongo, che questo è fatto con l'invio di segnali, ma non sono sicuro) e aggiungere gestore del segnale per la vostra applicazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top