1. A method of offloading operations of a mobile application, comprising: establishing an application copy of a mobile application installed on a mobile device at a remote virtual machine; suspending the mobile application on the mobile device; and tracking resource consumption by a plurality of mobile applications on the mobile device; selecting the mobile application for offloading based on the resource consumption that is tracked; determining a period of time during which the operations of the mobile application are offloaded to the application copy at the remote virtual machine based on context awareness, wherein context awareness includes network-side contextual data and client-side contextual data, wherein the client-side contextual data includes user activity patterns, wherein the selected mobile application is offloaded during a time period in which no user activity is detected; and offloading operations of the mobile application to the application copy at the remote virtual machine for the period of time.