Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

System.exit() in android

I know system.exit(0) should not be used. I have read plenty of tutorials as well stating why it's not recommended for exiting applications and finish() is a better alternative ,but in very rare case when this dirty workaround is used than my main question is can it harm the android device or any aspect of device if used?

like image 698
Altavista Avatar asked Jun 29 '12 07:06

Altavista


2 Answers

short answer: No.

long answer: No, it doesn't harm the device or any aspect of the device. It just removes the app from memory and cleans up all used resources. If you have any files open, they can become corrupted, but the filesystem won't. Android should release all and any resources (GPS, WiFi, etc) that you have in use at the time, but they could be in an undefined state. Compare the effects of System.exit() to a an app-crash: that wouldn't affect your device either.

like image 94
Bart Friederichs Avatar answered Oct 05 '22 10:10

Bart Friederichs


Calling System.exit(0) anywhere outside the "main" method of an application is not recommended for the following reasons.

  1. It is an impediment to reusing your code.

  2. It makes unit testing hard. For example, if your code calls System.exit when some tests exercise some error handling, it will end the test on encountering System.exit(0).

like image 20
Aakash Anuj Avatar answered Oct 05 '22 10:10

Aakash Anuj