CN116339847A - Application program freezing method and device and electronic equipment - Google Patents
Application program freezing method and device and electronic equipment Download PDFInfo
- Publication number
- CN116339847A CN116339847A CN202111602644.4A CN202111602644A CN116339847A CN 116339847 A CN116339847 A CN 116339847A CN 202111602644 A CN202111602644 A CN 202111602644A CN 116339847 A CN116339847 A CN 116339847A
- Authority
- CN
- China
- Prior art keywords
- application
- electronic device
- broadcast
- registration information
- electronic equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 136
- 230000008014 freezing Effects 0.000 title claims abstract description 40
- 230000008569 process Effects 0.000 claims description 46
- 239000011230 binding agent Substances 0.000 claims description 44
- 238000012545 processing Methods 0.000 claims description 33
- 238000007710 freezing Methods 0.000 claims description 17
- 230000034994 death Effects 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 12
- 230000002618 waking effect Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 2
- 230000002829 reductive effect Effects 0.000 abstract description 14
- 230000006870 function Effects 0.000 description 32
- 238000004891 communication Methods 0.000 description 30
- 238000007726 management method Methods 0.000 description 26
- 230000000694 effects Effects 0.000 description 21
- 238000010295 mobile communication Methods 0.000 description 12
- 230000000903 blocking effect Effects 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 10
- 230000005236 sound signal Effects 0.000 description 10
- 210000000988 bone and bone Anatomy 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000003068 static effect Effects 0.000 description 7
- 238000001914 filtration Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000010257 thawing Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 239000000956 alloy Substances 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000002147 killing effect Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002138 osteoinductive effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000013404 process transfer Methods 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
- 230000002747 voluntary effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Telephone Function (AREA)
Abstract
The embodiment of the application provides an application program freezing method, an application program freezing device and electronic equipment, wherein the method comprises the following steps: in an embodiment of the application, the electronic device determines that the first application of the electronic device is in a user unaware state and/or an unused state. The electronic device prevents the first application from being awakened in a preset mode, wherein the preset mode comprises at least one of the following three modes: the first application is intercepted from receiving a first message, the first message including a specified broadcast. The designated registration information of the first application is processed, and the designated registration information includes alarm information or broadcast registration information. The electronic device or a second application is prevented from calling the first application, the second application is a calling party, and the first application is a called party. Therefore, the electronic equipment prevents the first application from being awakened in a preset mode, so that the first application is not frequently active in the background, the application is prevented from being abused and active in the background, the power consumption is ensured, and the hidden memory exchange quantity is also greatly reduced.
Description
Technical Field
The embodiment of the application relates to the technical field of electronics, in particular to an application program freezing method and device and electronic equipment.
Background
Applications on an electronic device may frequently be called up and awakened, for example, one application may monitor in the background for another three-way application to wake itself up, which may result in frequent activation of the application in the background. To prevent frequent activation of applications in the background. Existing methods of freezing applications typically employ the following:
in the first mode, when a broadcast message is received, a part of the broadcast message is cached, and the accumulated memory is expanded. Another part of the uncached broadcast message wakes up the application directly, which may result in the application being active.
And secondly, adopting a native batch processing (batch) mechanism to uniformly process and trigger the alarm existing in the system of the electronic equipment according to the type and the trigger time. Although the alarm of the application is uniformly controlled in this way, there are situations where the application program is awakened in the background, especially some applications with high unnecessary activity and applications with more interaction with the user.
And thirdly, filtering and intercepting the binder message without consideration. However, this interception may cause the application associated with the binder message to be considered as an abnormal state by the system service of the electronic device, resulting in restarting the application by the system service. In addition, the error filtering of the binder message may affect the user's normal use of the application. The existing asynchronous message is cached, so that the memory is expanded, and the binder communication cannot be performed after the memory space is used up. Thus, the synchronization binder wakes up directly, resulting in the application being active.
It can be seen that existing solutions to freeze applications still result in the background application being awakened.
Disclosure of Invention
The embodiment of the application program freezing method, device and electronic equipment enable application to be frequently active in the background, ensure power consumption and simultaneously greatly reduce hidden memory exchange quantity.
In order to achieve the above purpose, the embodiment of the application adopts the following technical scheme:
in a first aspect, an embodiment of the present application provides an application program freezing method, applied to an electronic device, where the method may include: the electronic device determines that a first application of the electronic device is in a user-unaware state and/or an unused state. The electronic device prevents the first application from being awakened in a preset mode, wherein the preset mode comprises at least one of the following three modes: the first application is intercepted from receiving a first message, the first message including a specified broadcast. The designated registration information of the first application is processed, and the designated registration information includes alarm information or broadcast registration information. The electronic device or a second application is prevented from calling the first application, the second application is a calling party, and the first application is a called party. Therefore, the electronic equipment prevents the first application from being awakened in a preset mode, so that the first application is not frequently active in the background, the application is prevented from being abused and active in the background, the power consumption is ensured, and the hidden memory exchange quantity is also greatly reduced.
In a specific implementation manner, the electronic device prevents the first application from being awakened by intercepting the first application from receiving the first message, which may be specifically: the electronic device receives a first notification for distributing a specified broadcast. The electronic device determines to distribute the specified broadcast to the first application based on the first notification and the pre-stored broadcast registration information. When distributing the designated broadcast, the electronic device intercepts the designated broadcast for distribution to the first application. Therefore, the first application can not be frequently active in the background due to receiving the appointed broadcast, and the invisible memory exchange quantity can be greatly reduced while the power consumption is ensured.
In a specific embodiment, the specified registration information includes broadcast registration information, and the electronic device processes the specified registration information of the first application to prevent the first application from being awakened, which may be specifically: the electronic device receives a first notification for distributing a specified broadcast. And the electronic equipment stores the broadcast registration information of the first application in an invalid list according to the first notification and the pre-stored broadcast registration information so as to prevent the first application from being awakened. Therefore, the first application can not be frequently active in the background due to receiving the appointed broadcast, and the invisible memory exchange quantity can be greatly reduced while the power consumption is ensured.
In a specific implementation manner, the specified registration information includes alarm information, and the electronic device processes the specified registration information of the first application to prevent the first application from being awakened, which may be specifically: the electronic equipment carries out infinite delay processing on the alarm information of the first application; or the electronic equipment stores the alarm information of the first application in an invalid list according to the prestored registration information. In this way, the first application may not wake up by alarm in the background.
In a specific implementation manner, the electronic device prevents the first application from being awakened by preventing the second application from calling the first application, which may be specifically: in the process that the second application calls the first application through the binder, the electronic device transmits death information of the first application to the second application, the second application is not a foreground application or a system application, and the death information is information used for representing that the first application is in an unresponsive state. In this way, the first application may be made less frequently active in the background.
In one particular embodiment, the death information includes call failure information or an error code generated by a call application failure.
In a specific implementation manner, the electronic device prevents the first application from being awakened by preventing the electronic device from calling the first application, which may be specifically: when the system of the electronic equipment calls the first application, the electronic equipment prevents the system of the electronic equipment from restarting and overtime processing on the first application.
In a specific implementation manner, the electronic device determines that the first application is in a user unaware state and/or an unused state, which may be specifically: when the first application satisfies the first condition, the electronic device determines that the first application is in a user unaware state and/or an unused state.
In a specific embodiment, the first condition comprises one or more of: run in the background, not used for a period of time, not occupying channels, not visible to the user, not using GPS, not downloading data.
In some embodiments, the method may further comprise: when the electronic device determines that the first application of the electronic device is in the user perceived state and/or the use state, the electronic device wakes up the first application.
In a second aspect, an embodiment of the present application provides an application program freezing apparatus, applied to an electronic device, where the apparatus may include: the first determining unit is used for determining that the first application of the electronic equipment is in a user unaware state and/or an unused state. The device comprises a blocking unit, a first application and a second application, wherein the blocking unit is used for blocking the first application from being awakened in a preset mode, and the preset mode comprises at least one of the following three modes: the first application is intercepted from receiving a first message, the first message including a specified broadcast. The designated registration information of the first application is processed, and the designated registration information includes alarm information or broadcast registration information. The electronic device or a second application is prevented from calling the first application, the second application is a calling party, and the first application is a called party. Therefore, the electronic equipment prevents the first application from being awakened in a preset mode, so that the first application is not frequently active in the background, the application is prevented from being abused and active in the background, the power consumption is ensured, and the hidden memory exchange quantity is also greatly reduced.
In a specific embodiment, the blocking unit is further configured to: a first notification for distributing a specified broadcast is received. The electronic device determines to distribute the specified broadcast to the first application based on the first notification and the pre-stored broadcast registration information. When the designated broadcast is distributed, the designated broadcast is intercepted and distributed to the first application. Therefore, the first application can not be frequently active in the background due to receiving the appointed broadcast, and the invisible memory exchange quantity can be greatly reduced while the power consumption is ensured.
In a specific embodiment, the specified registration information includes broadcast registration information, and the blocking unit is further configured to: a first notification for distributing a specified broadcast is received. And storing the broadcast registration information of the first application in an invalid list according to the first notice and the pre-stored broadcast registration information so as to prevent the first application from being awakened. Therefore, the first application can not be frequently active in the background due to receiving the appointed broadcast, and the invisible memory exchange quantity can be greatly reduced while the power consumption is ensured.
In a specific embodiment, the specified registration information comprises alarm information, and the blocking unit is further configured to: carrying out infinite delay processing on the alarm information of the first application; alternatively, the alarm information of the first application is stored in the invalid list according to the pre-stored registration information. In this way, the first application may not wake up by alarm in the background.
In a specific embodiment, the blocking unit is further configured to: and in the process that the second application calls the first application through the binder, the death information of the first application is transmitted to the second application, the second application is not a foreground application or a system application, and the death information is information used for representing that the first application is in a non-response state. In this way, the first application may be made less frequently active in the background.
In one particular embodiment, the death information includes call failure information or an error code generated by a call application failure.
In a specific embodiment, the blocking unit is further configured to: when the system of the electronic equipment calls the first application, the system of the electronic equipment is prevented from restarting and overtime processing on the first application.
In a specific embodiment, the first determining unit is further configured to: when the first application satisfies the first condition, the first application is determined to be in a user unaware state and/or an unused state.
In a specific embodiment, the first condition comprises one or more of: run in the background, not used for a period of time, not occupying channels, not visible to the user, not using GPS, not downloading data.
In some embodiments, the method may further comprise: and the wake-up unit is used for waking up the first application when the first application of the electronic equipment is determined to be in a user perception state and/or a use state.
In a third aspect, an embodiment of the present application provides an electronic device, including: one or more processors; and a memory in which the code is stored; the code, when executed by the one or more processors, causes the electronic device to perform the method as described in the first aspect.
In a fourth aspect, embodiments of the present application provide a chip system for use in an electronic device, the chip system including one or more interface circuits and one or more processors; the interface circuit and the processor are interconnected through a circuit; the interface circuit is used for receiving signals from the memory of the electronic device and sending signals to the processor, wherein the signals comprise computer instructions stored in the memory; when the processor executes computer instructions, the method as described in the first aspect is performed.
In a fifth aspect, embodiments of the present application provide a computer-readable storage medium, including computer instructions that, when executed on an electronic device, cause the electronic device to perform the method according to the first aspect.
In a sixth aspect, embodiments of the present application provide a computer program product, characterized in that the computer program product, when run on a computer, causes the computer to perform the method according to the first aspect.
Embodiments of each of the foregoing second to sixth embodiments and corresponding technical effects may be referred to the embodiments and technical effects of the foregoing first aspect.
In an embodiment of the application, the electronic device determines that the first application of the electronic device is in a user unaware state and/or an unused state. The electronic device prevents the first application from being awakened in a preset mode, wherein the preset mode comprises at least one of the following three modes: the first application is intercepted from receiving a first message, the first message including a specified broadcast. The designated registration information of the first application is processed, and the designated registration information includes alarm information or broadcast registration information. The electronic device or a second application is prevented from calling the first application, the second application is a calling party, and the first application is a called party. Therefore, the electronic equipment prevents the first application from being awakened in a preset mode, so that the first application is not frequently active in the background, the application is prevented from being abused and active in the background, the power consumption is ensured, and the hidden memory exchange quantity is also greatly reduced.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are required to be used in the description of the embodiments will be briefly described below.
Fig. 1 is a schematic structural diagram of an apparatus according to an embodiment of the present application;
FIG. 2A is a block diagram of a software architecture of a device according to an embodiment of the present application;
fig. 2B is a software architecture block diagram of an Android system of a device according to an embodiment of the present application;
fig. 2C is a software architecture block diagram of an Android system of a device according to an embodiment of the present application;
FIG. 3 is a flowchart of an application freezing method according to an embodiment of the present application;
FIG. 4 is a flowchart of an application freezing method according to an embodiment of the present application;
FIG. 5 is a flowchart of an application freezing method according to an embodiment of the present application;
FIG. 6 is a flowchart of an application freezing method according to an embodiment of the present application;
fig. 7 is a flowchart of an application program freezing method according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application. Wherein, in the description of the embodiments of the present application, "/" means or is meant unless otherwise indicated, for example, a/B may represent a or B; "and/or" herein is merely an association relationship describing an association object, and means that three relationships may exist, for example, a and/or B may mean: a exists alone, A and B exist together, and B exists alone. In addition, in the description of the embodiments of the present application, "plurality" means two or more than two.
The terms "first" and "second" are used below for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include one or more such feature. In the description of the present embodiment, unless otherwise specified, the meaning of "plurality" is two or more.
Currently, electronic devices employ memory exchange techniques to expand memory size. This technique temporarily stores memory data of a background application that is not temporarily used in a storage medium, and when a user clicks the application, the data in the storage medium is replaced in the memory space. However, there is a case where when an application wakes up in the background, data is replaced back into the memory in advance. Because such a scenario is not caused by user operation, invisible swap-in consumption can be generated, and the benefits brought by memory interaction are reduced.
In order to solve the above technical problem, in the embodiments of the present application, the electronic device determines that the first application of the electronic device is in a user unaware state and/or an unused state. The electronic device prevents the first application from being awakened in a preset mode, wherein the preset mode comprises at least one of the following three modes: the first application is intercepted from receiving a first message, the first message including a specified broadcast. The designated registration information of the first application is processed, and the designated registration information includes alarm information or broadcast registration information. The electronic device or a second application is prevented from calling the first application, the second application is a calling party, and the first application is a called party. Therefore, the electronic equipment prevents the first application from being awakened in a preset mode, so that the first application is not frequently active in the background, the application is prevented from being abused and active in the background, the power consumption is ensured, and the hidden memory exchange quantity is also greatly reduced.
In other embodiments, the electronic device determines that the first application is in normal use when the first application switches to the foreground. The electronic device thaws the first application. The specific implementation manner of switching the first application to the foreground may include: in one mode, a first application is operated, for example, by clicking a control such as a drop-down box of the first application. In a second mode, the first application is operated on a component on the desktop, such as a click widget. And thirdly, other applications pull up the first application, and fourthly, clicking application icons of the desktop and the like.
Fig. 1 is a block diagram of the above-described electronic apparatus.
As shown in fig. 1, the device 100 may include a processor 110, an external memory interface 120, an internal memory 111, a universal serial bus (universal serial bus, USB) interface 130, a charge management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, keys 190, a motor 191, an indicator 192, a camera 193, a display 194, and a subscriber identity module (subscriber identification module, SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyro sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, and the like.
It should be understood that the illustrated structure of the embodiment of the present invention does not constitute a specific limitation on the apparatus 100. In other embodiments of the present application, the apparatus 100 may include more or less components than illustrated, or certain components may be combined, or certain components may be split, or different arrangements of components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
The processor 110 may include one or more processing units, such as: the processor 110 may include an application processor (application processor, AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), a controller, a video codec, a digital signal processor (digital signal processor, DSP), a baseband processor, and/or a neural network processor (neural-network processing unit, NPU), etc. Wherein the different processing units may be separate devices or may be integrated in one or more processors.
The controller can generate operation control signals according to the instruction operation codes and the time sequence signals to finish the control of instruction fetching and instruction execution.
A memory may also be provided in the processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may hold instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to reuse the instruction or data, it can be called directly from the memory. Repeated accesses are avoided and the latency of the processor 110 is reduced, thereby improving the efficiency of the system.
In some embodiments, the processor 110 may include one or more interfaces. The interfaces may include an integrated circuit (inter-integrated circuit, I2C) interface, an integrated circuit built-in audio (inter-integrated circuit sound, I2S) interface, a pulse code modulation (pulse code modulation, PCM) interface, a universal asynchronous receiver transmitter (universal asynchronous receiver/transmitter, UART) interface, a mobile industry processor interface (mobile industry processor interface, MIPI), a general-purpose input/output (GPIO) interface, a subscriber identity module (subscriber identity module, SIM) interface, and/or a universal serial bus (universal serial bus, USB) interface, among others.
It should be understood that the interfacing relationship between the modules illustrated in the embodiments of the present invention is only illustrative and not limiting on the structure of the apparatus 100. In other embodiments of the present application, the device 100 may also employ different interfacing manners in the above embodiments, or a combination of multiple interfacing manners.
The charge management module 140 is configured to receive a charge input from a charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charge management module 140 may receive a charging input of a wired charger through the USB interface 130. In some wireless charging embodiments, the charge management module 140 may receive wireless charging input through a wireless charging coil of the device 100. The charging management module 140 may also supply power to the electronic device through the power management module 141 while charging the battery 142.
The power management module 141 is used for connecting the battery 142, and the charge management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and/or the charge management module 140, and provides power to the processor 110, the internal memory 111, the display 194, the camera 193, the wireless communication module 160, and the like. The power management module 141 may also be configured to monitor battery capacity, battery cycle number, battery health (leakage, impedance) and other parameters. In other embodiments, the power management module 141 may also be provided in the processor 110. In other embodiments, the power management module 141 and the charge management module 140 may be disposed in the same device.
The wireless communication functions of the device 100 may be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, a modem processor, a baseband processor, and the like.
The antennas 1 and 2 are used for transmitting and receiving electromagnetic wave signals. Each antenna in device 100 may be used to cover a single or multiple communication bands. Different antennas may also be multiplexed to improve the utilization of the antennas. For example: the antenna 1 may be multiplexed into a diversity antenna of a wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
The mobile communication module 150 may provide a solution for wireless communication, including 2G/3G/4G/5G, as applied to the device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (low noise amplifier, LNA), etc. The mobile communication module 150 may receive electromagnetic waves from the antenna 1, perform processes such as filtering, amplifying, and the like on the received electromagnetic waves, and transmit the processed electromagnetic waves to the modem processor for demodulation. The mobile communication module 150 can amplify the signal modulated by the modem processor, and convert the signal into electromagnetic waves through the antenna 1 to radiate. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be disposed in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be provided in the same device as at least some of the modules of the processor 110.
The modem processor may include a modulator and a demodulator. The modulator is used for modulating the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used for demodulating the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low frequency baseband signal to the baseband processor for processing. The low frequency baseband signal is processed by the baseband processor and then transferred to the application processor. The application processor outputs sound signals through an audio device (not limited to the speaker 170A, the receiver 170B, etc.), or displays images or video through the display screen 194. In some embodiments, the modem processor may be a stand-alone device. In other embodiments, the modem processor may be provided in the same device as the mobile communication module 150 or other functional module, independent of the processor 110.
The wireless communication module 160 may provide solutions for wireless communication including wireless local area network (wireless local area networks, WLAN) (e.g., wireless fidelity (wireless fidelity, wi-Fi) network), bluetooth (BT), global navigation satellite system (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), near field wireless communication technology (near field communication, NFC), infrared technology (IR), etc., as applied to the device 100. The wireless communication module 160 may be one or more devices that integrate at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates the electromagnetic wave signals, filters the electromagnetic wave signals, and transmits the processed signals to the processor 110. The wireless communication module 160 may also receive a signal to be transmitted from the processor 110, frequency modulate it, amplify it, and convert it to electromagnetic waves for radiation via the antenna 2.
In some embodiments, antenna 1 and mobile communication module 150 of device 100 are coupled, and antenna 2 and wireless communication module 160 are coupled, such that device 100 may communicate with a network and other devices via wireless communication techniques. The wireless communication techniques may include the Global System for Mobile communications (global system for mobile communications, GSM), general packet radio service (general packet radio service, GPRS), code division multiple access (code division multiple access, CDMA), wideband code division multiple access (wideband code division multiple access, WCDMA), time division code division multiple access (time-division code division multiple access, TD-SCDMA), long term evolution (long term evolution, LTE), BT, GNSS, WLAN, NFC, FM, and/or IR techniques, among others. The GNSS may include a global satellite positioning system (global positioning system, GPS), a global navigation satellite system (global navigation satellite system, GLONASS), a beidou satellite navigation system (beidou navigation satellite system, BDS), a quasi zenith satellite system (quasi-zenith satellite system, QZSS) and/or a satellite based augmentation system (satellite based augmentation systems, SBAS).
The device 100 implements display functionality via a GPU, a display screen 194, and an application processor, etc. The GPU is a microprocessor for image processing, and is connected to the display 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
The display screen 194 is used to display images, videos, and the like. The display 194 includes a display panel. The display panel may employ a liquid crystal display (liquid crystal display, LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED) or an active-matrix organic light-emitting diode (matrix organic light emitting diode), a flexible light-emitting diode (flex), a mini, a Micro led, a Micro-OLED, a quantum dot light-emitting diode (quantum dot light emitting diodes, QLED), or the like. In some embodiments, the device 100 may include 1 or N display screens 194, N being a positive integer greater than 1.
The device 100 may implement shooting functions through an ISP, a camera 193, a video codec, a GPU, a display screen 194, an application processor, and the like.
The ISP is used to process data fed back by the camera 193. For example, when photographing, the shutter is opened, light is transmitted to the camera photosensitive element through the lens, the optical signal is converted into an electric signal, and the camera photosensitive element transmits the electric signal to the ISP for processing and is converted into an image visible to naked eyes. ISP can also optimize the noise, brightness and skin color of the image. The ISP can also optimize parameters such as exposure, color temperature and the like of a shooting scene. In some embodiments, the ISP may be provided in the camera 193.
The camera 193 is used to capture still images or video. The object generates an optical image through the lens and projects the optical image onto the photosensitive element. The photosensitive element may be a charge coupled device (charge coupled device, CCD) or a Complementary Metal Oxide Semiconductor (CMOS) phototransistor. The photosensitive element converts the optical signal into an electrical signal, which is then transferred to the ISP to be converted into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV, or the like format. In some embodiments, device 100 may include 1 or N cameras 193, N being a positive integer greater than 1.
The digital signal processor is used for processing digital signals, and can process other digital signals besides digital image signals. For example, when the device 100 is selecting a frequency bin, the digital signal processor is used to fourier transform the frequency bin energy, or the like.
Video codecs are used to compress or decompress digital video. The device 100 may support one or more video codecs. In this way, the device 100 may play or record video in a variety of encoding formats, such as: dynamic picture experts group (moving picture experts group, MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
The NPU is a neural-network (NN) computing processor, and can rapidly process input information by referencing a biological neural network structure, for example, referencing a transmission mode between human brain neurons, and can also continuously perform self-learning. Intelligent awareness of the device 100, etc. applications may be implemented by the NPU, for example: image recognition, face recognition, speech recognition, text understanding, etc.
The external memory interface 120 may be used to connect an external memory card, such as a Micro SD card, to enable the memory capabilities of the expansion device 100. The external memory card communicates with the processor 110 through an external memory interface 120 to implement data storage functions. For example, files such as music, video, etc. are stored in an external memory card.
The internal memory 111 may be used to store computer executable program code comprising instructions. The internal memory 111 may include a stored program area and a stored data area. The storage program area may store an application program (such as a sound playing function, an image playing function, etc.) required for at least one function of the operating system, etc. The storage data area may store data created during use of the device 100 (e.g., audio data, phonebook, etc.), and so on. In addition, the internal memory 111 may include a high-speed random access memory, and may further include a nonvolatile memory such as at least one magnetic disk storage device, a flash memory device, a universal flash memory (universal flash storage, UFS), and the like. The processor 110 performs various functional applications of the device 100 and data processing by executing instructions stored in the internal memory 111 and/or instructions stored in a memory provided in the processor.
The device 100 may implement audio functions through an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, an application processor, and the like. Such as music playing, recording, etc.
The audio module 170 is used to convert digital audio information into an analog audio signal output and also to convert an analog audio input into a digital audio signal. The audio module 170 may also be used to encode and decode audio signals. In some embodiments, the audio module 170 may be disposed in the processor 110, or a portion of the functional modules of the audio module 170 may be disposed in the processor 110.
The speaker 170A, also referred to as a "horn," is used to convert audio electrical signals into sound signals. The device 100 may listen to music, or to hands-free conversations, through the speaker 170A.
A receiver 170B, also referred to as a "earpiece", is used to convert the audio electrical signal into a sound signal. When device 100 is answering a telephone call or voice message, voice may be received by placing receiver 170B in close proximity to the human ear.
The earphone interface 170D is used to connect a wired earphone. The headset interface 170D may be a USB interface 130 or a 3.5mm open mobile electronic device platform (open mobile terminal platform, OMTP) standard interface, a american cellular telecommunications industry association (cellular telecommunications industry association of the USA, CTIA) standard interface.
The pressure sensor 180A is used to sense a pressure signal, and may convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A may be disposed on the display screen 194. The pressure sensor 180A is of various types, such as a resistive pressure sensor, an inductive pressure sensor, a capacitive pressure sensor, and the like. The capacitive pressure sensor may be a capacitive pressure sensor comprising at least two parallel plates with conductive material. The capacitance between the electrodes changes when a force is applied to the pressure sensor 180A. The apparatus 100 determines the strength of the pressure from the change in capacitance. When a touch operation is applied to the display screen 194, the apparatus 100 detects the intensity of the touch operation according to the pressure sensor 180A. The device 100 may also calculate the location of the touch based on the detection signal of the pressure sensor 180A. In some embodiments, touch operations that act on the same touch location, but at different touch operation strengths, may correspond to different operation instructions. For example: and executing an instruction for checking the short message when the touch operation with the touch operation intensity smaller than the first pressure threshold acts on the short message application icon. And executing an instruction for newly creating the short message when the touch operation with the touch operation intensity being greater than or equal to the first pressure threshold acts on the short message application icon.
The gyro sensor 180B may be used to determine a motion gesture of the device 100. In some embodiments, the angular velocity of device 100 about three axes (i.e., x, y, and z axes) may be determined by gyro sensor 180B. The gyro sensor 180B may be used for photographing anti-shake. Illustratively, when the shutter is pressed, the gyro sensor 180B detects the angle of the shake of the apparatus 100, calculates the distance to be compensated for by the lens module according to the angle, and allows the lens to counteract the shake of the apparatus 100 by the reverse motion, thereby realizing anti-shake. The gyro sensor 180B may also be used for navigating, somatosensory game scenes.
The air pressure sensor 180C is used to measure air pressure. In some embodiments, the device 100 calculates altitude from barometric pressure values measured by the barometric pressure sensor 180C, aiding in positioning and navigation.
The magnetic sensor 180D includes a hall sensor. The device 100 may detect the opening and closing of the flip holster using the magnetic sensor 180D. In some embodiments, when the device 100 is a flip-top machine, the device 100 may detect the opening and closing of the flip-top according to the magnetic sensor 180D. And then according to the detected opening and closing state of the leather sheath or the opening and closing state of the flip, the characteristics of automatic unlocking of the flip and the like are set.
The acceleration sensor 180E may detect the magnitude of acceleration of the device 100 in various directions (typically three axes). The magnitude and direction of gravity can be detected when the device 100 is stationary. The electronic equipment gesture recognition method can also be used for recognizing the gesture of the electronic equipment, and is applied to horizontal and vertical screen switching, pedometers and other applications.
A distance sensor 180F for measuring a distance. The device 100 may measure distance by infrared or laser. In some embodiments, the device 100 may range using the distance sensor 180F to achieve quick focus.
The proximity light sensor 180G may include, for example, a Light Emitting Diode (LED) and a light detector, such as a photodiode. The light emitting diode may be an infrared light emitting diode. The device 100 emits infrared light outwards through the light emitting diode. The device 100 uses a photodiode to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it may be determined that there is an object in the vicinity of the device 100. When insufficient reflected light is detected, the device 100 may determine that there is no object in the vicinity of the device 100. The device 100 can use the proximity light sensor 180G to detect that the user holds the device 100 in close proximity to the ear for power saving purposes by automatically extinguishing the screen. The proximity light sensor 180G may also be used in holster mode, pocket mode to automatically unlock and lock the screen.
The ambient light sensor 180L is used to sense ambient light level. The device 100 may adaptively adjust the brightness of the display 194 based on the perceived ambient light level. The ambient light sensor 180L may also be used to automatically adjust white balance when taking a photograph. Ambient light sensor 180L may also cooperate with proximity light sensor 180G to detect whether device 100 is in a pocket to prevent false touches.
The fingerprint sensor 180H is used to collect a fingerprint. The device 100 may utilize the collected fingerprint characteristics to unlock the fingerprint, access the application lock, take a photograph of the fingerprint, answer an incoming call, etc.
The temperature sensor 180J is for detecting temperature. In some embodiments, the device 100 performs a temperature processing strategy using the temperature detected by the temperature sensor 180J. For example, when the temperature reported by temperature sensor 180J exceeds a threshold, device 100 performs a reduction in the performance of a processor located in the vicinity of temperature sensor 180J in order to reduce power consumption to implement thermal protection. In other embodiments, when the temperature is below another threshold, the device 100 heats the battery 142 to avoid low temperatures causing the device 100 to shut down abnormally. In other embodiments, when the temperature is below a further threshold, the device 100 performs boosting of the output voltage of the battery 142 to avoid abnormal shutdown caused by low temperatures.
The touch sensor 180K, also referred to as a "touch device". The touch sensor 180K may be disposed on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, which is also called a "touch screen". The touch sensor 180K is for detecting a touch operation acting thereon or thereabout. The touch sensor may communicate the detected touch operation to the application processor to determine the touch event type. Visual output related to touch operations may be provided through the display 194. In other embodiments, the touch sensor 180K may also be disposed on the surface of the device 100 at a different location than the display 194.
The bone conduction sensor 180M may acquire a vibration signal. In some embodiments, bone conduction sensor 180M may acquire a vibration signal of a human vocal tract vibrating bone pieces. The bone conduction sensor 180M may also contact the pulse of the human body to receive the blood pressure pulsation signal. In some embodiments, bone conduction sensor 180M may also be provided in a headset, in combination with an osteoinductive headset. The audio module 170 may analyze the voice signal based on the vibration signal of the sound portion vibration bone block obtained by the bone conduction sensor 180M, so as to implement a voice function. The application processor may analyze the heart rate information based on the blood pressure beat signal acquired by the bone conduction sensor 180M, so as to implement a heart rate detection function.
The keys 190 include a power-on key, a volume key, etc. The keys 190 may be mechanical keys. Or may be a touch key. The device 100 may receive key inputs, generating key signal inputs related to user settings and function control of the device 100.
The motor 191 may generate a vibration cue. The motor 191 may be used for incoming call vibration alerting as well as for touch vibration feedback. For example, touch operations acting on different applications (e.g., photographing, audio playing, etc.) may correspond to different vibration feedback effects. The motor 191 may also correspond to different vibration feedback effects by touching different areas of the display screen 194. Different application scenarios (such as time reminding, receiving information, alarm clock, game, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect may also support customization.
The indicator 192 may be an indicator light, may be used to indicate a state of charge, a change in charge, a message indicating a missed call, a notification, etc.
Of course, the device 100 may also include other functional units, which are not limited in this embodiment.
It should be noted that the device 100 may be a desktop computer, a portable computer, a network server, a mobile phone, a tablet computer, a wireless terminal, an embedded device, a chip system, or a device having a similar structure in fig. 1. Furthermore, the constituent structure shown in fig. 1 does not constitute a limitation of the communication apparatus, and the communication apparatus may include more or less components than those shown in fig. 1, or may combine some components, or may be arranged in different components, in addition to those shown in fig. 1.
In the embodiment of the application, the chip system may be formed by a chip, and may also include a chip and other discrete devices.
Fig. 2A is a software structural block diagram of the electronic device 100 according to the embodiment of the present invention.
The electronic equipment in the embodiment of the application adopts an Android system, and the layered architecture divides the software into a plurality of layers, and each layer has clear roles and division. The layers communicate with each other through a software interface. In some embodiments, the Android system is divided into four layers, from top to bottom, an application layer, an application framework layer, an Zhuoyun row (Android run) and system libraries, and a kernel layer, respectively.
The application layer may include a series of application packages.
As shown in fig. 2A, the application package may include applications for cameras, gallery, calendar, talk, map, navigation, WLAN, bluetooth, music, video, short message, etc.
The application framework layer provides an application programming interface (application programming interface, API) and programming framework for application programs of the application layer. The application framework layer includes a number of predefined functions.
As shown in FIG. 2A, the application framework layer may include a window manager, a content provider, a view system, a telephony manager, a resource manager, a notification manager, and the like.
The window manager is used for managing window programs. The window manager can acquire the size of the display screen, judge whether a status bar exists, lock the screen, intercept the screen and the like.
The content provider is used to store and retrieve data and make such data accessible to applications. The data may include video, images, audio, calls made and received, browsing history and bookmarks, phonebooks, etc.
The view system includes visual controls, such as controls to display text, controls to display pictures, and the like. The view system may be used to build applications. The display interface may be composed of one or more views. For example, a display interface including a text message notification icon may include a view displaying text and a view displaying a picture.
The telephony manager is used to provide the communication functions of the electronic device 100. Such as the management of call status (including on, hung-up, etc.).
The resource manager provides various resources for the application program, such as localization strings, icons, pictures, layout files, video files, and the like.
The notification manager allows the application to display notification information in a status bar, can be used to communicate notification type messages, can automatically disappear after a short dwell, and does not require user interaction. Such as notification manager is used to inform that the download is complete, message alerts, etc. The notification manager may also be a notification in the form of a chart or scroll bar text that appears on the system top status bar, such as a notification of a background running application, or a notification that appears on the screen in the form of a dialog window. For example, a text message is prompted in a status bar, a prompt tone is emitted, the electronic device vibrates, and an indicator light blinks, etc.
Android run time includes a core library and virtual machines. Android run time is responsible for scheduling and management of the Android system.
The core library consists of two parts: one part is a function which needs to be called by java language, and the other part is a core library of android.
The application layer and the application framework layer run in a virtual machine. The virtual machine executes java files of the application program layer and the application program framework layer as binary files. The virtual machine is used for executing the functions of object life cycle management, stack management, thread management, security and exception management, garbage collection and the like.
The system library may include a plurality of functional modules. For example: surface manager (surface manager), media Libraries (Media Libraries), three-dimensional graphics processing Libraries (e.g., openGL ES), 2D graphics engines (e.g., SGL), etc.
The surface manager is used to manage the display subsystem and provides a fusion of 2D and 3D layers for multiple applications.
Media libraries support a variety of commonly used audio, video format playback and recording, still image files, and the like. The media library may support a variety of audio and video encoding formats, such as MPEG4, h.264, MP3, AAC, AMR, JPG, PNG, etc.
The three-dimensional graphic processing library is used for realizing three-dimensional graphic drawing, image rendering, synthesis, layer processing and the like.
The 2D graphics engine is a drawing engine for 2D drawing.
The kernel layer is a layer between hardware and software. The kernel layer at least comprises a binder driver, a display driver, a camera driver, an audio driver and a sensor driver.
The following describes in detail with respect to a software architecture in connection with the scenarios of broadcast messages, alarm messages, and binder messages:
in some embodiments, as shown in fig. 2B, a software architecture diagram of an Android system, as shown in fig. 2B, four layers of the Android system may be respectively: an application layer, a Framework layer, a native layer, and a Kernel layer.
The application layer may include a first application and a second application. The first application and the second application may be running in the foreground or in the background. The first application is in a background running state, namely the first application is a background application, and the first application is in a user unaware state and/or an unused state.
The Framework layer may include a deep freezing processing module, a freezing and thawing mechanism triggering module, and a preloaded application management module. The deep freezing processing module is used for executing the operation of freezing the first application when the first application is in background operation. In a specific implementation, the operation of freezing the first application may include broadcast reception optimization cleaning, alarm delay function, binder driven message cleaning filtering, interception filtering for non-blocking, non-user normal use, non-voluntary expansion messages, and the like, memory swap out function, and the like. The freezing and thawing mechanism triggering module instructs the deep freezing processing module to thaw the first application after receiving the freezing and thawing trigger.
Illustratively, the first application and the second application invoke each other through a binder. The method comprises the following steps:
the binder is a framework of inter-process communication (inter-process communication, IPC) provided by the Android system, and is used for sending messages among multiple processes, synchronizing and sharing memory. That is, the Binder adopts a mechanism of CS service, and a process for providing a service becomes a Server process and a process for accessing a service becomes a Client process. The same Server process can run multiple components, called Service components, simultaneously to provide services to the Client process; at the same time, a Client process can also request services from multiple Service components at the same time, and each request corresponds to one Cilent component. Communication between the Server process and the Client process is performed by means of a Binder driver running in the kernel control, which exposes a device file/dev/Binder to the user control, so that the application process can indirectly establish a communication channel through it. The Service component registers itself to a ServiceManager at startup so that the Client component finds it through the ServiceManager, which can be said to be a context manager.
As shown in fig. 2B, among the four layers of the Android system, the Framework layer is mainly an Android. The native layer is mainly libBinder. Communication at the kernel layer is performed through ioctl, and client opens an ioctl, and enters a polling queue, blocking until time expires or there is a message. The application layer, i.e. the Java layer, calls the MediaPlayer cpp in the native layer to use the MediaPlayer, but instead of directly going to cross the JNI, mediaPlayer returns via the Binder by communicating with the MediaPlayer device.
The application layer and the system service layer in the Android are not in the same process. Different applications in Android belong to different processes. Thus, there are the following advantages: each process operates independently, so that the isolation of the application layer to the system service layer can be ensured; if one process crashes, other processes cannot crash; if a process does not need to be removable from the memory, the corresponding memory is reclaimed.
Further, the actions, terms, etc. referred to between the embodiments of the present application are not limited to each other. In the embodiment of the present application, the name of the message or the name of the parameter in the message, etc. interacted between the devices are only an example, and other names may also be adopted in the specific implementation, and are not limited.
Fig. 3 is a flow chart of an application program freezing method according to an embodiment of the present application; fig. 4 is a flowchart of an application program freezing method according to an embodiment of the present application. As shown in fig. 3 and 4, the application freezing method may include the following schemes:
s101, the electronic device determines that a first application of the electronic device is in a user unaware state and/or an unused state.
S102, the electronic equipment prevents the first application from being awakened in a preset mode.
The preset mode may include at least one of the following three modes:
in one approach, a first message is intercepted from a first application, the first message including a specified broadcast.
In a second mode, the specified registration information of the first application is processed, and the specified registration information includes alarm information or broadcast registration information.
In a third mode, the electronic device or the second application is prevented from calling the first application, the second application is a calling party, and the first application is a called party.
Therefore, the first application is not frequently active in the background, and the invisible memory exchange amount can be greatly reduced while the power consumption is ensured.
The application program freezing method is described in detail below for different scenes:
Scene one, the broadcast scene.
The broadcasting of applicable scenes may include: 1) Message communication between components between different applications; 2) Applications communicate with the android system under certain conditions, such as system power-on, network changes, etc.
Broadcasting in an android system can use the following two modes:
mode 1, observer mode.
Observer mode may refer to an observer who needs to directly subscribe to a target event, and after the target issues an event of a content change, the observer directly receives the event and responds. For example, taking the example that the watcher is a broadcast recipient, i.e., a first application, the first application subscribes to a target event (e.g., a news push event). When the news message is updated, the first application may directly receive the updated news message and display it.
Mode 2, publish-subscribe mode.
The publishing and subscribing mode can refer to that a subscriber needs to subscribe to an event from an activity management service (activity manager service, AMS) of the Android system, namely a message center, so that the direct generation of a dependency relationship between the publisher and the subscriber can be avoided. For example, taking the example that the subscriber is a broadcast receiver, i.e. the first application, the first application subscribes to events (e.g. news push events) in the message center of the Android system. The publisher (i.e., the broadcast sender) may send a broadcast to the message center via a binder mechanism. The message center searches the first application and the message circulation queue corresponding to the first application according to the subscription information. The message center distributes the broadcast to a message circulation queue of the first application. The first application takes the broadcast through message loop execution.
In order to prevent the background application from being frequently called up and awakened, the existing scheme simply processes a certain type of broadcast in a cache manner, but under the condition that broadcast receivers in the electronic device are enough, the memory of the related system process is gradually expanded, so that the memory space of the system is insufficient, and the possibility that the background application is awakened still exists.
In order to solve the above technical problem, in the embodiment of the present application, the electronic device determines that the first application is in a user unaware state and/or an unused state. The electronic device prevents the first application from waking up by intercepting the first application from receiving the first message. Wherein the first message includes a designation. Therefore, the first application can not be frequently active in the background due to receiving the appointed broadcast, and the invisible memory exchange quantity can be greatly reduced while the power consumption is ensured.
The following describes the application program freezing method provided in the embodiment of the present application in detail:
first, a usage observer pattern is broadcasted in the android system.
Referring to fig. 5, a flowchart of an application program freezing method according to an embodiment of the present application is shown. As shown in fig. 5, the method includes:
S301, the electronic device determines that a first application of the electronic device is in a user-imperceptible state and/or an unused state.
The first application may refer to a system application of the electronic device, and may also refer to a three-party application installed on the electronic device. The embodiment of the application is not particularly limited, and is specifically set according to actual requirements.
Wherein the first application is in a user imperceptible state can be understood as a state in which the first application is in a state that is not perceived by the user in a sense. For example, the user may not see a window of the first application, may not hear sound played by the first application, and so on.
The first application being in the user unused state may be understood as that the user is not using the first application, for example, the user is not starting the first application, the user is not browsing the first application, the user is not operating the first application, etc. Wherein the user not operating the first application may include the user not operating a component of the first application, the user not operating a control on an interface of the first application, and so on.
The method comprises the following steps: when the first application satisfies the first condition, the electronic device determines that the first application is in a user-imperceptible state and/or an unused state. Wherein the first condition may include: the application is running in the background at the current time, the application is not used for a preset period of time, the application does not occupy channel resources, the application is in a state invisible to the user, the application does not use a global positioning system (global positioning system, GPS), the application is not downloading data, and so on. Of course, embodiments of the present application are not limited to the above list.
S302, the electronic equipment receives a first notification for distributing a specified broadcast.
Among them, the designated broadcast may be understood as a broadcast message capable of designating a receiving side. For example, a broadcast message sent to a first application is specified, a broadcast message sent to a second application is specified, and so on.
The Broadcast types may include normal Broadcast (normal Broadcast), system Broadcast (System Broadcast), ordered Broadcast (Ordered Broadcast), local Broadcast (Local Broadcast). Among them, the general broadcasting is used for general call sendBroadcast (Intent) (inter, string) method transmission. The system broadcasts are automatically sent when various events occur. Ordered broadcasts are used to invoke sendOrderidedstadcast (Intent) method transmissions. The local broadcast is used to call the localbroadcastmanager.
S303, the electronic equipment determines to distribute the appointed broadcast to the first application according to the first notification and the prestored broadcast registration information.
This step is understood to mean that the electronic device may determine that the specified broadcast is distributed to the first application based on the pre-selected stored broadcast registration information and the received first notification.
It should be noted that an application installed on an electronic device may register a broadcast receiver (broadcast receiver) with an activity management service (activity manager service, AMS) through a binder mechanism. Wherein the activity management service may also be referred to as a message center. The message center is an extremely important component in the android system of the electronic device. After registration is completed, broadcast registration information of the application is stored in the electronic device in advance.
Among other things, broadcast service (broadcast receiver) registration types may include static registration and dynamic registration. The static registration and dynamic registration are profiled separately as follows:
1. static registration
Static registration is registration in an android management. When an application is first started, the system or automation instantiates MyBroadcastReceiver and registers into the system.
Illustratively, the static registration program code may be:
the MyBroadcastReceiver registered by the static method is registered in the system by the system or the automatic instantiation MyBroadcastReceiver when the app is started for the first time.
2. Dynamic registration
Dynamic registration is the invocation of context. Registerreceiver (),
illustratively, the dynamic registration program code may be:
and the broadcast receiver of different registration modes calls back the specific type of context in onreceipt (content):
static registration (global+local): the context in callback onreceivability (content) refers specifically to receivability_switchtrictcedcontext.
Global dynamic registration: context in callback onreceipt (content) refers specifically to Activity Context;
the LocalBroadcastManager dynamically registers, and context in callback onReceive (context) refers specifically to Application Context.
And S304, when the appointed broadcast is distributed, the electronic equipment intercepts the appointed broadcast and distributes the appointed broadcast to the first application.
It is understood that the electronic device does not distribute the specified broadcast to the first application.
The specific implementation manner of the electronic device to intercept the broadcast may be: the electronic device deletes the broadcast message, clears the broadcast message, or blocks the broadcast message. Of course, the specific implementation of the electronic device to intercept the broadcast message may also be other manners, and embodiments of the present application are not specifically limited.
Second, a publish-subscribe mode is broadcasted in the android system.
Referring to fig. 5, a flowchart of an application program freezing method according to an embodiment of the present application is shown. As shown in fig. 5, the method includes:
s301, the electronic device determines that a first application of the electronic device is in a user-imperceptible state and/or an unused state.
The specific explanation and implementation manner of this step are detailed in the above description, and are not repeated here.
S302, the electronic equipment receives a first notification for distributing a specified broadcast.
The specific explanation and implementation manner of this step are detailed in the above description, and are not repeated here.
S305, the electronic equipment stores the broadcast registration information of the first application in an invalid list according to the first notification and the prestored broadcast registration information.
As described above, the electronic device stores the registration information of each application in advance, which is not described herein.
Where an invalid list may be understood as a blacklist. That is, the registration information of the first application is placed on the blacklist, so that the first application is in a "dead-of-the-false" state. By "dying of fraud" state is meant that the first application cannot receive any broadcast information sent by the broadcast service.
In another particular implementation, the electronic device may determine a plurality of applications on the electronic device that are in a user-imperceptible state and/or an unused state, the plurality of applications including a first application. The electronic device stores registration information of the plurality of applications in an invalid list. Therefore, when the electronic equipment receives the notification for distributing the appointed broadcast, the electronic equipment cannot call the plurality of applications to broadcast and distribute, namely the plurality of applications cannot be frequently active due to broadcast messages, so that the power consumption is ensured, and meanwhile, the exchange amount of the invisible memory can be greatly reduced.
S306, the electronic device does not distribute the specified broadcast to the first application.
The electronic device does not find the application corresponding to the broadcast message, and the electronic device deletes, cleans, blocks or returns the broadcast message to the broadcast message sender.
Scene two, the alarm mechanism triggers the scene.
Alarm is a class provided by an android system for accomplishing Alarm clock type timing tasks, the system manages all Alarm through AlarmManager, and Alarm supports disposable timing tasks and cyclic timing tasks.
That is, an application on the electronic device may register alarm through an AlarmManager-like interface provided by the Android system. After an application registers alarm, the system service may invoke the alarmnager's interface to trigger the alarm function. The system service wakes up the application periodically according to alarm.
Among the interfaces provided in AlarmManager, the interfaces that are more commonly used are set (), setreporting (), and cancel ().
Illustratively, taking interface set () as an example, an alarm mechanism trigger flow is described as follows:
1. call set () of AlarmManager.
2. Calling set () of alarmanageervice, setrising () can receive four parameters type, triggerAtTime, interval, operation in the process of calling set () of alarmanageervice. Wherein Type represents the Type of alarm. The Android system provides four types of alarm, respectively:
elappsed_read_wake indicates that the device can wake up while asleep, with the time taken being relative time, starting from the start of the system.
Elappsed_read indicates that the device cannot wake up while asleep, the time taken being relative, and the timer being started after system start-up.
Rtc_wake indicates that the device can wake up while sleeping, and the time taken is absolute time, UTC time.
RTCE, which indicates that a device cannot be awakened while dormant, takes an absolute time, i.e., UTC time.
In addition, type= overridenAlarmType (type), which means that mainly for the case of setting an alarm of rtc_wake or elapped_read_wake type, since an alarm of_wake type can wake up a device while it is dormant, it is impossible for all programs to set such an alarm, except that owner is a system user (user whose user is in the range of 100000-19999) and a program specified in the etc/alarm_alloy.xml list can set an alarm of_wake type, and if the type of the other program is an_wake type, it is forced to be converted into a corresponding non-wake type here. An object of the alarm class is then generated, which is deleted and then added if the alarm operation is already in the operation queue of the corresponding type.
3. Call setLocked (alarm) where mDescriptor is set to open/dev/alarm descriptor, implement alarm function with alarm device if it exists, and message alarm handler class to do a trigger action if it does not exist.
4. The function of setting one alarm is implemented with/dev/alarm.
5. The use/dev/alarm triggers an alarm function that initiates an alarmmanthead when constructed. There is a while loop in this alarmtread to perform the action waitForAlarm.
When alarm expires, alarmthred waitForAlarm returns a value. Then by executing triggeralarmsLocked, the alarm list of several types of alarm clocks is added to triggerList, and then the alarm list is used to send a message.
The above description is the trigger flow of the alarm mechanism. In order to prevent background application from being frequently called up and awakened, the existing scheme is to uniformly process and trigger the alarm existing in the system according to the type and the trigger time, and the uniform processing mode reduces the frequency of the alarm awakening system. However, there may still be situations where the background application is awakened.
In order to solve the above technical problem, in the embodiments of the present application, the electronic device determines that the first application of the electronic device is in a user unaware state and/or an unused state. The electronic device processes the alarm information of the first application to prevent the first application from waking up. In this way, the first application may not wake up by alarm in the background.
The following describes the application program freezing method provided in the embodiment of the present application in detail:
first kind:
referring to fig. 6, a flowchart of an application program freezing method according to an embodiment of the present application is shown. As shown in fig. 6, the method includes:
s601, the electronic device determines that a first application of the electronic device is in a user-imperceptible state and/or an unused state.
The specific explanation and implementation manner of this step are detailed in the above description of S301, and are not repeated here.
S602, the electronic equipment carries out infinite delay processing on the alarm of the first application.
In one particular implementation, the electronic device invokes setLocked (alarm), wherein mDescriptor is set as the descriptor of open/dev/alarm. The electronic device uses/dev/alarm implementation to set an alarm function and wakes up the first application periodically according to alarm.
Second kind:
referring to fig. 6, a flowchart of an application program freezing method according to an embodiment of the present application is shown. As shown in fig. 6, the method includes:
s601, the electronic device determines that a first application of the electronic device is in a user-imperceptible state and/or an unused state.
The specific explanation and implementation manner of this step are detailed in the above description of S301, and are not repeated here.
S603, the electronic equipment stores the alarm information of the first application in an invalid list according to the prestored registration information.
In a specific implementation, when the electronic device determines that the first application of the electronic device is in a user-imperceptible state and/or an unused state, the waitForAlarm of AlarmThread returns a value, and then by executing triggeralarmsfacked, alarm meeting the above-mentioned requirement application in several types of alarm clock lists is added to the deferred list.
Scene three, binder triggers the scene.
As shown in fig. 2C, for example, a client requests a service, such as an Activity request Activity ManagerService service, because the Activity manager is of the Android system frame work layer, it is not the same process as the Activity in the application. The actiglymanager is in fact a Binder that obtains actiglymanager service services to control Activity.
clients and services need to interface directly with the binder driver, but in practice clients and services do not want to know the binder-related protocol, so further clients further handle interactions with the binder by adding proxy and services by adding stub. That is, in Android, rather than going directly to the binder, the client interacts directly with the Manager, and the Manager interacts with the manger proxy, that is, the client interacts through the manger proxy to the binder. At the same time, the service does not interact directly with the binder, but through stub.
There is also a contextManager between the services and the binder, that is, the serviceManager, and each service is registered in the serviceManager first, and after registration is completed, the services are managed uniformly by the serviceManager.
The service acquisition process comprises the following steps:
the first step: the client requests a service, say, call the context.getSystemService () method in activity, at which point the serviceManager will use getService (name) and then call the getService (name) method in the serviceManagerNative class in the active layer.
And a second step of: the serviceManagerNative sends an SVG_MGR_GET_SERVICE instruction through the Binder, and then calls do_find_service () method through svcmgr_handler () to find the relevant SERVICE in svc_list.
And a third step of: after finding the corresponding service, the service is transmitted to serviceManagernative through the Binder, then transmitted to serviceManager, and finally the client can use.
It should be noted that: services are actually stored in svclist, which is a linked list, so the service invoked by the client must first be registered in svclist.
Registration service procedure:
the first step: service calls addService (name) methods in the serviceManagerNative class by calling the addService method in the serviceManager.
And a second step of: serviceManagerNative sends an SVG_MGR_ADD_SERVICE instruction through a Binder, and then calls do_add_service () method through svcmgr_handler () to ADD corresponding SERVICE to svc_list.
It should be noted that: all services need to be registered in svc_list before being called by clients. The svc_list holds these services in the form of linkedlist.
In order to prevent the background application from being frequently called up and awakened, the existing scheme is to intercept the binder message without thinking, which may cause the related application to be in an abnormal state, and cause the system application to restart the related application. Alternatively, a certain amount of asynchronous binder messages are buffered, and persistent buffering applications gradually deplete the buffer space of the binder. If the application is not allowed to process all the time, the application binder fails because the system memory is occupied.
In order to solve the above technical problem, in the embodiment of the present application, the first application is a called party, and the second application is a calling party. The electronic device determines that a first application of the electronic device is in a user-imperceptible state and/or an unused state. The electronic device prevents the first application from waking up by preventing the second application from invoking the first application. In this way, the first application may be made less frequently active in the background.
The following describes the application program freezing method provided in the embodiment of the present application in detail:
first kind:
referring to fig. 7, a flowchart of an application program freezing method according to an embodiment of the present application is shown. As shown in fig. 7, the method includes:
s701, the electronic device determines that a first application of the electronic device is in a user-imperceptible state and/or an unused state.
The specific explanation and implementation manner of this step are detailed in the above description of S301, and are not repeated here.
S702, in the process that the second application calls the first application through the binder, the electronic device transmits death information of the first application to the second application.
The first application is a called party, the second application is a calling party, and the second application is not a foreground application or a system application.
Wherein the death information of the first application may refer to information for characterizing that the first application is in an unresponsive state.
After the electronic device transmits the death information of the first application to the second application through the binder, the second application receives the death information of the first application, the second application considers that the first application is not started or does not exist, and the second application does not return information to the first application through the binder. Thus, the second application does not invoke the first application.
In some embodiments, the death information may include an error code generated in the invocation of the failure information or the process interrupt. Of course, the death information in the embodiment of the present application is not limited to the above list.
Second kind:
referring to fig. 7, a flowchart of an application program freezing method according to an embodiment of the present application is shown. As shown in fig. 7, the method includes:
s701, the electronic device determines that a first application of the electronic device is in a user-imperceptible state and/or an unused state.
The specific explanation and implementation manner of this step are detailed in the above description of S301, and are not repeated here.
S703, when the system of the electronic equipment calls the first application, the electronic equipment prevents the system of the electronic equipment from restarting and overtime processing on the first application.
Specifically, the electronic device may prevent the first application from restarting and performing timeout processing through the binder driver.
Illustratively, a process of the first application, prior to using the Binder for inter-process communication, first invokes the function open to retrieve a file descriptor from which to interact with the Binder driver. The binder_open function in the drive is called when open is used. The binder_open function creates and initializes a binder_proc structure proc for the current process, then returns a file descriptor to the process, then executes mmap or ioctl functions through the file descriptor to interact with the driver, drives private_data through the descriptor to acquire the corresponding binder_proc structure of the process, and saves the binder_proc structure in a global hash list, and the member variable proc_node is exactly one node in the hash list. After the process opens the device file/dev/Binder, it must also call mmap to map it into the process's address space, in effect requesting the Binder driver to allocate a block of kernel buffer for it to be available for inter-process transfer of data. The embodiment of the application can request that the Binder driver does not allocate a kernel buffer area for the first application, so that data cannot be transmitted between the system application and the process of the first application. Or, the embodiment of the application can empty a large amount of messages of the first application in the kernel punching area, so that data cannot be transmitted between the system application and the process of the first application, and the first application cannot be awakened.
In practical application, the application on the electronic equipment is tested by adopting the mode, and the game application of the preloaded list is tested, so that the number of times of unfreezing used by a non-user is changed from original 1.4/h to 0.1/h. Table 1 shows test results obtained by testing an application process using the method provided in the present application. As shown in table 1:
TABLE 1
Therefore, the mechanism is used for increasing relevant active regulation strategies and replacing part of power consumption detection and killing, so that the short-term and long-term keep-alive capacities of the application can be improved.
The embodiments of the present application may be arbitrarily combined to achieve different technical effects.
In some embodiments, the application program freezing method provided in the embodiments of the present application further includes: when the electronic device determines that the first application of the electronic device is in the user perceived state and/or the use state, the electronic device wakes up the first application. That is, the electronic device wakes up the first application while the first application is in the user-aware state and/or the use state.
When the first application is switched to the foreground, the electronic device determines that the first application of the electronic device is in a normal use state. The electronic device thaws the first application. The specific implementation manner of switching the first application to the foreground may include: in one mode, a first application is operated, for example, by clicking a control such as a drop-down box of the first application. In a second mode, the first application is operated on a component on the desktop, such as a click widget. And thirdly, other applications pull up the first application, and fourthly, clicking application icons of the desktop and the like.
It will be appreciated that in order to achieve the above-described functionality, the electronic device comprises corresponding hardware and/or software modules that perform the respective functionality. The steps of an algorithm for each example described in connection with the embodiments disclosed herein may be embodied in hardware or a combination of hardware and computer software. Whether a function is implemented as hardware or computer software driven hardware depends upon the particular application and design constraints imposed on the solution. Those skilled in the art may implement the described functionality using different approaches for each particular application in conjunction with the embodiments, but such implementation is not to be considered as outside the scope of this application.
The present embodiment may divide the functional modules of the electronic device according to the above method example, for example, each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module. The integrated modules described above may be implemented in hardware. It should be noted that, in this embodiment, the division of the modules is schematic, only one logic function is divided, and another division manner may be implemented in actual implementation.
It should be noted that, all relevant contents of each step related to the above method embodiment may be cited to the functional description of the corresponding functional module, which is not described herein.
Embodiments of the present application also provide a computer-readable storage medium having stored therein computer instructions which, when executed on an electronic device, cause the electronic device to perform the above-described related method steps to implement the method in the above-described embodiments.
Embodiments of the present application also provide a computer program product which, when run on a computer, causes the computer to perform the above-described related steps to implement the method performed by the electronic device in the above-described embodiments.
In addition, embodiments of the present application also provide an apparatus, which may be specifically a chip, a component, or a module, and may include a processor and a memory connected to each other; the memory is configured to store computer-executable instructions, and when the apparatus is running, the processor may execute the computer-executable instructions stored in the memory, so that the chip executes the method executed by the electronic device in the above method embodiments.
Embodiments of the present application also provide a chip system for application to an electronic device, the chip system including one or more interface circuits and one or more processors. The interface circuit and the processor are interconnected through a circuit; the interface circuit is for receiving signals from the memory of the electronic device and transmitting signals to the processor, the signals including computer instructions stored in the memory. The computer instructions, when executed by the processor, cause the electronic device to perform the application freezing method provided by the method embodiments described above.
The computer storage medium, the computer program product, or the chip provided in this embodiment are used to execute the corresponding methods provided above, so that the beneficial effects thereof can be referred to as beneficial effects in the corresponding methods provided above, and will not be described herein.
It will be appreciated by those skilled in the art that, for convenience and brevity of description, only the above-described division of the functional modules is illustrated, and in practical application, the above-described functional allocation may be performed by different functional modules according to needs, i.e. the internal structure of the apparatus is divided into different functional modules to perform all or part of the functions described above.
In the several embodiments provided in this application, it should be understood that the disclosed apparatus and method may be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the modules or units is merely a logical functional division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another apparatus, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and the parts displayed as units may be one physical unit or a plurality of physical units, may be located in one place, or may be distributed in a plurality of different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in each embodiment of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a readable storage medium. Based on such understanding, the technical solution of the embodiments of the present application may be essentially or a part contributing to the prior art or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium, including several instructions for causing a device (may be a single-chip microcomputer, a chip or the like) or a processor (processor) to perform all or part of the steps of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read Only Memory (ROM), a random access memory (random access memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The foregoing is merely specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily think about changes or substitutions within the technical scope of the present application, and the changes and substitutions are intended to be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
Claims (15)
1. An application program freezing method applied to an electronic device, comprising the following steps:
the electronic device determines that a first application of the electronic device is in a user unaware state and/or an unused state;
the electronic device prevents the first application from being awakened in a preset mode, wherein the preset mode comprises at least one of the following three modes:
intercepting that the first application receives a first message, wherein the first message comprises a designated broadcast;
processing appointed registration information of the first application, wherein the appointed registration information comprises alarm information or broadcast registration information;
and preventing the electronic equipment or a second application from calling the first application, wherein the second application is a calling party, and the first application is a called party.
2. The method of claim 1, wherein the electronic device prevents the first application from waking up by intercepting the first application from receiving a first message, comprising:
the electronic device receiving a first notification for distributing the specified broadcast;
the electronic equipment determines to distribute the appointed broadcast to the first application according to the first notice and prestored broadcast registration information;
and when the appointed broadcast is distributed, the electronic equipment intercepts the appointed broadcast from being distributed to the first application.
3. The method of claim 1, wherein the specified registration information comprises broadcast registration information, and wherein the electronic device processes the specified registration information of the first application to prevent the first application from waking up, comprising:
the electronic device receiving a first notification for distributing the specified broadcast;
and the electronic equipment stores the broadcast registration information of the first application in an invalid list according to the first notification and the pre-stored broadcast registration information so as to prevent the first application from being awakened.
4. The method of claim 1, wherein the specified registration information comprises alarm information, and wherein the electronic device processing the specified registration information of the first application to prevent the first application from waking up comprises:
The electronic equipment carries out infinite delay processing on the alarm information of the first application; or,
and the electronic equipment stores the alarm information of the first application in an invalid list according to the prestored registration information.
5. The method of claim 1, wherein the electronic device prevents the first application from waking up by preventing the second application from invoking the first application, comprising:
and in the process that the second application calls the first application through the binder, the electronic equipment transmits death information of the first application to the second application, the second application is not a foreground application or a system application, and the death information is information used for representing that the first application is in a non-response state.
6. The method of claim 5, wherein the death information comprises call failure information or an error code generated by a call application failure.
7. The method of claim 1, wherein the electronic device prevents the first application from waking up by preventing the electronic device from invoking the first application, comprising:
when the system of the electronic equipment calls the first application, the electronic equipment prevents the system of the electronic equipment from restarting and overtime processing on the first application.
8. The method of claim 1, wherein the electronic device determining that the first application is in a user-unaware state and/or an unused state comprises:
when the first application meets a first condition, the electronic device determines that the first application is in a user unaware state and/or an unused state.
9. The method of claim 8, wherein the first condition comprises one or more of: run in the background, not used for a period of time, not occupying channels, not visible to the user, not using GPS, not downloading data.
10. The method according to any one of claims 1-9, further comprising:
when the electronic device determines that a first application of the electronic device is in a user perceived state and/or a use state, the electronic device wakes up the first application.
11. An application freezing apparatus, characterized in that the apparatus performs an application freezing method according to any one of claims 1-10.
12. An electronic device, comprising: one or more processors; and a memory in which the code is stored; the code, when executed by the one or more processors, causes the electronic device to perform the method of any of claims 1-10.
13. A chip system for application to an electronic device, the chip system comprising one or more interface circuits and one or more processors; the interface circuit and the processor are interconnected through a circuit; the interface circuit is used for receiving signals from the memory of the electronic device and sending signals to the processor, wherein the signals comprise computer instructions stored in the memory; the method of any of claims 1-10 when executed by a processor.
14. A computer readable storage medium comprising computer instructions which, when run on an electronic device, cause the electronic device to perform the method of any of claims 1-10.
15. A computer program product, characterized in that the computer program product, when run on a computer, causes the computer to perform the method according to any of claims 1-10.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111602644.4A CN116339847A (en) | 2021-12-24 | 2021-12-24 | Application program freezing method and device and electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111602644.4A CN116339847A (en) | 2021-12-24 | 2021-12-24 | Application program freezing method and device and electronic equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116339847A true CN116339847A (en) | 2023-06-27 |
Family
ID=86875140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111602644.4A Pending CN116339847A (en) | 2021-12-24 | 2021-12-24 | Application program freezing method and device and electronic equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116339847A (en) |
-
2021
- 2021-12-24 CN CN202111602644.4A patent/CN116339847A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113329047B (en) | Distributed service scheduling method and related device | |
WO2021185141A1 (en) | Wi-fi aware link establishment method and system, electronic device, and storage medium | |
WO2021043046A1 (en) | Resource management and control method and device | |
CN113553130B (en) | Method for executing drawing operation by application and electronic equipment | |
WO2022127632A1 (en) | Resource management and control method, and device | |
EP4177746A1 (en) | Task processing method and related apparatus | |
CN116360725B (en) | Display interaction system, display method and device | |
WO2023005282A9 (en) | Message pushing method and apparatus | |
CN116361255A (en) | Data synchronization method, electronic device, and computer-readable storage medium | |
CN114157756A (en) | Task processing method and related electronic equipment | |
JP2022515446A (en) | Connection establishment method and terminal device | |
CN114500732B (en) | Interface display method, electronic equipment and storage medium | |
CN116795604B (en) | Processing method, device and equipment for application exception exit | |
CN117348894A (en) | Software upgrading method, terminal equipment and system | |
CN116339847A (en) | Application program freezing method and device and electronic equipment | |
WO2023142935A1 (en) | Application component management method and related device | |
CN116048544B (en) | Processing method of popup advertisement, electronic equipment and readable storage medium | |
WO2023160205A1 (en) | Method for controlling process, and electronic device and readable storage medium | |
WO2024012443A1 (en) | Method and system for controlling power consumption of device, and electronic device | |
CN114172860B (en) | Mail processing method and device | |
CN117440081A (en) | Message sharing method and related equipment | |
CN117056038A (en) | Process management method and device | |
CN117998004A (en) | Instance management method and device, electronic equipment and storage medium | |
CN116560769A (en) | Application component sharing method and related equipment | |
CN117785312A (en) | Audio playing method, electronic device and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |