Mobile Memory Management for Fast Application Launch

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Mobile devices face challenges in efficiently managing memory for multiple applications, leading to increased load times, battery drain, and stalled processes due to the need to constantly update and maintain active applications, which strains limited memory resources.

Innovation Solution

A memory management system that loads predetermined applications into memory based on available memory, generates snapshots for these applications in preview mode, and prioritizes which applications to keep active, allowing for quick launch and efficient memory reallocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all applications are kept active with constantly updated data for display, then user experience is improved with fresh application data, but memory usage increases and battery life is drained

Engineering Contradiction:
Improveapplication data freshnessVSAvoidbattery life
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary actions by pre-loading applications into memory before they are actually needed. When an application is launched, it is already resident in memory with its data pre-fetched and prepared, eliminating the need to keep all applications constantly active and updated. This resolves the contradiction by preparing applications in advance only when necessary, rather than maintaining all applications in an active state continuously.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If applications are pre-loaded into memory for fast access, then load time is reduced, but memory usage increases

Engineering Contradiction:
Improveapplication load timeVSAvoidmemory usage
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The system applies local quality by making memory allocation dynamic and application-specific. Instead of uniformly pre-loading all applications or keeping fixed amounts of memory allocated, the system allocates memory to specific applications based on their individual needs, usage patterns, and priority levels. This allows fast access to frequently used applications while freeing memory for less critical ones, resolving the contradiction between load time and memory usage.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system implements dynamics by continuously monitoring and adjusting memory allocation based on real-time conditions. Memory is dynamically assigned to applications as they are launched or predicted to be needed, and reallocated when no longer required. This dynamic approach allows the system to optimize both load time and memory usage by adapting to changing usage patterns rather than maintaining static memory allocation.

Inventive Principle:
Principle #15Dynamics

3Productivity

If multiple applications are loaded into memory simultaneously, then application availability is improved, but memory resources are strained and other processes stall

Engineering Contradiction:
Improveapplication availabilityVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system applies self-service by implementing automated memory management mechanisms that monitor memory usage, predict application needs, and allocate resources without manual intervention. The system automatically loads applications into memory based on usage patterns, keeps track of which applications are active or inactive, and manages memory reclamation when resources are needed. This self-managing approach improves application availability while preventing memory management complexity from becoming unmanageable.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3446217B1Memory management for application loading
Publication Date: 2022.12.14 APPLE INC
  • EP3446217B1 patent drawingFigure 1
  • EP3446217B1 patent drawingFigure 2
  • EP3446217B1 patent drawingFigure 3

AI summary

Some embodiments can load one or more applications into working memory from persistent storage when permitted by a memory pressure level of a mobile device. Loading the applications into working memory enables the applications to be launched into the foreground quickly when the user indicates the desire to launch. Some embodiments may identify a set of applications that are designated for providing snapshots to be displayed when the mobile device is in a dock mode. Certain embodiments may determine a current memory pressure level. Some embodiments may load an application in the set of applications into working memory from a persistent storage responsive to determining that the memory pressure level is below a threshold. Certain embodiments may continue to load additional applications responsive to determining that the memory pressure level is below the threshold. After determining that the memory pressure level is above the threshold, some embodiments may reclaim memory.