Application Keepalive via Subscription Lists Under Resource Limits
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The collaboration function between applications on different devices is disrupted when system resources are insufficient, leading to user experience issues, and existing solutions like death notification or heartbeat messages either delay the disruption or significantly increase power consumption.
Innovation Solution
An application keepalive method that creates a unique identifier for an object when the second application obtains information from the first, allowing the first device to maintain a subscription list and prolong the first application's time to live based on the second application's identification, thus preventing disruption while minimizing power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the second application periodically sends heartbeat messages to the first application to prolong its time to live, then the application collaboration function is prevented from being affected, but power consumption of the first device and the second device is greatly increased
Solution Approach 1:
The patent uses periodic heartbeat messages to maintain application collaboration, where the second application periodically sends heartbeat messages to the first application to keep it alive. This periodic action ensures reliability by preventing the first application from being killed by the system, while allowing the system to optimize power consumption by only maintaining the connection when necessary for collaboration.
Solution Approach 2:
The system proactively prolongs the time to live of the first application before it would naturally be killed by the system. By detecting the collaboration relationship in advance and extending the application's lifecycle proactively, the system prevents disruption to the collaboration function without needing continuous active monitoring, thus balancing reliability with power consumption.
2Quantity of substance
If the operating system forcibly kills applications to release system resources, then system resource limitation is resolved, but the application collaboration function is affected and user experience deteriorates
Solution Approach 1:
The system establishes a feedback mechanism where the second application monitors the first application's status through heartbeat messages. When the first application is at risk of being killed due to system resource limitations, the feedback loop detects this and triggers actions to prolong its time to live, ensuring collaboration function continuity while allowing the OS to manage resources.
Solution Approach 2:
The system provides a cushioning effect by prolonging the time to live of the first application before the system would forcibly kill it. This prior cushioning protects the application collaboration function from disruption by extending the application's lifecycle just enough to maintain service continuity during resource constraints.
3Reliability
If the second application restarts after receiving a death notification of the first application, then the application collaboration function can continue, but the disruption has already occurred affecting user experience
Solution Approach 1:
Instead of waiting for the death notification and then restarting, the system performs preliminary action by proactively prolonging the first application's time to live before it would be killed. This prevents the disruption from occurring in the first place, maintaining continuous user experience without interruption or recovery time.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
This application provides an application keepalive method, an electronic device, and a storage medium, and relates to the field of electronic devices. The method may be applied to a first device, and the first device includes a first application. The method includes: When detecting that a second application obtains first information in the first application, the first application creates a first object, and generates a unique identifier of the first object to send the unique identifier of the first object to the second application. The first application receives a subscription request that is sent by the second application based on the unique identifier of the first object. The first application adds identification information of the second application to a subscription list of the first object based on the subscription request. When an operating system of the first device needs to forcibly kill some applications running on the first device to release system resources due to a limitation of the system resources, the operating system of the first device first queries the subscription list of the first object; and prolongs a time to live of the first application if the subscription list of the first object includes the identification information of the second application. The time to live of the first application can be prolonged according to the method.