A system and method for a communication terminal to manage memory and
maintain a current application version for multiple applications are
provided. The system and method provide for managing memory in a
communication terminal coupled to a server device enabling the
communication terminal to provide memory capacity for storing in a memory
and executing on the communication terminal a plurality of applications
downloaded from the server device. Prior to downloading an application,
the communication terminal determines an amount of memory capacity
required by an application client to be downloaded from the server
device. The communication terminal then attempts to allocate the memory
capacity. If memory cannot be allocated from the system heap, the
communication terminal purges data contained in the memory according to a
dynamic list of priorities to create memory capacity in the memory for
the application client. Once sufficient memory capacity has been created,
it is allocated to the application client, and the application client is
downloaded to the communication terminal.