If you are an avid Android fan like me, you are going to be a flasher. before your mind start wondering to places you should not be, let me pull you back to reality and explain to you what a flasher (in Android) means. A flasher carries the meaning of a person who constantly flash a new firmware, rom or kernel to his Android. So what does flashing does actually? Well, it could easily be defined as wanting a more customized look, running different firmwares or even trying to as unique as possible from the rest. And being said that, the biggest and most important thing is to have a even better battery life than just stock version!

In order to have a good battery life, kernel and undervolting plays a huge role regardless if you like it or not. Now, let's start with choosing the right kernels.

There are many types of kernel out there but I usually classify them into three different types which are stock, custom kernel without undervolting and custom kernels with undervolting. A little more explain as follow:

1. Stock kernels
Stock kernels, as the saying is stock. Values set for that particular kernel is 100% the same with the released from Samsung and totally unmodified.

2. Custom kernels without undervolting
Okay, this part needs a little concentration. The kernel is done or modified by a 'cook' or also known as a developer. Basically, the kernel is modified to work even better and the major goal is ensuring tip-top performance without the expense of battery. When you choose this type of kernel, the developer usually had scripted the kernel to be undervolted according to his or her preferences. Being said that, the chosen kernel is already undervolted by default and you are not able to undervolt it further.

3. Custom kernels with undervolting feature
Alike the above, these types of kernels are exactly the same except that you are able to undervolt again from the current voltages. For those who want to get even more battery life, this type of kernel could be a good choice if you know what you are doing. Be reminded that any undervolting would reduce the stability of the phone.

How to undervolt safely on your Android?
You basically needs either SetCPU or Voltage Control which you could buy them at Google Play Store for a very minimal price. 
  1. Reduce the voltage by -25 for all values using either one of the apps above.
  2. Use the phone like normal and if everything goes on well for 3-5 hours on normal usage, then - 25 again.
  3. Repeat until you reach a value that freezes your phone. Now, revert back to the last safe value and you are basically very safe now!
Good luck!