1. A system for managing memory space in a mobile device, comprising:
- a plurality of data storage locations;
- a plurality of software applications, each software application being operable to store data files to a different storage location; and
- a data store management system configured to access and delete data files in the plurality of data storage locations,
- the data store management system providing a plurality of memory retention algorithms, wherein one of the plurality of memory retention algorithms is selected by a user to determine a criteria used to select data files for deletion from the plurality of data storage locations,
- the data store management system further providing a plurality of control levels, the plurality of control levels providing threshold levels for selecting data files for deletion according to the selected memory retention algorithm, wherein a control level is selected to set a threshold level for the selected memory retention algorithm so data files at or above the threshold level are deleted,
- wherein the data store management system is further configured to receive an initial control level and delete one or more data files according to the initial control level and the selected memory retention algorithm, and if sufficient memory space is not available after deleting data files according to the initial control level and the selected memory retention algorithm, then increment the initial control level and delete one or more additional data files according to the incremented control level,
- wherein the threshold level associated with the control level becomes progressively lower as the selected control level is incremented.
2. The system of claim 1, wherein the plurality of memory retention algorithms include a least recently used algorithm, a first in-first out algorithm and a largest file size algorithm.
3. The system of claim 1, wherein the data store management system is further configured to provide a plurality of selectable groups of control levels, wherein the plurality of control levels are translated to different threshold levels dependant upon the selected control level group.
4. The system of claim 3, wherein the plurality of selectable groups of control levels include a group having threshold levels relating to file size.
5. The system of claim 3, wherein the plurality of selectable groups of control levels include a group having threshold levels relating to the amount of time since a data file has been accessed.
6. The system of claim 1, wherein the plurality of data storage locations include at least one of a browser cache, a message store, an address book, a browser bookmarks store, a calendar data store, a notes store, and an electronic messaging store.
7. The system of claim 1, wherein the plurality of software applications include at least one of an electronic messaging system, an Internet browser application and a calendar application.
8. A computer implemented method for managing memory space in a mobile device, comprising:
- storing data flies in memory;
- selecting one of a plurality of memory retention algorithms for deleting sufficient data in memory to yield sufficient free memory space in the memory; and
- setting a control level to provide a threshold level used by the selected memory retention algorithm to select data files for deletion according to the selected memory retention algorithm, wherein the control level is selected to set the threshold level for the selected memory retention algorithm so data files at or above the threshold level are deleted;
- receiving an initial control level;
- deleting one or more data files according to the initial control level and the selected memory retention algorithm;
- determining if sufficient free memory space is available; and
- if sufficient free memory space is not available after deleting data files according to the initial control level and the selected memory retention algorithm, then incrementing the initial control level and deleting one or more additional data files according to the incremented control level and the selected memory retention algorithm,
- wherein the threshold level associated with the control level becomes progressively lower as the control level is incremented.
9. The method of claim 8, wherein the plurality of memory retention algorithms include a least recently used algorithm, a first in-first out algorithm and a largest file size algorithm.
10. The method of claim 8, further comprising:
- selecting one group of control levels from a plurality of groups of control levels, wherein the control level is set from the selected group of control levels, and wherein the control level is translated to a different threshold level dependant upon the selected control level group.
11. The method of claim 10, wherein the plurality of selectable groups of control levels include a group having threshold levels relating to file size.
12. The method of claim 10, wherein the plurality of selectable groups of control levels include a group having threshold levels relating to the amount of time since a data file has been accessed.