14

Quando (in Gingerbread, 2.3.x) premo il pulsante "Cancella dati" in Menu => Gestisci app => App, Anche il pulsante "Forza chiusura" diventa disabilitato. Significa che "Cancella dati" uccide anche l'app?Anche "Cancella dati" elimina l'app?

Inoltre, ho notato che in Ice Cream Sandwich questo non accade. Quindi, il modo in cui "Clear Data" funziona è diverso tra Gingerbread e Ice Cream Sandwich?

Aggiornamento: come ha detto MisterSquonk, Froyo (2.2.x) si comporta allo stesso modo di ICS (4.x), che è non disabilitare Forza Close Dopo aver chiari i dati delle app. Qualcuno sa perché il comportamento è così diverso? Qual è l'errore in Gingerbread o qualche esperimento temporaneo che ha ucciso l'app insieme alla cancellazione dei suoi dati?

P.S. Impossibile creare il tag "Gingerbread", non abbastanza reputazione :) P.P.S. @MisterSquonk, Grazie per il tag :)

Aggiornamento 2: Checked Honeycomb (3.2) pure, si comporta allo stesso modo di Froyo come ICS. Solo Gingerbread disabilita Force Close dopo aver cancellato i dati.

+1

Ben individuato. Logicamente Clear Data dovrebbe uccidere l'app, quindi forse questo è un bug in ICS. A meno che, naturalmente, ICS non invii una sorta di notifica all'app, ma di più per noi programmatori di cui preoccuparci. –

+0

@PhilipSheard Grazie! Quindi è sicuro assumere che dopo aver colpito Clear Data l'app è stata uccisa come se avessi colpito Force Close? – stansult

+1

Beh, sto solo supponendo, ma sarebbe dannatamente stupido se ciò non accadesse, non è così? Sto solo cercando di pensare razionalmente qui. Non ho alcuna conoscenza interna su questo. –

risposta

13

Clear Data uccide l'app e lo ha sempre fatto.

"Force Stop" ha attraversato varie iterazioni di significati. Significava semplicemente uccidere tutti i processi e i servizi, e anche la cancellazione dei dati avrebbe fatto lo stesso di un arresto forzato. C'erano anche iterazioni più vecchie della piattaforma che non erano buone come capire quando disabilitare il pulsante, il che probabilmente è il motivo per cui lo vedete rimanere abilitato in 2.2.

Tuttavia in 3.2 credo che il significato di "Force Stop" cambi per mettere l'applicazione in uno stato in cui non sarebbe in grado di funzionare fino a quando l'utente non ha fatto qualcosa per avviarlo esplicitamente (come avviarlo dal launcher, selezionandolo come metodo di input, ecc.). Quando è stata apportata la modifica, "Cancella dati" ha continuato a eliminare i processi e interromperne i servizi, pertanto l'app non era nello stato di arresto completo, quindi il pulsante rimane attivato.

+0

@hackbog, grazie! questo ha senso se è così. Conosci qualche fonte da leggere su questo (cambio di definizione Force Close)? – stansult

+1

Questa dovrebbe essere accettata risposta. :) Molto perspicace. –

+0

Ho appena confermato che "Cancella dati" uccide l'app. Si noti che 'onDestroy()' è ** non ** chiamato su una qualsiasi delle attività in esecuzione. – ThomasW

0

sì, quando si fa clic sul pulsante clearData in Settings-->Applications-->Manage applications-->[MYApp] Toccare il MyApp .. Fare clic sul pulsante Cancella dati Quando si fa clic sul pulsante Cancella dati allora i dati saranno cancellati noi/eliminare ..... ovviamente quando delete i dati quindi App andrà a forzare chiuso

Problemi correlati