Keeping important apps alive even on overheat I recently updated my Samsung Galaxy S4, and it came with some new features and also some new problems. Since the new update I have been getting warnings on my phone telling me it is overheating. The phone also has the ability to kill apps that are using a lot of processing power in order to get the phone to cool down. This has proven to be not only inconvenient, but actually dangerous. On several occasions the app that was closed (which, in truth, likely contributed to its overheating) was Waze. This usually happens on long trips, while i'm going 60mph, forcing me to pull over on the side of a highway just to let my phone cool down so that I can open the app again. I have not gotten into an auto accident yet, but I would much rather not be in that situation to being with. For others, there can be an even greater danger in just getting lost.

Is there a way to put certain apps, such as Waze, or any other navigation app, on a system whitelist so that they don't get shut down mid-use, potentially creating an extremely dangerous situation?
I don't know if this will work in your situation (and I can't test it myself) as in your situation it seems the killing of processes is done for safety reasons and not just to free up memory but it could be worth a try.

The app is called MinFreeManager (requires root) and there is a good guide here. Taken from the link to the guide, here is an overview of what the app will do;

ActivityManagerService.java looks at the 'importance' of running processes; foreground apps, services, content providers etc, and prioritises them for close order in an oom (out of memory) situation. Each process is assigned an oom_adj value. The lower the value, the less likely Android is to close the app when it starts to run out of memory.

These values are managed by Android at runtime so a processes oom value can and will change as it changes state, from foreground, to background to idle etc.

The app can adjust a processes oom_adj values to your own custom values so you can try and manipulate which apps Android will close first and at what stage of low memory on the device.

Like I said, this is just a very basic overview. Follow the link to the guide and you will find all the information you need to give it a go (Could go on for pages if I tried to explain in full detail).