1. A mobile device, comprising: a memory subsystem; a processing subsystem coupled to the memory subsystem and operable to store and retrieve data in the memory subsystem and to execute instructions stored in the memory subsystem; and a memory management module stored in the memory subsystem and executed by the processing subsystem and comprising instructions operable to cause the mobile device to allocate a maximum amount of available data storage memory in the memory subsystem for storing data for each of a plurality of software applications loaded on the mobile device; the memory management module being further operable to automatically detect that additional data storage memory is needed for an executing software application, select one of the plurality of software applications for memory clean-up, and delete data from the data storage memory allocated to the selected software application in accordance with a pre-established memory retention policy for the selected software application.