Mobile devices such as smart phones, have gained enormous popularity over the last few years. Smart phones are now capable of supporting a large number of applications, many of which demand an ever increasing computational power. However, Battery life of mobile devices remains a key limiting factor in the design of mobile applications. This paper firstly emphasizes on reviewing various techniques used to enhance battery life of smart phones. At the end, on the basis of comparative studies, suggestions are given to extend the energy efficiency of smart phones.