With some desktop operating systems, I often recommend that users reboot their systems after a crash. The logic is that memory could now be corrupted, and the system could be trending towards instability.
What about with Android? When a process in Android fails, is it advisable to reboot?
I see 6 common cases:
- When a third-party app crashes.
- When a Google app, such as Google Play services crashes.
- When a core software component (but not part of Android) crashes. Such a component may have been installed by the device manufacturer.
- When a component of Android crashes.
- When the user Force Stops an app that is running.
- When the user Force Stops a service that is running.
In which of these cases, if any, is it advisable to reboot the Android device?
If you don't know the answer for all the cases, but can contribute for just one or more of the cases, your answer is certainly welcome and will be appreciated.
Update (Optional Reading)
In Firelord's first two comments below (I'm guessing there will be more!), he/she brings up very good points and makes a smart suggestion. Firelord asks me make it clear the type of answers that I will find to be most useful.
The best answer will be one that can answer the 6 cases with reasonable certainty based on a technical understanding of Android. The next best answer (which will still be extremely helpful and useful) will be one that can answer some of the cases based on a technical understanding of Android.
One thing I've learned about Android, is that very few people actually have a good technical understanding of the OS. And those who do have this knowledge are only sometimes interested in answering questions that can be turned into a FAQ or community resource, like this one. (Which I understand, given that providing good answers is not easy and takes time.)
As such, I'm also open to answers that cover 1 or more of the 6 cases based on personal experience. I'm also open to answers that are based on other resources and articles.
Firelord's comments inspired me to think a little more about why I am asking this question. The reasons are twofold:
A. System stability is very important. I have had multiple Android devices become corrupt, which resulted in a large expense of time to get everything working again. (All of them were Samsung devices, which were flashy, but not reliable.) I would like to avoid data loss and corrupt devices as much as possible. (Although backups help avoid data loss, it is not always possible to have everything backed up all the time.)
B. Due to (A), I think I have become a chronic rebooter. At the first sign of trouble, I tend to reboot the Android device. Rebooting is a time-consuming process, so I don't want to reboot unless really necessary. It takes several minutes for Android to truly settle down after a reboot. Plus, rebooting drains the battery, as the CPU cores are generally all running at maximum speed during a reboot.