Due to the advancement of mobile technology, a large number of computationally intensive applications are created for smart phones. But the limitations of battery and processing power of smart phones are making it inferior to laptops and desktop computers. Mobile Cloud Offloading (MCO) allows the s mart phones to offload computationally intensive tasks to the cloud, making it more effective in terms of energy, speed or both. Increased networking capacity due to the availability of high speed Wi-Fi and cellular connections like 3G/4G makes offloading more efficient. Even then, the choice of offloading is not always advisable, because of the highly dynamic context information of mobile devices and clouds. In this paper, we propose a dynamic decision making system, which will decide whether to offload or do the tasks locally, depending on the current context information and the optimization choice of the user. Metrics are developed for time, energy and combination of time and energy to assess the proposed system. A test bed is implemented and the results are showing improvements from the currently existing methods.