Dynamic Application Restart Using Target Lists for Android Memory Pressure

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Android terminals repeatedly restart and kill important background applications due to insufficient memory, leading to poor user experience and system performance, especially when a whitelist approach is used but fails to dynamically adapt to memory needs.

Innovation Solution

An application start method that uses a target application list to identify and restart applications based on their last memory release, allowing dynamic adjustment and prioritization, including background processing of both processes and activities to reduce restart duration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a whitelist approach is used to protect important applications from being killed, then application reliability is improved, but device complexity increases and the system cannot dynamically adapt to memory needs

Engineering Contradiction:
Improveapplication reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a dynamic application priority mechanism where the system continuously monitors memory usage and automatically adjusts application priorities based on real-time conditions. Instead of using a static whitelist, the system dynamically determines which applications to protect by evaluating their priority levels and current memory状况, allowing flexible adaptation without complex configuration management.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system automatically manages application priorities and memory allocation without requiring manual whitelist configuration. The low memory killer mechanism autonomously evaluates application priorities, monitors memory usage, and makes killing decisions based on dynamic conditions, eliminating the need for users to manually maintain protection lists while achieving adaptive memory management.

Inventive Principle:
Principle #25Self-service

2Loss of time

If applications are restarted in the background to reduce restart duration, then user experience is improved, but system performance deteriorates due to repeated restarts and kills

Engineering Contradiction:
Improverestart durationVSAvoidsystem performance
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system performs preliminary actions by maintaining application processes in a suspended state with their memory space preserved. When an application needs to be restarted, the system can quickly resume the suspended process rather than performing a complete cold start, significantly reducing restart duration while avoiding the overhead of fully executing and then killing processes repeatedly.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of completely discarding application processes by killing them, the system discards only the memory allocation temporarily while preserving the process structure. When memory is needed, the system recovers the memory space by allocating it back to the suspended application, avoiding the performance cost of complete process termination and restart cycles.

Inventive Principle:
Principle #34Discarding and recovering

3Power

If memory is allocated to foreground applications by killing background applications, then foreground application performance is improved, but background application reliability deteriorates

Engineering Contradiction:
Improveapplication performanceVSAvoidbackground application reliability
Core Design Contradiction:
PowerVSReliability

Solution Approach 1:

The system applies different quality levels of memory protection to different applications based on their priority classifications. High-priority background applications receive enhanced protection and are less likely to be killed, while lower-priority applications can be terminated more readily. This localized differentiation allows the system to protect critical background services while still freeing memory for foreground applications when needed.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically changes the killing threshold parameters for different applications based on their priority levels and current system conditions. Instead of using a uniform memory threshold for all applications, the low memory killer adjusts the at what point each application should be killed, allowing flexible memory reclamation while protecting important background processes from unnecessary termination.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12386653B2Starting method for applications which are closed based on the insuficient memory of the system
Publication Date: 2025.08.12 HUAWEI TECH CO LTD
  • US12386653B2 patent drawing
  • US12386653B2 patent drawing
  • US12386653B2 patent drawing

AI summary

An application start method includes obtaining a target application list when a size of free memory is greater than a preset threshold. The target application list is used to store one or more application identifiers of one or more applications whose memory is released. The application start method further includes starting, in the background, a process of an application identified in the target application list.