Sto parlando di programmazione in Android.Differenza tra finish() e System.exit (0)
Nei primi giorni ho pensato che, finish()
chiude attività corrente e tornare alla precedente nello stack di attività, e System.exit(0)
chiude l'intera applicazione.
Ma mi sbagliavo. Ho fatto un piccolo esperimento e ho capito che Entrambi finiranno solo l'attività corrente.
Le uniche differenze che ho potuto notare è che, in Android 2.3.3
- Il ActivityResult si propaga torna a
onActivityResult()
utilizzandofinish()
. Considerando cheonActivityResult()
non viene chiamato perSystem.exit(0)
.
Ma in Android 4.2.2, onActivityResult() viene chiamato per entrambi! e Intent era nullo per exit(). (ho testato solo in questi 2 dispositivi)
- C'è un tempo di ritardo quando si utilizza exit(), mentre
finish()
è più veloce. (Sembra più operazioni in background ci sono in uscita())
Quindi,
qual è la differenza tra i due?
In quali situazioni, posso usare exit()?
Credo che ci sia qualcosa in più che mi manca tra i due metodi. Spero che qualcuno possa Spiegare di più e correggermi.
Grazie
EDIT SU RICHIESTA:
realizzare un'applicazione Android con 2 Attività. Chiama la seconda attività dall'attività di avvio utilizzando Intento. Ora, all'interno della seconda attività, con un clic del pulsante, chiama System.exit(0);
. "La VM ferma ulteriore esecuzione e il programma uscirà." ???? (secondo documentation)
vedo prima attività lì. Perché? (Si sono invitati a dimostrare che mi sbaglio/sono stato a destra)
http://stackoverflow.com/domande/2033914/smettere-di-application-è-che-aggrottò la fronte-upon. controlla qui le risposte – Raghunandan
@Raghunandan: È una buona idea. Tutti, per favore, date un'occhiata. Ma una grande quantità di informazioni. Qualcuno può dire in breve per adattarsi alla mia materia? – Nizam
non usare mai 'System.exit()' non lo consiglierei. Usa 'finish()'. Per la navigazione è possibile utilizzare il cassetto di navigazione. – Raghunandan