| CPC G06F 11/3442 (2013.01) [G06F 9/5055 (2013.01); G06F 11/3051 (2013.01); G06F 2209/501 (2013.01); G06F 2209/5019 (2013.01)] | 20 Claims |

|
1. A method comprising performing, by one or more processors of a computing device having a memory system:
determining an amount of available memory in the memory system;
accessing on-device usage data for each of a plurality of inactive applications;
for each of the plurality of inactive applications:
for each of a plurality of pre-activation states:
evaluating a cost function to obtain a cost value indicating a preference for the inactive application to be placed into the pre-activation state;
comparing the cost values of the cost functions for the plurality of pre-activation states for the plurality of inactive applications to each other; and
selecting, for each of the plurality of inactive applications, a respective one of the plurality of pre-activation states, as determined based on the comparing of the cost values, the amount of available memory, and the on-device usage data;
managing each of the plurality of inactive applications in the respectively-selected pre-activation state, where managing the inactive application includes placing the inactive application into or maintaining the inactive application in the respectively-selected pre-activation state; and
launching at least one of the plurality of inactive applications from the respective one of the plurality of pre-activation states.
|