1. A method for using volatile and non-volatile memory to pre-load a plurality of applications in a computing device, the method comprising: performing the following in a processor of a computing device having a volatile memory and a non-volatile memory: pre-loading a plurality of applications in the volatile memory until it is determined that available space in the volatile memory has dropped below a threshold level, wherein an application is pre-loaded in the volatile memory by: copying application code for the application from the non-volatile memory into the volatile memory; executing the application code from the volatile memory, wherein executing the application code creates application data; and storing the application data in the volatile memory; and when it is determined that the available space in the volatile memory has dropped below the threshold level, moving the application data for at least one application from the volatile memory to the non-volatile memory.