With the widespread of rich mobile applications, the usage of mobile devices has become popular nowadays. However, mobile devices are limited in battery, CPU, storage. These constraints prevent mobile devices from widely running all kinds of rich mobile applications. Computation offloading is believed to be a potential solution to the hardware limitations of mobile devices for energy saving and/or higher performance. To meet this goal, a number of experiments have been performed in this research to compare energy efficiency of mobile devices with different offloading targets. Experiments
have also been conducted to examine the impact of various factors and provide insights on power consumption for different mobile applications. Finally, an adaptive algorithm, based on experimental results, has been developed to automatically select the most suitable computation target which has enough capacity to execute computationally intensive applications for energy saving and achieve a desirable performance at the same time.