WO2020094125A1 - Application control method, device, terminal, and computer-readable storage medium - Google Patents
Application control method, device, terminal, and computer-readable storage medium Download PDFInfo
- Publication number
- WO2020094125A1 WO2020094125A1 PCT/CN2019/116611 CN2019116611W WO2020094125A1 WO 2020094125 A1 WO2020094125 A1 WO 2020094125A1 CN 2019116611 W CN2019116611 W CN 2019116611W WO 2020094125 A1 WO2020094125 A1 WO 2020094125A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- application
- preset
- managed
- candidate
- frozen
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
Definitions
- the present invention relates to the field of communication technology, and in particular, to an application control method, device, terminal, and computer-readable storage medium.
- the terminal supports diversified applications and powerful functions, during the use of the terminal, the following situations are often found: the more applications installed on the terminal, even if some applications are not used, you can feel the battery of the terminal The consumption is getting faster and faster, and the memory is getting less and less. This is because some applications frequently use system resources such as CPU in the background even if they are not used, resulting in a large power consumption of the terminal; hardware resources such as the battery capacity and memory of the terminal are stretched in front of colorful applications. Thus affecting the user experience.
- An application control method, device, terminal, and storage medium provided by embodiments of the present invention mainly solve the technical problem of how to accurately determine the applications to be managed on the terminal.
- an application control method including:
- an embodiment of the present invention also provides an application control device, including: a monitoring module, a primary determination module, and a processing module;
- the monitoring module is used to monitor each application currently running on the terminal;
- the determining module is configured to determine the candidate application according to a preset recognition rule when the monitoring module detects a candidate application that satisfies a preset first power consumption condition to determine whether the candidate application is an application to be managed ;
- the processing module is configured to control energy saving of the application to be managed when the determination module determines that the candidate application is an application to be managed.
- an embodiment of the present invention also provides a terminal, including a processor, a memory, and a communication bus;
- the communication bus is used to connect the processor and the memory
- the processor is used to execute a computer program stored in the memory to implement the steps of the application control method as described above.
- embodiments of the present invention also provide a computer-readable storage medium, where the computer-readable storage medium stores one or more computer programs, and the one or more computer programs may be used by one or more The processor executes to implement the steps of the application control method as described above.
- FIG. 1 is a schematic flowchart of an application control method according to Embodiment 1 of the present invention.
- FIG. 2 is a schematic diagram of a system framework according to Embodiment 2 of the present invention.
- FIG. 3 is a schematic diagram of a process for performing layered freezing of applications according to Embodiment 2 of the present invention.
- FIG. 4 is a schematic structural diagram of an application control device according to Embodiment 3 of the present invention.
- FIG. 5 is a schematic structural diagram of a terminal according to Embodiment 4 of the present invention.
- This embodiment provides an application control method, which can accurately monitor whether the power consumption of each application currently running on the terminal is abnormal, and control the energy saving of the monitored applications with abnormal power consumption, and further It can improve the endurance and resource utilization of the terminal without affecting the user's normal use of the terminal, and improve the satisfaction of the user experience.
- An application control method provided in this embodiment, as shown in FIG. 1, includes:
- S102 When a candidate application that satisfies a preset first power consumption condition is monitored, determine the candidate application according to a preset identification rule to determine whether the candidate application is an application to be managed;
- the terminal in this embodiment may be various smart terminals that support application operation, such as but not limited to smart phones, notebook computers, digital broadcast receivers, personal digital assistants (PDAs), and tablet computers (PADs) , Portable multimedia players (PMP), mobile devices such as navigation devices, and fixed terminals such as digital TVs, desktop computers, and so on.
- the system running on the terminal in this embodiment may include, but not limited to, Android, iOS, windows, Symbian, BlackBerry OS, windows mobile, and Microsoft Windows series systems applied to PCs, and Apple ’s MAC series systems. Including linux system, etc.
- each application currently running on the terminal includes various applications that are started on the terminal and run in the background, and may also include various applications that run in the foreground, or include applications that run in both the background and the foreground according to requirements. .
- all applications currently running on the terminal can be comprehensively monitored to avoid monitoring only for applications running in the background, which can cause timely, abnormal, Accurate discovery.
- the related process is maintained in the terminal foreground of the terminal, so that it can escape from the abnormal monitoring range, resulting in the abnormal application monitoring on the terminal, but the abnormal application situation cannot be detected.
- the application running in the foreground generally has only one or two applications, and the application running in the foreground is generally the application currently being used by the user. Therefore, for these application scenarios, it is possible to monitor only the applications currently running in the background on the terminal.
- the preset first power consumption condition may be directly set to include that the application is currently running in the background (that is, the terminal will still monitor all applications in the foreground and background at this time, but The foreground application must not satisfy the preset first power consumption condition); in another feasible manner of this embodiment, the monitoring conditions can also be directly set so that the terminal will only monitor the background application, while the foreground application monitoring Skip directly.
- the first power consumption condition may include: the application is currently running in the background, and has a preset high power consumption behavior.
- the first power consumption condition may only include: the application has a preset high power consumption behavior, and does not limit whether the application runs in the foreground or background.
- the applications running on the terminal can be determined from various aspects which of the applications running on the terminal have high power consumption behaviors, such as but not limited to slave processor occupancy, memory occupancy, and wake lock At least aspects of the occupancy status of the application, the occupancy status of the positioning resource, and the occupancy status of the sensor determine whether the application is currently an application with high power consumption to determine whether it needs to be included in the candidate application set.
- high power consumption behaviors such as but not limited to slave processor occupancy, memory occupancy, and wake lock
- the preset high power consumption behavior may include but is not limited to at least one of the following:
- the processor occupancy state conforms to the preset first state; in this embodiment, the processor may include at least one of a central processing unit and a graphics processor (Graphics, Processing, Unit, GPU); the processor occupancy state in this embodiment It can be the processor occupancy time, it can also be the processor resource occupancy, or it can also include the processor occupancy time (which can be a continuous time, it can also be the total duration of the processor occupied in a cycle), or the processor resources Occupancy value; correspondingly, the first state may include a preset threshold of processor occupation time, and / or a threshold of processor resource occupation; for example, in one example, the processor occupation state includes processor occupation time, then process If the processor occupancy time is greater than or equal to the processor occupancy time threshold, the processor occupancy state is considered to be in accordance with the preset first state; correspondingly, in other examples, the processor occupancy state includes the processor resource occupancy value (which may be the resource occupancy) When the proportional or absolute value, etc.), the processor resource occupancy value is greater than or equal to the processor resource occupancy threshold, it
- the memory occupancy state conforms to the preset second state; in this embodiment, the memory occupancy state may be the change trend of the memory resource occupied by the application, and the second state at this time may be an increase or a gradual increase in resource occupancy; etc.
- the state can also be the amount of memory occupied by the application (which can be the proportion of occupied resources (the proportion can be the current ranking of the proportion of resources occupied by each application) or absolute value, etc.), and the second state at this time can include memory resources Occupation threshold, when the memory occupancy value is greater than or equal to the memory resource occupancy threshold, the memory occupancy state of the application may be considered to conform to the preset second state;
- the occupancy state of the wake lock conforms to the preset third state; in this embodiment, the occupancy state of the wake lock may be the occupancy time of the awaken lock (may be a continuous duration, or may be the total duration of the processor occupied in a cycle)
- the third state may include a preset wake lock occupation time threshold, for example, in an example, the wake lock occupation state includes the wake lock occupation time, then the wake lock occupation time is greater than or equal to the wake lock occupation time threshold, It is considered that the wake lock occupation state conforms to the preset third state;
- the occupancy state of the positioning resources conforms to the preset fourth state;
- the positioning resources in this embodiment include various resources for implementing terminal positioning, such as, but not limited to, a global positioning system (Global Positioning System, GPS is English); this embodiment
- the location resource occupancy status in can be the location resource occupancy duration (which can be a continuous duration, or the total duration of the processor occupied in a cycle), or it can be the frequency of location resource occupancy application; correspondingly, the fourth status can include The preset positioning resource occupation time threshold and / or positioning resource occupation application frequency threshold; for example, in one example, the positioning resource occupation state includes the positioning resource occupation time, when the positioning resource occupation time is greater than or equal to the positioning resource occupation time threshold , It is considered that the location resource occupancy state conforms to the preset fourth state; for example, in other examples, when the location resource occupancy state includes the location resource occupancy application frequency, the location resource occupancy application frequency value is greater than or equal to the location resource occupancy application frequency threshold , It is considered that the location resource occupancy status meets The fourth state is provided;
- the sensor resource occupation state conforms to the preset fifth state.
- the sensor in this embodiment may be any sensor other than the GPS sensor for positioning on the terminal, such as a proximity sensor, a gravity sensor, an image acquisition sensor, etc .; in this embodiment, The sensor resource occupancy status can be the sensor resource occupancy duration (which can be a continuous duration or the total duration of the processor occupied in a cycle), or it can apply for the sensor resource occupancy frequency; correspondingly, the fifth status can include The set threshold of sensor resource occupation duration and / or the threshold of sensor resource occupation application frequency; for example, in an example, the sensor resource occupation status includes the sensor resource occupation duration, then the sensor resource occupation duration is greater than or equal to the sensor resource occupation duration threshold, It is considered that the sensor resource occupation state conforms to the preset fourth state; for another example, in other examples, when the sensor resource occupation state includes the sensor resource occupation application frequency, the sensor resource occupation application frequency value is greater than or equal to the sensor resource occupation application frequency When the threshold is reached, it is considered that the location resource occupation state conforms to the preset
- the preset high power consumption behavior in this embodiment may include any one of the behaviors of the above examples, or may include two or more of the above behaviors; when the two behaviors of the above examples are included
- an application can be determined as a candidate application as long as it satisfies any of the above behaviors.
- an application may also be set according to a specific application scenario to satisfy more than two of the above-mentioned behaviors at the same time to confirm that it is a candidate application.
- the preset high power consumption behavior in this embodiment is not limited to the above-mentioned exemplary behaviors, and can be flexibly set and updated according to requirements. And in some examples, users and / or manufacturers can support customization and update.
- the preset identification rule is used to further determine whether the candidate application is an application that needs to be managed with abnormal power consumption. Therefore, the preset recognition rule may be any recognition rule that can achieve the above effect.
- determining the candidate application according to the preset recognition rule may include: determining an application screening condition corresponding to the application type according to the application type corresponding to the candidate application; and further consuming the candidate application The electrical behavior is compared with the determined application screening conditions, and the candidate application is determined according to the comparison result.
- the application types may include but are not limited to at least one of normal positioning applications, normal multimedia applications, normal game applications, and normal download applications; accordingly, this implementation
- the preset identification rules in the example may include but are not limited to at least one of the following rules:
- Rule 1 When the application type of the candidate application is a normal positioning application, and when the candidate application has positioning information interaction, and the interactive positioning information meets the preset positioning information filtering conditions, it is determined that the candidate application belongs to the normal positioning application; otherwise, It can be determined that the candidate application is an application to be managed.
- the positioning information in this embodiment may include messages generated during various positioning processes, and may also select information generated during specific positioning processes according to requirements, such as, but not limited to, positioning data used to determine the location, and may also include broadcast Or reminder voice information, etc .; in an example, when the application type of the candidate application is a normal positioning application, the preset positioning information filtering condition may include but is not limited to at least one of the following:
- the positions corresponding to the interactive positioning data within the preset time period are not the same position.
- the time period can be flexibly set according to specific application requirements, for example, set to 5 minutes, 10 minutes, etc.
- the location corresponding to the positioning data at different times can be performed For comparison, when the distance difference is less than or equal to the set distance difference threshold, it can be determined that it is the same position, of course, it can also be determined in any other way;
- Voice data is not included in the interactive positioning information.
- the candidate application when it is determined that the interaction information includes voice data, the candidate application may be determined as a multimedia application; it may not be determined as a positioning application; of course, in some other application scenarios It can also be further determined whether it is a positioning type or a multimedia type according to the voice data content (for example, related voice content such as navigation broadcasts);
- the interactive positioning information in this embodiment may be positioning information within a preset duration after the application is determined as a candidate application, or positioning information within a preset duration before the application is determined as a candidate application, or combined with the application before and as a candidate application. Positioning information within the total preset duration after candidate application.
- the preset multimedia information filtering conditions in this embodiment are mainly used to determine whether the multimedia application is in a normal use state; specific judgment rules can be flexibly set. For example, suppose that the candidate application is a video-type multimedia application, and it is detected that it is playing video, but it is in the background running state, it can be considered that it is not normally used and belongs to a high-power-consuming application to be managed; for example, suppose that the current candidate application is Voice multimedia applications, but the interactive voice data is silent data, it can also be considered that it is not normally used, and belongs to the application of high power consumption to be managed;
- the preset multimedia information filtering condition may include but is not limited to at least one of the following:
- the video data does not include video playback data in the background running state
- the voice data does not include the voice data in the mute state.
- the interactive multimedia information in this embodiment may be the interactive multimedia information within the preset time period after the application is determined as the candidate application, or the interactive multimedia information within the preset time period before the application is determined as the candidate application, or determined as a candidate in combination with the application Interactive multimedia information within the total preset duration before application and after being determined as a candidate application.
- Rule 3 When the application type of the candidate application is a normal download application, and when the candidate application has a download data stream and the download data stream meets the preset download conditions, it is determined that the candidate application belongs to a normal multimedia application; otherwise, it can be determined The candidate application is an application to be managed.
- the preset download conditions include:
- the download rate of the download data stream is greater than or equal to the preset download rate value; the preset download rate value can be flexibly set, for example, it can be flexibly set according to the current network environment of the terminal or the real-time remaining resources of the terminal.
- Rule 4 When the application type of the candidate application is a normal game application, and when there is an interaction control instruction in the candidate application, and the interaction control instruction meets the preset interaction instruction screening conditions, it is determined that the candidate application belongs to the normal game application; otherwise, it can be The candidate application is determined to be an application to be managed.
- the preset interactive instruction filtering condition in this embodiment is used to determine whether the candidate application belongs to a normally used game application, so the preset interactive instruction filtering condition may be an interactive control instruction to determine whether the candidate application has various game categories, For example, direction control instructions, skill release control instructions, etc .; if it exists, it can be flexibly determined as a game application.
- the above-mentioned four rules in this embodiment are only rules that are exemplified for ease of understanding, and the preset identification rules in this embodiment are not limited to the above-mentioned types of rules.
- the preset recognition rule may include any one of the above rules, or may include two or more of the above rules. When two or more of the above rules are included, the candidate application only needs to meet any one of the rules.
- the execution timing between each rule can be flexibly set, for example, it can be executed in parallel or sequentially in accordance with a preset order; and In some application scenarios, at least two of the above rules can also be used flexibly in combination, and after a candidate application can be set to satisfy any rule, the candidate application is no longer brought into other rules for judgment.
- step S101 before performing step S101, that is, before monitoring each application currently running on the terminal, each application currently running on the terminal and the preset application can be white. The list is compared to determine which of the applications currently running on the terminal are not in the application whitelist, and then monitor the currently running applications that are not in the application whitelist.
- the candidate application when determining the candidate application according to the preset identification rule, if it is determined that the candidate application is not an application to be managed, the candidate application may be added to the preset application In the white list, to avoid the need to continuously monitor each application currently running on the terminal in the later monitoring process, resulting in a waste of terminal resources.
- the candidate application may be quit running (for example, when a user voluntarily quits the application so that the application is no longer being run, Or the terminal is powered off), the candidate application may be removed from the preset application whitelist.
- various application identification information that can uniquely identify an application can be stored in the application whitelist to reflect which applications are included in the list for subsequent comparison and screening, such as including but not including Limited to at least one of the application's package name, UID (unique identifier, such as a global 32-bit unique number), and so on.
- the application to be managed is used for energy-saving control, and various methods for energy-saving control of the application may be adopted.
- it includes but is not limited to freezing the application to be managed, or shutting down the process that consumes much power of the target application.
- the method of freezing can be to make the application unavailable through system interface functions such as "pm disable” and “am force-stop", or to force the application to close to “freeze” "Effect.
- this embodiment is not limited to these two exemplary freezing methods.
- corresponding thawing conditions may also be set for the frozen application, and when it is detected that the thawing conditions of a frozen application are satisfied, the application is defrosted.
- system services related to the application in the system are not actually frozen, for example, broadcast distribution of the application, Application service components, etc. These services may cause ANR (Application Not Responding) when the application is frozen.
- system services related to the frozen application may be frozen.
- the broadcast distribution of the frozen application may be discarded, and / or the service component that starts the frozen application may be stopped.
- the terminal will propose an ANR box to notify the user, and the pop-up of the ANR box will undoubtedly reduce the user experience.
- the management application After freezing, if an ANR about the application to be managed is detected, the ANR box is automatically blocked so that it does not pop up, thereby avoiding impact on the user.
- calls between various processes of the system may involve calls involving applications that have been frozen.
- the method is: when a system call operation for a frozen application is detected, the frozen application is unfrozen, and the system call operation is performed. Thereafter, after the execution of the call operation is completed, the application can be restarted. Freeze.
- the frozen application will be unfrozen for all system call operations, which will result in increased system overhead, but in the actual application process, not all involve freezing.
- the system call operation of the application will cause a system failure.
- the preset operation abandonment conditions should be designed in accordance with the following principles: try to allow the terminal to complete the system operation (such as the binder operation) as much as possible to avoid the application logic of the frozen application causing terminal operation. Coherence.
- various known system call operations of each application that do not need to be thawed, not executed, or cause system failures can be summarized in a table.
- This table is the preset operation abandonment condition. If the system call operation for a frozen application is the system call operation corresponding to the application record in the table, the system call operation can be discarded.
- the application with higher power consumption among the applications currently running on the terminal can be determined in real time according to the type of application to which it belongs to whether it is currently a normally used application to determine Whether it is necessary to control energy saving and power consumption; it is not simply relying on the preset application list or terminal working mode to directly determine an application that is currently running outside the application list or the working mode as abnormal power consumption application.
- the application may indeed be an application with abnormal power consumption in some specific application scenarios, but in some application scenarios it is an application with normal power consumption, that is, an application that runs normally.
- the application that belongs to the list is directly determined as an application with abnormal power consumption according to a preset application list or working mode, which has a large error, and it is easy to mistake a normal running application as an application with abnormal power consumption ; And its judgment depends to a large extent on the accurate settings of the application in the list, and users often cannot adjust the list accurately or in real time to keep the list accurate, which also leads to the application list based on the preset
- the obtained judgment result has a large error, which further reduces the user experience satisfaction.
- the application control method provided in this embodiment dynamically determines real-time and dynamically determined applications to be managed that require energy-saving control according to the actual power consumption of the application currently running on the terminal and the application type corresponding to the application.
- the corresponding service provider settings or the corresponding application list of the service have better practicability and intelligence, higher accuracy, better versatility and intelligence, and can further improve user experience satisfaction.
- this embodiment takes the control of saving energy as the way to freeze the application as an example to further explain the embodiment of the present invention.
- the present invention includes five logical layers, namely a detection layer, a decision layer, a freezing layer, a defrosting layer, and an exception handling layer.
- the exception handling layer is divided into framework exception handling layer and driving exception handling layer.
- the detection layer is used to detect the state of the terminal turning on and off the screen, and the abnormal power consumption behavior of the system background. If the abnormal power consumption behavior is satisfied, the application information is reported to the decision module. At the same time, it also cooperates with the defrosting module to detect applications suitable for defrosting.
- the decision layer is used to determine whether it is necessary to perform a freeze operation according to the specific type and status of the current application. If freezing is required, a freeze instruction is issued to the freeze execution layer. If freezing is not required, the abnormal monitoring strategy of the detection layer can be adjusted to let The detection layer no longer monitors the application.
- the freezing layer is used to freeze the application to be frozen according to the application information to be frozen provided by the freezing decision layer.
- the thawing layer is used for thawing applications that require thawing.
- the framework exception handling layer is used to handle exceptions that may occur after the application is frozen, such as discarding the broadcast distribution of the frozen application to avoid ANR, stopping the service component that starts the frozen application to avoid ANR, and at the same time, ANR that has occurred for the frozen application Make circumvention to prevent the system from terminating frozen applications due to ANR. At the same time, it cooperates with the thaw module to restore and cancel some exception handling strategies, such as canceling the broadcast discarding of the frozen application, and restoring the broadcast distribution to the unfrozen application.
- the driver exception handling layer is used when a binder (a means of communication between processes) calls a frozen application to take the action of giving up freezing or abandoning operations to ensure that the system is normal, and let it complete the binder operation normally as much as possible to avoid freezing Possible inconsistencies in the application logic of the application, more importantly, to avoid system failure caused by binder blocking.
- FIG. 3 is a schematic diagram of a process for performing layered freezing of applications provided by this embodiment, including:
- Step S301 When the application switches to the background, the detection layer monitors the activities of these applications in the background.
- Step S302 When detecting that an application has abnormal power consumption behavior, report the abnormal power consumption behavior and the application type of the application to the decision layer;
- the detection layer continuously monitors the application for abnormal power consumption in the background. If there is abnormal power consumption behavior, it will be reported to the decision-making layer. The next step is to comprehensively judge the conditions of the application and determine whether to report to the frozen layer.
- Step S303 The decision layer comprehensively decides whether to freeze the application according to the reported abnormal power consumption behavior and application type.
- the decision layer can adjust the abnormal monitoring strategy of the detection layer so that the detection layer no longer monitors the application.
- Step S304 When the decision layer thinks that the application needs to be frozen, the freezing layer is notified to perform the freezing operation.
- Step S305 After receiving the instruction from the decision layer, the freezing layer freezes the application.
- the framework exception handling layer discards the broadcast distribution to the frozen application, stops the service component that starts the frozen application, and at the same time makes circumvention on the ANR that has occurred in the frozen application.
- the framework exception handling layer is responsible for handling the exceptions that may occur after the application is frozen, such as discarding the broadcast distribution of the frozen application to avoid ANR, stopping the service components that start the frozen application to avoid ANR, and at the same time, making the ANR of the frozen application. Avoid processing and avoid the system from terminating frozen applications due to ANR.
- the driver exception handling layer will take actions such as giving up freezing or abandoning operations to ensure that the system is normal.
- the detection layer detects that the thawing conditions are met, it will notify the thawing layer to defrost the application.
- the framework exception handling layer cooperates with the unfreeze layer to cancel some exception handling strategies, such as canceling the broadcast discarding of the frozen application and restoring the broadcast distribution to the unfrozen application, and restoring the normal startup of service components.
- the application control method provided in this embodiment can flexibly and accurately determine the applications that need to perform energy-saving control on the terminal with abnormal power consumption, and perform control processing on these applications through energy-saving processing methods such as freezing, etc. Freeze and unfreeze applications under conditions that affect users' real needs, saving system resources such as CPU, memory, and battery, improving terminal endurance performance and resource utilization, and improving user experience.
- This embodiment provides an application control device, which can be installed in various terminals, as shown in FIG. 4, including: a monitoring module 41, a determination module 42, and a processing module 43; wherein:
- the monitoring module 41 is used to monitor each application currently running on the terminal;
- the determining module 42 is configured to determine the candidate application according to the preset identification rule when the monitoring module 41 detects the candidate application that satisfies the preset first power consumption condition, to determine whether the candidate application is an application to be managed; specifically determine the application For the process of satisfying the preset first power consumption condition and the process of determining the candidate application according to the preset identification rule, reference may be made to the relevant parts described in the foregoing embodiments, and details are not described herein again.
- the preset first power consumption condition in this embodiment may include: the application is currently running in the background and has a preset high power consumption behavior.
- the processing module 43 is used to control energy saving of the application to be managed when the determination module 42 determines that the candidate application is an application to be managed.
- various methods of energy-saving control of the application may be adopted. Examples include, but are not limited to, freezing applications to be managed.
- the processing module 43 is further configured to: after freezing the application to be managed, freeze the system service related to the frozen application. For example, the broadcast distribution of the frozen application may be discarded, and / or the service component that starts the frozen application may be stopped.
- the terminal will propose an ANR box to notify the user, and the pop-up of the ANR box will undoubtedly reduce the user experience.
- the processing module 43 may freeze the application to be managed After that, if an ANR about the application to be managed is detected, the ANR box is automatically shielded so that it does not pop up, thereby avoiding impact on the user.
- a feasible implementation method is: When a system call operation for a frozen application is detected, the processing module 43 unfreezes the frozen application and executes the system call operation. After that, the processing module 43 can re-apply the application after the execution of the call operation is completed Freeze.
- the frozen application will be unfrozen for all system call operations, which will result in increased system overhead, but in the actual application process, not all involve freezing.
- the system call operation of the application will cause a system failure.
- the processing module 43 determines the system call operation Whether the preset operation abandonment condition is satisfied; if it is satisfied, the system call operation is abandoned; otherwise, the frozen application is defrosted and the system call operation is performed. Of course, afterwards, the processing module 43 may freeze the application again after the calling operation is completed.
- the preset operation abandon condition should be designed in accordance with the following principle: try to allow the terminal to complete the system operation (such as binder operation) as much as possible to avoid the application logic of the frozen application causing terminal operation. Incoherence.
- various known system call operations of each application that do not need to be thawed, not executed, or cause system failures can be summarized in a table.
- This table is the preset operation abandonment condition. If the system call operation for a frozen application is the system call operation corresponding to the application record in the table, the system call operation can be discarded.
- This embodiment also provides a terminal, which includes but is not limited to a smart phone, a notebook computer, a digital broadcast receiver, a personal digital assistant (PDA), a tablet computer (PAD), a portable multimedia player (PMP), and a navigation device Mobile terminals, etc. and fixed terminals such as digital TVs, desktop computers, etc.
- a terminal which includes but is not limited to a smart phone, a notebook computer, a digital broadcast receiver, a personal digital assistant (PDA), a tablet computer (PAD), a portable multimedia player (PMP), and a navigation device Mobile terminals, etc. and fixed terminals such as digital TVs, desktop computers, etc.
- PDA personal digital assistant
- PAD tablet computer
- PMP portable multimedia player
- FIG. 5 it includes a processor 501, a memory 502, and a communication bus 503;
- the communication bus 503 is used to realize the communication connection between the processor 501 and the memory 502;
- the processor 501 may be used to execute one or more computer programs stored in the memory 502 to implement the steps of the application control method in the above embodiments.
- This embodiment also provides a computer-readable storage medium, which is implemented in any method or technology for storing information (such as computer-readable instructions, data structures, computer program modules, or other data) Volatile or non-volatile, removable or non-removable media.
- Computer-readable storage media include but are not limited to RAM (Random Access Memory, random access memory), ROM (Read-Only Memory, read-only memory), EEPROM (Electrically Erasable Programmable read only memory, live erasable programmable read-only memory ), Flash memory or other memory technology, CD-ROM (Compact Disc Read-Only Memory, CD-ROM), digital versatile disk (DVD) or other optical disk storage, magnetic box, magnetic tape, magnetic disk storage or other magnetic storage devices, Or any other medium that can be used to store desired information and can be accessed by a computer.
- RAM Random Access Memory
- ROM Read-Only Memory
- EEPROM Electrically Erasable Programmable read only memory
- live erasable programmable read-only memory Flash
- the computer-readable storage medium may be used to store one or more computer programs, and the one or more computer programs may be executed by one or more processors to implement the steps of the application control method in the above embodiments .
- This embodiment also provides a computer program (or computer software), which can be distributed on a computer-readable medium and executed by a computable device to implement at least the application control method shown in the above embodiments One step; and in some cases, at least one step shown or described may be performed in an order different from that described in the above embodiment.
- a computer program or computer software
- This embodiment also provides a computer program product, which includes a computer-readable device, and the computer program as shown above is stored on the computer-readable device.
- the computer-readable device may include the computer-readable storage medium shown above.
- communication media generally contains computer readable instructions, data structures, computer program modules, or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and may include any information delivery medium. Therefore, the present invention is not limited to any specific combination of hardware and software.
- each application currently running on the terminal can be monitored, and when it is detected that the preset first power consumption is satisfied
- the candidate application is determined according to a preset recognition rule to determine whether the candidate application is an application to be managed; if the candidate application is determined to be an application to be managed, energy savings can be made for the application to be managed Consume control.
- two screenings are substantially realized, thereby improving the monitoring accuracy of applications with abnormal power consumption.
- the energy-saving processing of the selected applications to be managed including but not limited to freezing processing, it can improve the endurance and resource utilization of the terminal without affecting the user's normal use of the terminal, thereby improving the user Satisfaction of experience.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims (17)
- 一种应用控制方法,包括:An application control method, including:对终端上当前运行的各应用进行监测;Monitor each application currently running on the terminal;在监测到满足预设第一功耗条件的候选应用时,根据预设识别规则对所述候选应用进行判定,以确定所述候选应用是否为待管理应用;When a candidate application that satisfies the preset first power consumption condition is monitored, determine the candidate application according to a preset recognition rule to determine whether the candidate application is an application to be managed;在确定所述候选应用为待管理应用时,对所述待管理应用进行节省能耗的控制。When it is determined that the candidate application is an application to be managed, energy saving control is performed on the application to be managed.
- 如权利要求1所述的应用控制方法,在所述对终端上当前运行的各应用进行监测之前,还包括:The application control method according to claim 1, before the monitoring each application currently running on the terminal, further comprising:确定被监测的各应用不在预设的应用白名单中。It is determined that the monitored applications are not in the preset application whitelist.
- 如权利要求2所述的应用控制方法,还包括:在确定所述候选应用不为待管理应用时,将所述候选应用加入到预设的所述应用白名单中。The application control method according to claim 2, further comprising: when it is determined that the candidate application is not an application to be managed, adding the candidate application to the preset application whitelist.
- 如权利要求1所述的应用控制方法,其中,所述预设第一功耗条件包括:The application control method of claim 1, wherein the preset first power consumption condition comprises:应用当前处于后台运行状态,且具有预设高耗电行为。The application is currently running in the background and has a preset high power consumption behavior.
- 如权利要求4所述的应用控制方法,其中,所述预设高耗电行为包括以下中的至少一种:The application control method according to claim 4, wherein the preset high power consumption behavior includes at least one of the following:处理器占用状态符合预设第一状态;The processor occupancy state conforms to the preset first state;内存占用状态符合预设第二状态;The memory occupation state conforms to the preset second state;唤醒锁占用状态符合预设第三状态;The wake lock occupation state conforms to the preset third state;定位资源占用状态符合预设第四状态;The occupancy status of positioning resources conforms to the preset fourth status;传感器资源占用状态符合预设第五状态。The sensor resource occupation state conforms to the preset fifth state.
- 如权利要求4所述的应用控制方法,其中,所述根据预设识别规则对所述候选应用进行判定包括:The application control method according to claim 4, wherein the determining the candidate application according to a preset recognition rule includes:根据所述候选应用对应的应用类型确定所述应用类型对应的应用筛选条件;Determine the application screening conditions corresponding to the application type according to the application type corresponding to the candidate application;将所述候选应用的高耗电行为与所述应用筛选条件进行比对,根据比对结果来对所述候选应用进行判定。Comparing the high power consumption behavior of the candidate application with the application screening condition, and determining the candidate application according to the comparison result.
- 如权利要求1-6任一项所述的应用控制方法,其中,所述对所述待管理应用进行节省能耗的控制包括:The application control method according to any one of claims 1 to 6, wherein the control of saving energy consumption of the application to be managed includes:对所述待管理应用进行冻结。Freeze the application to be managed.
- 如权利要求7所述的应用控制方法,其中,在对所述待管理应用进行冻结之后,还包括:The application control method according to claim 7, wherein after freezing the application to be managed, further comprising:将与该被冻结的应用相关的系统服务冻结。Freeze system services related to the frozen application.
- 如权利要求8所述的应用控制方法,其中,所述将与该被冻结的应用相关的系统服务冻结包括:The application control method according to claim 8, wherein the freezing of system services related to the frozen application comprises:丢弃对该被冻结的应用的广播分发;和/或,Discard the broadcast distribution of the frozen application; and / or,停止启动该被冻结的应用的服务组件。Stop starting the service component of the frozen application.
- 如权利要求7所述的应用控制方法,其中,在对所述待管理应用进行冻结之后,还包括:The application control method according to claim 7, wherein after freezing the application to be managed, further comprising:在检测到针对某一被冻结的应用的系统调用操作时,判断所述系统调用操作是否满足预设的操作抛弃条件;若满足,则抛弃所述系统调用操作;否则,对所述被冻结的应用进行解冻处理,并执行所述系统调用操作。When a system call operation for a frozen application is detected, it is determined whether the system call operation satisfies the preset operation abandonment condition; if it is satisfied, the system call operation is abandoned; otherwise, the frozen The application performs thawing processing and executes the system call operation.
- 一种应用控制装置,包括:监测模块、确定模块和处理模块;其中An application control device, including: a monitoring module, a determination module and a processing module; wherein所述监测模块用于对终端上当前运行的各应用进行监测;The monitoring module is used to monitor each application currently running on the terminal;所述确定模块用于在所述监测模块监测到满足预设第一功耗条件的候选应用时,根据预设识别规则对所述候选应用进行判定,以确定所述候选应用是否为待管理应用;The determining module is configured to determine the candidate application according to a preset recognition rule when the monitoring module detects a candidate application that satisfies a preset first power consumption condition to determine whether the candidate application is an application to be managed ;所述处理模块用于在所述确定模块确定所述候选应用为待管理应用时,对所述待管理应用进行节省能耗的控制。The processing module is configured to control energy saving of the application to be managed when the determination module determines that the candidate application is an application to be managed.
- 如权利要求11所述的应用控制装置,其中,所述预设第一功耗条件包括:The application control device according to claim 11, wherein the preset first power consumption condition includes:应用当前处于后台运行状态,且具有预设高耗电行为。The application is currently running in the background and has a preset high power consumption behavior.
- 如权利要求11或12所述的应用控制装置,其中,所述处理模块对所述待管理应用进行节省能耗的控制具体包括:The application control device according to claim 11 or 12, wherein the processing module for controlling the energy saving of the application to be managed specifically includes:所述处理模块对所述待管理应用进行冻结。The processing module freezes the application to be managed.
- 如权利要求13所述的应用控制装置,其中,所述处理模块还用于:在对所述待管理应用进行冻结之后,将与该被冻结的应用相关的系统服务冻结。The application control device according to claim 13, wherein the processing module is further configured to: after freezing the application to be managed, freeze a system service related to the frozen application.
- 如权利要求13所述的应用控制装置,其中,所述处理模块还用于:在对所述待管理应用进行冻结之后,在检测到针对某一被冻结的应用的系统调用操作时,判断所述系统调用操作是否满足预设的操作抛弃条件;若满足,则抛弃所述系统调用操作;否则,对所述被冻结的应用进行解冻处理,并执行所述系统调用操作。The application control device of claim 13, wherein the processing module is further configured to: after freezing the application to be managed, when detecting a system call operation for a frozen application, determine Whether the system call operation satisfies the preset operation abandon condition; if it is met, the system call operation is abandoned; otherwise, the frozen application is defrosted and the system call operation is performed.
- 一种终端,包括处理器、存储器和通信总线;其中A terminal, including a processor, a memory, and a communication bus; where所述通信总线用于将所述处理器和存储器连接;The communication bus is used to connect the processor and the memory;所述处理器用于执行所述存储器中存储的计算机程序,以实现如权利要求1-10任一项所述的应用控制方法的步骤。The processor is used to execute a computer program stored in the memory to implement the steps of the application control method according to any one of claims 1-10.
- 一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个计算机 程序,所述一个或者多个计算机程序可被一个或者多个处理器执行,以实现如权利要求1-10任一项所述的应用控制方法的步骤。A computer-readable storage medium storing one or more computer programs, the one or more computer programs may be executed by one or more processors to implement claims 1-10 Any one of the steps of the application control method.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811330814.6 | 2018-11-09 | ||
CN201811330814.6A CN111176416A (en) | 2018-11-09 | 2018-11-09 | Application control method, device, terminal and computer readable storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020094125A1 true WO2020094125A1 (en) | 2020-05-14 |
Family
ID=70612251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/116611 WO2020094125A1 (en) | 2018-11-09 | 2019-11-08 | Application control method, device, terminal, and computer-readable storage medium |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111176416A (en) |
WO (1) | WO2020094125A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256354B (en) * | 2020-11-25 | 2023-05-16 | Oppo(重庆)智能科技有限公司 | Application starting method and device, storage medium and electronic equipment |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106793027A (en) * | 2016-11-30 | 2017-05-31 | 努比亚技术有限公司 | The processing method and terminal of abnormal power consumption |
CN107622004A (en) * | 2016-07-14 | 2018-01-23 | 中兴通讯股份有限公司 | Power consumption based reminding method and device |
CN108024239A (en) * | 2017-11-29 | 2018-05-11 | 深圳创维数字技术有限公司 | Remote terminal and its control method, computer-readable recording medium |
CN108536547A (en) * | 2018-03-30 | 2018-09-14 | 广东欧珀移动通信有限公司 | Information processing method, device, computer equipment and computer readable storage medium |
CN108616653A (en) * | 2018-03-30 | 2018-10-02 | 广东欧珀移动通信有限公司 | Information processing method, device, mobile terminal and computer readable storage medium |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103037108A (en) * | 2012-12-10 | 2013-04-10 | 乐蛙科技(上海)有限公司 | Power saving method for smart mobile terminal |
CN108037818A (en) * | 2017-10-31 | 2018-05-15 | 努比亚技术有限公司 | A kind of background application management method, terminal and computer-readable recording medium |
-
2018
- 2018-11-09 CN CN201811330814.6A patent/CN111176416A/en not_active Withdrawn
-
2019
- 2019-11-08 WO PCT/CN2019/116611 patent/WO2020094125A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107622004A (en) * | 2016-07-14 | 2018-01-23 | 中兴通讯股份有限公司 | Power consumption based reminding method and device |
CN106793027A (en) * | 2016-11-30 | 2017-05-31 | 努比亚技术有限公司 | The processing method and terminal of abnormal power consumption |
CN108024239A (en) * | 2017-11-29 | 2018-05-11 | 深圳创维数字技术有限公司 | Remote terminal and its control method, computer-readable recording medium |
CN108536547A (en) * | 2018-03-30 | 2018-09-14 | 广东欧珀移动通信有限公司 | Information processing method, device, computer equipment and computer readable storage medium |
CN108616653A (en) * | 2018-03-30 | 2018-10-02 | 广东欧珀移动通信有限公司 | Information processing method, device, mobile terminal and computer readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN111176416A (en) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020052471A1 (en) | Method and apparatus for detecting application to be managed, method and apparatus for controlling application, terminal, and storage medium | |
JP4060322B2 (en) | Application management apparatus and storage medium storing software thereof | |
US20180150324A1 (en) | Idle Time Service | |
US8752060B2 (en) | Multi-CPU domain mobile electronic device and operation method thereof | |
US20180113764A1 (en) | Hypervisor Based Watchdog Timer | |
WO2020220748A1 (en) | Application control method and apparatus, terminal, and computer-readable storage medium | |
EP2979182B1 (en) | On-demand scalable timer wheel | |
WO2020094125A1 (en) | Application control method, device, terminal, and computer-readable storage medium | |
CN110727473B (en) | Resource control method, device, system, storage medium and electronic equipment | |
CN109298772A (en) | Electricity-saving control method, device and mobile terminal and computer readable storage medium | |
WO2020052472A1 (en) | Method and device for detecting and controlling abnormal application, terminal, and storage medium | |
JP5801331B2 (en) | Task controller | |
JP2009176139A (en) | Apparatus and program for changing os priority | |
WO2020220868A1 (en) | Broadcast control method, terminal and computer readable storage medium | |
WO2020224381A1 (en) | Application state control method apparatus, and terminal and computer-readable storage medium | |
WO2020224417A1 (en) | Method and apparatus for controlling power consumption of terminal, terminal, and computer-readable storage medium | |
US20220244985A1 (en) | Application management method and device, terminal and readable storage medium | |
WO2018227355A1 (en) | Application program management system and management method for smart terminal | |
US8832708B2 (en) | Process pool of empty application hosts to improve user perceived launch time of applications | |
WO2020052493A1 (en) | Application freezing method and apparatus, storage medium and electronic apparatus | |
CN112256118B (en) | Application program freezing control method, device, terminal and readable storage medium | |
US10642981B2 (en) | Checking method, checking device and checking system for processor | |
WO2020093888A1 (en) | Power saving method and apparatus, and storage medium | |
WO2020206701A1 (en) | Data processing method and apparatus, storage medium, and electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19881343 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19881343 Country of ref document: EP Kind code of ref document: A1 |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 17.09.2021) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19881343 Country of ref document: EP Kind code of ref document: A1 |