1. A machine readable non-transitory storage medium having instructions which, when executed by a machine, cause the machine to perform a method comprising: determining, by one or more processors of a memory management module, a usage level of a memory based on a memory usage determined by an operating system, the usage level based on an amount of memory already in use, wherein the usage level is one of a plurality of usage levels; selecting, by the one or more processors of the memory management module, one or more applications from a set of applications which are using the memory; notifying, by the one or more processors of the memory management module, the selected one or more applications of the usage level via an API (Application Programming Interface) to notify the selected one or more applications to perform a memory reduction operation, wherein the API includes the usage level, wherein a first group of the selected one or more applications are notified with a first notification specifying a first usage level to perform a first memory reduction operation, and wherein a second group of the selected one or more applications are notified with a second notification specifying a second usage level to perform a second memory reduction operation; wherein the selected one or more applications are selected based on a dynamic priority list and wherein the usage level is a numerical value which is related to the amount of memory already in use that is determined prior to the notifying.