US 12,242,366 B2
Application-specific launch optimization
Kartik Venkatraman, San Francisco, CA (US); David R. Cox, Kauai, HI (US); Manish Chandra Reddy Ravula, Saratoga, CA (US); and Shardul S. Mangade, Sunnyvale, CA (US)
Assigned to Apple Inc., Cupertino, CA (US)
Filed by Apple Inc., Cupertino, CA (US)
Filed on Oct. 20, 2021, as Appl. No. 17/506,491.
Claims priority of provisional application 63/197,426, filed on Jun. 6, 2021.
Prior Publication US 2022/0391301 A1, Dec. 8, 2022
Int. Cl. G06F 11/34 (2006.01); G06F 9/50 (2006.01); G06F 11/30 (2006.01)
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
OG exemplary drawing
 
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.