CN112445606A - Memory recovery method and device - Google Patents

Memory recovery method and device Download PDF

Info

Publication number
CN112445606A
CN112445606A CN201910812574.1A CN201910812574A CN112445606A CN 112445606 A CN112445606 A CN 112445606A CN 201910812574 A CN201910812574 A CN 201910812574A CN 112445606 A CN112445606 A CN 112445606A
Authority
CN
China
Prior art keywords
memory
application
group
waterline
group information
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
Application number
CN201910812574.1A
Other languages
Chinese (zh)
Inventor
易见
李昌龙
李家欣
周未来
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910812574.1A priority Critical patent/CN112445606A/en
Priority to PCT/CN2020/110827 priority patent/WO2021036993A1/en
Publication of CN112445606A publication Critical patent/CN112445606A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources

Abstract

The application provides a memory recovery method and device. The method comprises the following steps: when monitoring that an application is started or switched to a foreground interface, acquiring a memory waterline of the application from a plurality of sets of prestored memory waterlines; and when judging that the memory recovery condition is met according to the memory waterline of the application and the system memory occupation information, determining the application of the memory to be recovered from the application currently running in the terminal equipment, and transmitting the memory waterline of the application into a kernel space for executing memory recovery by a kernel according to the memory waterline of the application. Therefore, the problems of excessive recovery and insufficient recovery of the memory can be avoided, and the keep-alive rate of the application is improved.

Description

Memory recovery method and device
Technical Field
The present application relates to the field of information technologies, and in particular, to a method and an apparatus for memory recovery.
Background
In recent years, mobile Applications (APPs) have increasingly demanded more memory and tend to increase year by year, and terminal devices have limited memory capacity and cannot accommodate a large amount of application resident memory. Therefore, when the memory is insufficient, the system will perform memory recovery.
In the prior art, a memory recovery strategy is mainly based on a memory waterline design, system memory occupation information is monitored through a kernel process, and when the monitored memory remaining space is lower than a low (low) water level in the memory waterline, a memory recovery mechanism is triggered, for example, a file page and an anonymous page of an APP with the lowest priority are recovered from a memory according to the priority, and are written back to a storage device or data compression is performed. However, existing memory reclamation strategies sometimes do not meet practical requirements.
Disclosure of Invention
The application provides a memory recovery method and device, which can improve the flexibility of memory recovery and avoid the problems of excessive memory recovery and insufficient memory recovery.
In a first aspect, the present application provides a memory recycling method, including:
when monitoring that an application is started or switched to a foreground interface, acquiring a memory waterline of the application from a plurality of sets of prestored memory waterlines;
and when judging that the memory recovery condition is met according to the memory waterline of the application and the system memory occupation information, determining the application of the memory to be recovered from the application currently running in the terminal equipment, and transmitting the memory waterline of the application into a kernel space for executing memory recovery by a kernel according to the memory waterline of the application.
According to the memory recovery method provided by the first aspect, when an application is monitored to be started or switched to a foreground interface, the memory waterline of the application is obtained from a plurality of sets of prestored memory waterlines, and when the memory waterline of the application and the system memory occupation information judge that a memory recovery condition is met, the application of the memory to be recovered is determined from the application currently running in the terminal equipment, and the memory waterline of the application is transmitted into the kernel space for the kernel to execute memory recovery according to the memory waterline of the application. Therefore, for applications with different memory requirements, memory recovery can be performed according to different memory waterlines, so that the problems of excessive memory recovery and insufficient memory recovery can be avoided, and the keep-alive rate of the applications can be improved.
In one possible design, the obtaining the memory pipeline of the application from a plurality of sets of pre-stored memory pipelines includes:
searching a target group to which the application belongs from first group information, wherein the first group information comprises a mapping relation between the application in the group and a memory waterline;
determining the memory waterline of the target group as the memory waterline of the application; alternatively, the first and second electrodes may be,
determining a target group to which the application belongs according to the memory requirement of the application and second group information, wherein the second group information comprises a mapping relation between a group memory requirement range and a memory waterline;
and determining the memory waterline of the target group as the memory waterline of the application.
In one possible design, the first group information and the second group information are pre-stored.
In one possible design, the determining a target group to which the application belongs according to the memory requirement of the application and the pre-stored second group information includes:
and if the memory requirement of the application is within the memory requirement range of a group, determining the group as the target group.
In one possible design, the method further includes:
obtaining historical use memory data of each application after running within a preset time, wherein the historical use memory data is a memory occupied by the application when the application is started, or the historical use memory data is the sum of the memory occupied by the application when the application is started and the memory occupied by the application within a preset time period;
respectively predicting the memory requirements of each application according to the historical memory data used by each application, wherein the memory requirements are required memories during starting; or the memory requirement is the sum of the memory required during starting and the memory increased in the expected use stage;
and acquiring the first group information or the second group information according to the predicted memory requirement of each application.
By the memory recovery method provided by the embodiment, the sum of the memory required by starting and the memory increased in the expected use stage is considered in memory recovery, so that the accuracy of memory recovery can be further improved.
In one possible design, the obtaining the first group information according to the predicted memory requirement of each application includes:
and determining a memory waterline corresponding to each application according to the predicted memory requirement of each application and the multiple sets of memory waterlines, wherein all the applications corresponding to one set of memory waterline are elements in one group, and each group comprises at least one application to obtain the first group information.
In a possible design, the obtaining the second group information according to the predicted memory requirement of each application includes:
and dividing all applications into groups according to the predicted memory requirements of the applications and the multiple sets of memory waterlines to obtain multiple groups, wherein one set of memory waterline corresponds to one group, and the applications in a memory requirement range belong to the same group to obtain the second group information.
In one possible design, the method further includes:
and updating the first group information according to the update of the application in the group indicated by the configuration file.
In one possible design, the passing an internal pipeline of the application into kernel space includes:
in a second aspect, the present application provides a memory recycling device, including:
the acquisition module is used for acquiring the memory waterline of the application from a plurality of sets of prestored memory waterlines when monitoring that the application is started or switched to a foreground interface;
and the processing module is used for determining the application of the memory to be recovered from the application currently running in the terminal equipment when judging that the memory recovery condition is met according to the memory waterline of the application and the system memory occupation information, transmitting the memory waterline of the application into a kernel space, and executing memory recovery by the kernel according to the memory waterline of the application.
In one possible design, the obtaining module is configured to:
searching a target group to which the application belongs from first group information, wherein the first group information comprises a mapping relation between the application in the group and a memory waterline;
determining the memory waterline of the target group as the memory waterline of the application; alternatively, the first and second electrodes may be,
determining a target group to which the application belongs according to the memory requirement of the application and second group information, wherein the second group information comprises a mapping relation between a group memory requirement range and a memory waterline;
and determining the memory waterline of the target group as the memory waterline of the application.
In one possible design, the first group information and the second group information are pre-stored.
In one possible design, the obtaining module is configured to:
and if the memory requirement of the application is within the memory requirement range of a group, determining the group as the target group.
In one possible design, the obtaining module is further configured to:
obtaining historical use memory data of each application after running within a preset time, wherein the historical use memory data is a memory occupied by the application when the application is started, or the historical use memory data is the sum of the memory occupied by the application when the application is started and the memory occupied by the application within a preset time period;
respectively predicting the memory requirements of each application according to the historical memory data used by each application, wherein the memory requirements are required memories during starting; or the memory requirement is the sum of the memory required during starting and the memory increased in the expected use stage;
and acquiring the first group information or the second group information according to the predicted memory requirement of each application.
In one possible design, the obtaining module is configured to:
and determining a memory waterline corresponding to each application according to the predicted memory requirement of each application and the multiple sets of memory waterlines, wherein all the applications corresponding to one set of memory waterline are elements in one group, and each group comprises at least one application to obtain the first group information.
In one possible design, the obtaining module is configured to:
and dividing all applications into groups according to the predicted memory requirements of the applications and the multiple sets of memory waterlines to obtain multiple groups, wherein one set of memory waterline corresponds to one group, and the applications in a memory requirement range belong to the same group to obtain the second group information.
In one possible design, the processing module is further to:
and updating the first group information according to the update of the application in the group indicated by the configuration file.
In one possible design, the processing module is to:
and transmitting the memory waterline of the application into a kernel space through a reserved function interface.
The beneficial effects of the memory recovery device provided in the second aspect and each possible design of the second aspect may refer to the beneficial effects brought by each possible implementation manner of the first aspect, and are not described herein again.
In a third aspect, the present application provides a terminal device, including: a memory and a processor;
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the first aspect and the memory reclamation method of any one of the possible designs of the first aspect by executing the executable instructions.
In a fourth aspect, the present application provides a readable storage medium, where an execution instruction is stored in the readable storage medium, and when at least one processor of the terminal device executes the execution instruction, the terminal device executes the memory recycling method in any one of the possible designs of the first aspect and the first aspect.
In a fifth aspect, the present application provides a program product comprising execution instructions stored in a readable storage medium. The at least one processor of the terminal device may read the executable instruction from the readable storage medium, and the at least one processor executes the executable instruction to enable the terminal device to implement the memory reclamation method in any one of the possible designs of the first aspect and the first aspect.
In a sixth aspect, the present application provides a chip, where the chip is connected to a memory, or a memory is integrated on the chip, and when a software program stored in the memory is executed, the method for recycling a memory in any one of the possible designs of the first aspect and the first aspect is implemented.
Drawings
Fig. 1 is a schematic diagram illustrating a memory recycling process according to the present application;
fig. 2 is a flowchart of an embodiment of a memory recovery method provided in the present application;
fig. 3 is a flowchart of an embodiment of a memory recovery method provided in the present application;
fig. 4 is a flowchart of an embodiment of a memory recovery method provided in the present application;
fig. 5 is a flowchart of an embodiment of a memory recovery method provided in the present application;
fig. 6 is a flowchart of an embodiment of a memory recovery method provided in the present application;
fig. 7 is a schematic structural diagram of an embodiment of a memory recovery apparatus provided in the present application;
fig. 8 is a schematic structural diagram of a terminal device provided in the present application.
Detailed Description
In this application, the terms "exemplary" or "such as" are used to indicate that any embodiment or aspect described as "exemplary" or "such as" in this application is not to be construed as preferred or advantageous over other embodiments or aspects. Rather, use of the word "exemplary" or "such as" is intended to present concepts related in a concrete fashion.
In the embodiments of the present application, the terms "first" and "second" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance. "at least one" means one or more, "a plurality" means two or more.
The memory recovery method can be used for memory recovery of the terminal device, wherein the terminal device of the embodiment of the application: which may be a wireless terminal or a wired terminal, which may be a device that provides voice and/or other traffic data connectivity to a user, a handheld device having wireless connection capability, or other processing device connected to a wireless modem. Wireless terminals, which may be mobile terminals such as mobile telephones (or "cellular" telephones) and computers with mobile terminals, such as portable, pocket, hand-held, computer-included, or vehicle-mounted mobile devices, may communicate with one or more core networks via a Radio Access Network (RAN). Examples of such devices include Personal Communication Service (PCS) phones, cordless phones, Session Initiation Protocol (SIP) phones, Wireless Local Loop (WLL) stations, and Personal Digital Assistants (PDAs). A wireless Terminal may also be referred to as a system, a Subscriber Unit (Subscriber Unit), a Subscriber Station (Subscriber Station), a Mobile Station (Mobile), a Remote Station (Remote Station), a Remote Terminal (Remote Terminal), an Access Terminal (Access Terminal), a User Terminal (User Terminal), a User Agent (User Agent), and a User Device or User Equipment (User Equipment), which are not limited herein.
In the related art, by setting a set of memory waterline, when the remaining memory space is monitored to be lower than the low water level in the memory waterline, memory recovery is triggered, but in the actual use process, some special applications, such as large-scale game applications, sometimes occur, and if memory recovery is performed according to the memory recovery strategy in the related art, the situation of insufficient memory recovery or excessive memory recovery occurs, and the actual requirements cannot be well met. In order to solve the problem, the present application provides a memory recovery method, and fig. 1 is a schematic diagram of a memory recovery process provided by the present application, as shown in fig. 1, when it is determined that a memory recovery condition is met by running a memory recovery policy in a user mode, a memory waterline corresponding to a currently started application or an application currently switched to a foreground interface is transferred into a kernel space, and the kernel executes memory recovery according to the memory waterline of the application. Specifically, when the user mode monitors that an application is started or switched to a foreground interface, a memory waterline of the application is obtained from a plurality of sets of prestored memory waterlines, when the memory waterline of the application and the system memory occupation information judge that a memory recovery condition is met, the application of a memory to be recovered is determined from the application currently running in the terminal equipment, the memory waterline of the application is transmitted into a kernel space, and the kernel executes memory recovery according to the memory waterline of the application. Therefore, aiming at the applications with different memory requirements, the memory can be recycled according to different memory waterlines, so that the problems of excessive recycling and insufficient recycling of the memory can be avoided. Further, since the memory demand of the APP tends to increase along with the use time, in the embodiment of the present application, in the memory recovery, the accuracy of the memory recovery can be further improved and the excessive recovery and insufficient recovery of the memory are avoided in consideration of the sum of the memory required by the APP memory during the startup and the memory increased in the expected use stage.
Fig. 2 is a flowchart of an embodiment of a memory recycling method provided in the present application, and as shown in fig. 2, the method of the present embodiment may include:
s101, when monitoring that the application is started or switched to a foreground interface, acquiring the memory waterline of the application from a plurality of sets of prestored memory waterlines.
Specifically, the running state of each application in the terminal device system can be monitored in real time in a user mode, and when the situation that the application is started or switched to a foreground interface is monitored, the memory waterline of the application is obtained from a plurality of sets of prestored memory waterlines, and different applications may have different corresponding memory waterlines due to different memory requirements. It should be noted that the memory water line in the embodiment of the present application is divided into three levels, i.e., High (High), Low (Low), and minimum (Min).
As a first implementable manner, obtaining the memory pipeline of the application from a plurality of sets of pre-stored memory pipelines may be:
and searching a target group to which the application belongs from first group information, wherein the first group information comprises a mapping relation between the application in the group and a memory waterline, and the memory waterline of the target group is determined as the memory waterline of the application.
Illustratively, the first group information is as shown in the following table one:
watch 1
Group identification In-group applications Memory waterline
1 APP1、APP2、APP3 Memory waterline one
2 APP4、APP5 Memory waterline two
3 APP6、APP7、APP8、APP9 Memory waterline three
…… …… ……
For example, the currently started application is APP1, the target group to which APP1 belongs is found from the first group information shown in table one to be group 1, and the memory pipeline one of group 1 is used as the memory pipeline of APP 1. The table one is only an example, and may not include a group identifier, and only the mapping relationship between the application and the memory pipeline in the group is included.
In a first practical manner, the first group information may be obtained offline, that is, stored in advance, or obtained online, and if the first group information is stored in advance, the first group information may be obtained in the following manner:
and acquiring first group information according to historical use memory data of each application, wherein the historical use memory data is a memory required by application starting, or the historical use memory data is the sum of the memory required by application starting and a memory required by a preset time period.
Specifically, when the memory data used historically is the memory required for starting the APP, the memory required for starting each application is counted, that is, the memory occupied when starting the APP may be the memory occupied when running each application on different terminal devices, the memory data occupied after running each application on different terminal devices is counted, and then the first group information is obtained according to all the memory data used historically.
When the historical memory data is the sum of the memory required by starting and the memory required by using the preset time period, the preset time period can be half a day, one day and one week, for example, because some APP memory requirements tend to show an increasing trend along with the use time, in the case of the honor of the royal, the anonymous page size can be obviously increased when playing every round, therefore, the APP memory requirements are considered to be the sum of the memory required by starting and the memory increased in the expected use stage in the memory recovery process, and the accuracy of the memory recovery can be further improved. Specifically, each application may be run on different terminal devices, a memory required for running each application on different terminal devices and a memory required for using a preset time period are counted, a sum of the memory required for running one application and the memory required for using the preset time period is used as historical memory data, historical memory data of each application is obtained, and then the first group information is obtained according to all the historical memory data.
As a practical way, the first group information may be acquired according to the following way:
s101a, respectively predicting the memory requirements of each application according to the historical memory data used by each application, wherein the memory requirements are memories required during starting; alternatively, the memory requirement is the sum of the memory required at startup and the expected usage phase growth memory.
If the historical memory data is the memory required for starting, the predicted memory requirement of each application is the memory required for starting correspondingly. If the historical memory usage data is the sum of the memory required during startup and the memory required during the preset time period, the predicted memory requirement of each application is the sum of the memory required during startup and the memory expected to be used in the increased stage.
S101b, determining a memory waterline corresponding to each application according to the predicted memory requirement of each application and multiple sets of memory waterlines, wherein all applications corresponding to one set of memory waterline are elements in one group, and each group comprises at least one application, and the mapping relation between the applications in the group and the memory waterlines is obtained, namely the first group information.
For example, when all applications are divided into groups according to multiple sets of memory pipelines, for example, applications with memory requirements within a range may be divided into one group, for example, applications with memory requirements of 0MB to 50MB may be divided into one group, applications with memory requirements of 50MB to 100MB may be divided into one group, applications with memory requirements of 1GB to 2GB may be divided into one group, and so on.
Optionally, after the group division is completed, a group identifier may be set for each group, and a mapping relationship between the group identifier, the application in the group, and the internal memory waterline is obtained, that is, the first group information.
After the obtained first group information is stored, further, the first group information may be updated according to the group identifier indicated by the configuration file and the intra-group application or the update of the intra-group application. That is, the applications in the group may be changed, for example, after a certain application version is upgraded, the memory requirement changes, and the corresponding group also changes, and at this time, the applications in the group need to be updated.
As a second implementable manner, obtaining the memory pipeline of the application from a plurality of sets of pre-stored memory pipelines may be:
and determining a target group to which the application belongs according to the memory requirement of the application and pre-stored second group information, wherein the second group information comprises a mapping relation between a group memory requirement range and a memory waterline, and the memory waterline of the target group is determined as the memory waterline of the application.
The determining the target group to which the application belongs according to the memory requirement of the application and the pre-stored second group information may specifically be: if the memory requirement of the application is within the memory requirement range of a group, the group is determined as a target group.
Optionally, the second group information may further include a group identifier, and for example, the second group information is shown in the following table two:
watch two
Group identification Range of memory requirements Memory waterline
1 0MB~100MB Memory waterline one
2 100MB~200MB Memory waterline two
3 1GB~1.5GB Memory waterline three
…… …… ……
For example, if the currently started application is APP3, if the memory requirement of APP3 is 150MB, and 150MB is within the memory requirement range 100MB to 200MB of group 2, group 2 is determined as the target group, and the memory pipeline two of group 2 is used as the memory pipeline of APP 1.
In a second implementable manner, the second group information may be obtained offline, that is, stored in advance, or obtained online, and if the second group information is stored in advance, the second group information may be obtained in the following manner: in a second practical manner, the method may further include:
and acquiring second group information according to the historical use memory data of each application, wherein the historical use memory data is a memory required by starting, or the historical use memory data is the sum of the memory required by starting and a memory required by using a preset time period.
Specifically, when the memory data used historically is the memory required for starting the APP, the memory required for starting each application is counted, that is, the memory occupied when starting the APP may be the memory occupied when running each application on different terminal devices, the memory data occupied after running each application on different terminal devices is counted, and then the second group information is obtained according to all the memory data used historically.
When the historical memory data is the sum of the memory required by starting and the memory required by using the preset time period, the preset time period can be half a day, one day and one week, for example, because some APP memory requirements tend to show an increasing trend along with the use time, in the case of the honor of the royal, the anonymous page size can be obviously increased when playing every round, therefore, the APP memory requirements are considered to be the sum of the memory required by starting and the memory increased in the expected use stage in the memory recovery process, and the accuracy of the memory recovery can be further improved. Specifically, each application may be run on different terminal devices, a memory required for running each application on different terminal devices and a memory required for using a preset time period are counted, the sum of the memory required for running one application and the memory required for using the preset time period is used as historical memory data, historical memory data of each application is obtained, and then the second group information is obtained according to all the historical memory data.
As a practical way, the second group information may be acquired according to the following way:
s101 a', respectively predicting the memory requirements of each application according to the historical memory data used by each application, wherein the memory requirements are memories required during starting; alternatively, the memory requirement is the sum of the memory required at startup and the expected usage phase growth memory.
If the historical memory data is the memory required for starting, the predicted memory requirement of each application is the memory required for starting correspondingly. If the historical memory usage data is the sum of the memory required during startup and the memory required during the preset time period, the predicted memory requirement of each application is the sum of the memory required during startup and the memory expected to be used in the increased stage.
S101 b' groups all applications according to the predicted memory requirements of each application and multiple sets of memory waterlines to obtain multiple groups, one set of memory waterline corresponds to one group, the applications in a memory requirement range belong to the same group, and the mapping relation between the memory requirement range and the memory waterlines is obtained, namely, the second group information groups all applications according to the predicted memory requirements of each application to obtain multiple groups, and the applications in a memory requirement range belong to the same group.
For example, when all applications are divided into groups according to multiple sets of memory pipelines, the applications with memory requirements within a range may be divided into one group, for example, the applications with memory requirements of 0MB to 50MB may be divided into one group, the applications with memory requirements of 50MB to 100MB may be divided into one group, the applications with memory requirements of 1GB to 2GB may be divided into one group, and the like, and the memory requirement range corresponding to each group may be obtained, for example, the memory ranges corresponding to three groups are 0MB to 50MB, 50MB to 100MB, and 1GB to 2GB, respectively.
Specifically, after the group division is completed, a memory requirement range corresponding to each group can be obtained, a set of memory waterline and a group identifier are respectively set for each group, and a mapping relationship among the group identifier, the memory requirement range and the memory waterline is obtained, which is the second group information.
In the first implementable manner and the second implementable manner, if the first group information is acquired online, before S101, the method of this embodiment may further include:
s103, obtaining historical use memory data of each application after running in preset time.
The historical memory usage data is the memory occupied by the application when the application is started, or the historical memory usage data is the sum of the memory occupied by the application when the application is started and the memory occupied by the application within a preset time period.
Specifically, after the user takes the terminal device, each application on the terminal device is operated, the system acquires the historical use memory data of each application after operation, and the preset time can be set according to the user.
S104, respectively predicting the memory requirement of each application according to the historical memory data used by each application, wherein the memory requirement is a memory required during starting; alternatively, the memory requirement is the sum of the memory required at startup and the expected usage phase growth memory.
Specifically, when the memory requirement is predicted, the memory requirement may be predicted according to a preset rule, for example, an average value or a maximum value of the used memory after each application operation is taken.
And S105, acquiring the first group information or the second group information according to the predicted memory requirement of each application.
Specifically, the obtaining of the first group information according to the predicted memory requirement of each application may be:
and determining a memory waterline corresponding to each application according to the predicted memory requirements of each application and a plurality of sets of memory waterlines, wherein all applications corresponding to one set of memory waterline are elements in one group, and one group comprises at least one application to obtain first group information.
After the obtained first group information is stored, further, the first group information may be updated according to the group identifier indicated by the configuration file and the intra-group application or the update of the intra-group application. That is, the applications in the group may be changed, for example, after a certain application version is upgraded, the memory requirement changes, and the corresponding group also changes, and at this time, the applications in the group need to be updated.
Obtaining the second group information according to the predicted memory requirement of each application may be:
and dividing all applications into groups according to the predicted memory requirements of each application and a plurality of sets of memory waterlines to obtain a plurality of groups, wherein one set of memory waterline corresponds to one group, and the applications in a memory requirement range belong to the same group to obtain second group information.
When the first group information or the second group information is acquired in the online acquisition mode, the mapping relation between the application in the group and the memory waterline is acquired and updated according to the use habit of the user, so that the accuracy is higher.
S102, when judging that the memory recovery condition is met according to the memory waterline of the application and the system memory occupation information, determining the application of the memory to be recovered from the application currently running in the terminal equipment, and transmitting the memory waterline of the application into a kernel space for executing memory recovery according to the memory waterline of the application by a kernel.
Specifically, for example, if the system memory remaining space is lower than the low water level in the memory pipeline of the target group, it is determined that the memory reclamation condition is satisfied.
After the memory recovery condition is determined to be met, determining an application of a memory to be recovered from applications currently running in the terminal device, for example, determining an application of a memory to be recovered from applications currently running according to a priority order of applications of a memory to be recovered that is stored in advance, or according to other existing manners, which is not limited in this embodiment of the present application. After determining the application of the memory to be recycled, performing system call, which may be to transmit the memory waterline of the application into the kernel space through a reserved function interface, determine the condition of recycling termination by the kernel according to the memory waterline of the application, and execute memory recycling.
In the memory recovery method provided in this embodiment, when it is monitored that an application is started or switched to a foreground interface, a memory waterline of the application is obtained from a plurality of sets of prestored memory waterlines, and when it is determined that a memory recovery condition is met according to the memory waterline of the application and system memory occupation information, an application of a memory to be recovered is determined from an application currently running in a terminal device, and the memory waterline of the application is transmitted to a kernel space for a kernel to perform memory recovery according to the memory waterline of the application. Therefore, for applications with different memory requirements, memory recovery can be performed according to different memory waterlines, so that the problems of excessive memory recovery and insufficient memory recovery can be avoided, and the keep-alive rate of the applications can be improved.
The following describes the technical solution of the embodiment of the method shown in fig. 2 in detail by using three specific embodiments.
Fig. 3 is a flowchart of an embodiment of a memory recycling method provided in the present application, and as shown in fig. 3, the method of the present embodiment may include:
s201, when monitoring that the application is started or switched to a foreground interface, searching a target group to which the application belongs from pre-stored first group information, wherein the first group information comprises a group identifier, mapping relations between the application in the group and a memory waterline, and determining the memory waterline of the target group as the memory waterline of the application.
For example, the currently started application is APP4, the target group to which APP4 belongs is found from the first group information shown in table one to be group 2, and the memory pipeline two of group 2 is used as the memory pipeline of APP 2.
Specifically, the first group information may be obtained according to the processes of S101a to S101b in the embodiment shown in fig. 2, and the first group information is stored, and the detailed processes may refer to the detailed descriptions of S101a to S101b in the embodiment shown in fig. 2, which are not described herein again.
After the obtained first group information is stored, further, the first group information may be updated subsequently according to the group identifier indicated by the configuration file and the update of the application in the group. That is, the applications within the group may vary.
S202, judging whether a memory recovery condition is met or not according to the memory waterline of the application and the system memory occupation information, if so, executing S203, and if not, returning to execute S201.
S203, determining an application of the memory to be recycled from the currently running application of the terminal equipment, and transmitting the memory waterline of the application into a kernel space through a reserved function interface for the kernel to execute memory recycling according to the memory waterline of the application.
Fig. 4 is a flowchart of an embodiment of a memory recycling method provided in the present application, and as shown in fig. 4, the method of the present embodiment may include:
s301, when monitoring that an application is started or switched to a foreground interface, determining a target group to which the application belongs according to the memory requirement of the application and pre-stored second group information, wherein the second group information comprises a group identifier, a memory requirement range and a mapping relation of a memory waterline, and determining the memory waterline of the target group as the memory waterline of the application.
The determining the target group to which the application belongs according to the memory requirement of the application and the pre-stored second group information may specifically be: if the memory requirement of the application is within the memory requirement range of a group, the group is determined as a target group.
For example, as shown in table two, the currently started application is APP6, if the memory requirement of APP6 is 1.2GB, and 1.2GB is within the memory requirement range 1 GB-1.5 GB of group 3, group 3 is determined as the target group, and the memory pipeline three of group 3 is taken as the memory pipeline of APP 6.
Specifically, the second group information may be obtained according to the processes of S101a 'to S101 b' in the embodiment shown in fig. 2, and the second group information is stored, and the detailed processes may refer to the detailed descriptions of S101a 'to S101 b' in the embodiment shown in fig. 2, which are not described herein again.
S302, judging whether a memory recovery condition is met or not according to the memory waterline of the application and the system memory occupation information, if so, executing S303, and if not, returning to execute S301.
And S303, determining an application of the memory to be recycled from the currently running application of the terminal equipment, and transmitting the memory waterline of the application into a kernel space through a reserved function interface for the kernel to execute memory recycling according to the memory waterline of the application.
Fig. 5 is a flowchart of an embodiment of a memory recycling method provided in the present application, and a difference from fig. 3 and fig. 4 is that in the embodiment, first group information is obtained online, and as shown in fig. 5, the method of the present embodiment may include:
s401, historical use memory data of each application after running in preset time are obtained.
The historical memory usage data is the memory occupied by the application when the application is started, or the historical memory usage data is the sum of the memory occupied by the application when the application is started and the memory occupied by the application within a preset time period.
Specifically, after the user takes the terminal device, each application on the terminal device is operated, the system acquires the historical use memory data of each application after operation, and the preset time can be set according to the user.
S402, respectively predicting the memory requirement of each application according to the historical memory data used by each application.
The memory requirement is a memory required during starting; alternatively, the memory requirement is the sum of the memory required at startup and the expected usage phase growth memory.
Specifically, when the memory requirement is predicted, the memory requirement may be predicted according to a preset rule, for example, an average value or a maximum value of the used memory after each application operation is taken.
S403, acquiring first group information according to the predicted memory requirements of the applications, wherein the first group information comprises a group identifier, and mapping relations between the applications in the group and a memory waterline.
Specifically, the obtaining of the first group information according to the predicted memory requirement of each application specifically includes:
and determining a memory waterline corresponding to each application according to the predicted memory requirements of each application and a plurality of sets of memory waterlines, wherein all applications corresponding to one set of memory waterline are elements in one group, and one group comprises at least one application to obtain first group information.
After the obtained first group information is stored, further, the first group information may be updated according to the group identifier indicated by the configuration file and the intra-group application or the update of the intra-group application. That is, the applications in the group may be changed, for example, after a certain application version is upgraded, the memory requirement changes, and the corresponding group also changes, and at this time, the applications in the group need to be updated.
S404, when the situation that the application is started or switched to the foreground interface is monitored, a target group to which the application belongs is searched from the first group information, and the internal memory waterline of the target group is determined as the internal memory waterline of the application.
S405, judging whether a memory recovery condition is met or not according to the memory waterline of the application and the system memory occupation information, if so, executing S403, and if not, returning to execute S404.
S406, determining an application of the memory to be recycled from the currently running application of the terminal device, and transmitting the memory waterline of the application into a kernel space through a reserved function interface, so that the kernel executes memory recycling according to the memory waterline of the application.
Fig. 6 is a flowchart of an embodiment of a memory recycling method provided in the present application, and a difference from fig. 3 and fig. 4 is that in the present embodiment, the second group information is obtained online, and as shown in fig. 6, the method of the present embodiment may include:
s501, historical use memory data of each application after running in preset time are obtained.
The historical memory usage data is the memory occupied by the application when the application is started, or the historical memory usage data is the sum of the memory occupied by the application when the application is started and the memory occupied by the application within a preset time period.
Specifically, after the user takes the terminal device, each application on the terminal device is operated, the system acquires the historical use memory data of each application after operation, and the preset time can be set according to the user.
And S502, respectively predicting the memory requirement of each application according to the historical memory data used by each application.
The memory requirement is a memory required during starting; alternatively, the memory requirement is the sum of the memory required at startup and the expected usage phase growth memory.
Specifically, when the memory requirement is predicted, the memory requirement may be predicted according to a preset rule, for example, an average value or a maximum value of the used memory after each application operation is taken.
S503, obtaining second group information according to the predicted memory requirements of each application, wherein the second group information comprises a group identifier, a memory requirement range and a mapping relation of a memory waterline.
Specifically, the obtaining of the second group information according to the predicted memory requirement of each application specifically includes:
and dividing all applications into groups according to the predicted memory requirements of each application and a plurality of sets of memory waterlines to obtain a plurality of groups, wherein one set of memory waterline corresponds to one group, and the applications in a memory requirement range belong to the same group to obtain second group information.
S504, when monitoring that the application is started or switched to the foreground interface, determining a target group to which the application belongs according to the memory requirement of the application and the second group information, and determining a memory waterline of the target group as the memory waterline of the application.
And S505, judging whether the memory recovery condition is met or not according to the memory waterline of the application and the system memory occupation information, if so, executing S503, and if not, returning to execute S504.
S506, determining an application of the memory to be recycled from the application currently running in the terminal equipment, and transmitting the memory waterline of the application into a kernel space through a reserved function interface for the kernel to execute memory recycling according to the memory waterline of the application.
Fig. 7 is a schematic structural diagram of an embodiment of a memory recovery device provided in the present application, and as shown in fig. 7, the device of the present embodiment may include: the system comprises an acquisition module 11 and a processing module 12, wherein the acquisition module 11 is used for monitoring that when an application is started or switched to a foreground interface, acquiring a memory waterline of the application from a plurality of sets of prestored memory waterlines;
the processing module 12 is configured to determine an application of a memory to be recovered from an application currently running in the terminal device when it is determined that a memory recovery condition is met according to the memory waterline of the application and the system memory occupation information, and transmit the memory waterline of the application to a kernel space, where the kernel executes memory recovery according to the memory waterline of the application.
Further, the obtaining module 11 is configured to:
searching a target group to which the application belongs from first group information, wherein the first group information comprises a mapping relation between the application in the group and a memory waterline;
determining the memory waterline of the target group as the memory waterline of the application; alternatively, the first and second electrodes may be,
determining a target group to which the application belongs according to the memory requirement of the application and second group information, wherein the second group information comprises a mapping relation between a group memory requirement range and a memory waterline;
and determining the memory waterline of the target group as the memory waterline of the application.
Optionally, the first group information and the second group information are pre-stored.
Further, the obtaining module 11 is configured to:
and if the memory requirement of the application is within the memory requirement range of a group, determining the group as the target group.
Further, the obtaining module 11 is further configured to:
obtaining historical use memory data of each application after running within a preset time, wherein the historical use memory data is a memory occupied by the application when the application is started, or the historical use memory data is the sum of the memory occupied by the application when the application is started and the memory occupied by the application within a preset time period;
respectively predicting the memory requirements of each application according to the historical memory data used by each application, wherein the memory requirements are required memories during starting; or the memory requirement is the sum of the memory required during starting and the memory increased in the expected use stage;
and acquiring the first group information or the second group information according to the predicted memory requirement of each application.
Further, the obtaining module 11 is configured to:
and determining a memory waterline corresponding to each application according to the predicted memory requirement of each application and the multiple sets of memory waterlines, wherein all the applications corresponding to one set of memory waterline are elements in one group, and each group comprises at least one application to obtain the first group information.
Further, the obtaining module 11 is configured to:
and dividing all applications into groups according to the predicted memory requirements of the applications and the multiple sets of memory waterlines to obtain multiple groups, wherein one set of memory waterline corresponds to one group, and the applications in a memory requirement range belong to the same group to obtain the second group information.
Further, the processing module 12 is further configured to:
and updating the first group information according to the update of the application in the group indicated by the configuration file.
Further, the processing module 12 is configured to:
and transmitting the memory waterline of the application into a kernel space through a reserved function interface.
The apparatus of this embodiment may be used to implement the technical solution of the method embodiment shown in fig. 2, and the implementation principle thereof is similar, which is not described herein again.
The memory recovery device may be divided into functional modules according to the above method, for example, each functional module may be divided according to each function, or two or more functions may be integrated into one processing module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode. It should be noted that the division of the modules in the embodiments of the present application is schematic, and is only one division of logic functions, and there may be another division manner in actual implementation.
Fig. 8 is a schematic structural diagram of a terminal device provided in the present application, where the terminal device 200 includes:
a memory 201 and a processor 202;
a memory 201 for storing a computer program;
the processor 202 is configured to execute the computer program stored in the memory to implement the memory reclamation method in the foregoing embodiments. Reference may be made in particular to the description relating to the method embodiments described above.
Alternatively, the memory 201 may be separate or integrated with the processor 202.
When the memory 201 is a device separate from the processor 202, the terminal apparatus 200 may further include:
a bus 203 for connecting the memory 201 and the processor 202.
Optionally, this embodiment further includes: a communication interface 204, the communication interface 204 being connectable to the processor 202 via the bus 203. The processor 202 may control the communication interface 203 to implement the above-described receiving and transmitting functions of the terminal device 200.
The terminal device may be configured to perform each step and/or flow corresponding to the terminal device in the foregoing method embodiments.
The application also provides a readable storage medium, where an execution instruction is stored in the readable storage medium, and when at least one processor of the terminal device executes the execution instruction, the terminal device executes the memory recovery method in the foregoing method embodiment.
The present application also provides a program product comprising execution instructions stored in a readable storage medium. The at least one processor of the terminal device may read the execution instruction from the readable storage medium, and the execution of the execution instruction by the at least one processor causes the terminal device to implement the memory reclamation method in the foregoing method embodiment.
The application also provides a chip, wherein the chip is connected with the memory, or the memory is integrated on the chip, and when a software program stored in the memory is executed, the memory recovery method in the embodiment of the method is realized.
Those of ordinary skill in the art will understand that: in the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.

Claims (20)

1. A memory reclamation method, comprising:
when monitoring that an application is started or switched to a foreground interface, acquiring a memory waterline of the application from a plurality of sets of prestored memory waterlines;
and when judging that the memory recovery condition is met according to the memory waterline of the application and the system memory occupation information, determining the application of the memory to be recovered from the application currently running in the terminal equipment, and transmitting the memory waterline of the application into a kernel space for executing memory recovery by a kernel according to the memory waterline of the application.
2. The method of claim 1, wherein obtaining the memory pipeline of the application from a plurality of sets of pre-stored memory pipelines comprises:
searching a target group to which the application belongs from first group information, wherein the first group information comprises a mapping relation between the application in the group and a memory waterline;
determining the memory waterline of the target group as the memory waterline of the application; alternatively, the first and second electrodes may be,
determining a target group to which the application belongs according to the memory requirement of the application and second group information, wherein the second group information comprises a mapping relation between a group memory requirement range and a memory waterline;
and determining the memory waterline of the target group as the memory waterline of the application.
3. The method of claim 2, wherein the first group information and the second group information are pre-stored.
4. The method according to claim 2, wherein the determining the target group to which the application belongs according to the memory requirement of the application and the pre-stored second group information comprises:
and if the memory requirement of the application is within the memory requirement range of a group, determining the group as the target group.
5. The method of claim 2, further comprising:
obtaining historical use memory data of each application after running within a preset time, wherein the historical use memory data is a memory occupied by the application when the application is started, or the historical use memory data is the sum of the memory occupied by the application when the application is started and the memory occupied by the application within a preset time period;
respectively predicting the memory requirements of each application according to the historical memory data used by each application, wherein the memory requirements are required memories during starting; or the memory requirement is the sum of the memory required during starting and the memory increased in the expected use stage;
and acquiring the first group information or the second group information according to the predicted memory requirement of each application.
6. The method of claim 5, wherein said obtaining the first group information according to the predicted memory requirement of each application comprises:
and determining a memory waterline corresponding to each application according to the predicted memory requirement of each application and the multiple sets of memory waterlines, wherein all the applications corresponding to one set of memory waterline are elements in one group, and each group comprises at least one application to obtain the first group information.
7. The method of claim 5, wherein the obtaining the second group information according to the predicted memory requirement of each application comprises:
and dividing all applications into groups according to the predicted memory requirements of the applications and the multiple sets of memory waterlines to obtain multiple groups, wherein one set of memory waterline corresponds to one group, and the applications in a memory requirement range belong to the same group to obtain the second group information.
8. The method of claim 2, further comprising:
and updating the first group information according to the update of the application in the group indicated by the configuration file.
9. The method of claim 1, wherein transferring the internal pipeline of the application into kernel space comprises:
and transmitting the memory waterline of the application into a kernel space through a reserved function interface.
10. A memory recycling device, comprising:
the acquisition module is used for acquiring the memory waterline of the application from a plurality of sets of prestored memory waterlines when monitoring that the application is started or switched to a foreground interface;
and the processing module is used for determining the application of the memory to be recovered from the application currently running in the terminal equipment when judging that the memory recovery condition is met according to the memory waterline of the application and the system memory occupation information, transmitting the memory waterline of the application into a kernel space, and executing memory recovery by the kernel according to the memory waterline of the application.
11. The apparatus of claim 10, wherein the obtaining module is configured to:
searching a target group to which the application belongs from first group information, wherein the first group information comprises a mapping relation between the application in the group and a memory waterline;
determining the memory waterline of the target group as the memory waterline of the application; alternatively, the first and second electrodes may be,
determining a target group to which the application belongs according to the memory requirement of the application and second group information, wherein the second group information comprises a mapping relation between a group memory requirement range and a memory waterline;
and determining the memory waterline of the target group as the memory waterline of the application.
12. The apparatus of claim 11, wherein the first group information and the second group information are pre-stored.
13. The apparatus of claim 11, wherein the obtaining module is configured to:
and if the memory requirement of the application is within the memory requirement range of a group, determining the group as the target group.
14. The apparatus of claim 11, wherein the obtaining module is further configured to:
obtaining historical use memory data of each application after running within a preset time, wherein the historical use memory data is a memory occupied by the application when the application is started, or the historical use memory data is the sum of the memory occupied by the application when the application is started and the memory occupied by the application within a preset time period;
respectively predicting the memory requirements of each application according to the historical memory data used by each application, wherein the memory requirements are required memories during starting; or the memory requirement is the sum of the memory required during starting and the memory increased in the expected use stage;
and acquiring the first group information or the second group information according to the predicted memory requirement of each application.
15. The apparatus of claim 14, wherein the obtaining module is configured to:
and determining a memory waterline corresponding to each application according to the predicted memory requirement of each application and the multiple sets of memory waterlines, wherein all the applications corresponding to one set of memory waterline are elements in one group, and each group comprises at least one application to obtain the first group information.
16. The apparatus of claim 14, wherein the obtaining module is configured to:
and dividing all applications into groups according to the predicted memory requirements of the applications and the multiple sets of memory waterlines to obtain multiple groups, wherein one set of memory waterline corresponds to one group, and the applications in a memory requirement range belong to the same group to obtain the second group information.
17. The apparatus of claim 11, wherein the processing module is further configured to:
and updating the first group information according to the update of the application in the group indicated by the configuration file.
18. The apparatus of claim 10, wherein the processing module is configured to:
and transmitting the memory waterline of the application into a kernel space through a reserved function interface.
19. A terminal device, comprising:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to perform the memory reclamation method of any of claims 1-9 via execution of the executable instructions.
20. A readable storage medium having stored therein execution instructions, wherein when at least one processor of a terminal device executes the execution instructions, the terminal device performs the memory reclamation method as recited in any one of claims 1 to 9.
CN201910812574.1A 2019-08-30 2019-08-30 Memory recovery method and device Pending CN112445606A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910812574.1A CN112445606A (en) 2019-08-30 2019-08-30 Memory recovery method and device
PCT/CN2020/110827 WO2021036993A1 (en) 2019-08-30 2020-08-24 Memory reclaiming method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910812574.1A CN112445606A (en) 2019-08-30 2019-08-30 Memory recovery method and device

Publications (1)

Publication Number Publication Date
CN112445606A true CN112445606A (en) 2021-03-05

Family

ID=74684164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910812574.1A Pending CN112445606A (en) 2019-08-30 2019-08-30 Memory recovery method and device

Country Status (2)

Country Link
CN (1) CN112445606A (en)
WO (1) WO2021036993A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961427A (en) * 2021-12-20 2022-01-21 荣耀终端有限公司 System memory analysis method and electronic equipment
CN116700944A (en) * 2022-11-03 2023-09-05 荣耀终端有限公司 Memory recycling method and device and electronic equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105701025A (en) * 2015-12-31 2016-06-22 华为技术有限公司 Memory recovery method and device
CN108205474A (en) * 2017-08-23 2018-06-26 珠海市魅族科技有限公司 EMS memory management process, terminal device, computer installation and readable storage medium storing program for executing
CN109656722A (en) * 2019-01-04 2019-04-19 Oppo广东移动通信有限公司 Memory Optimize Method, device, mobile terminal and storage medium
CN109669877A (en) * 2018-12-11 2019-04-23 腾讯科技(深圳)有限公司 EMS memory management process, device, terminal and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7852699B2 (en) * 2007-10-04 2010-12-14 Macronix International Co., Ltd. Power saving method and circuit thereof for a semiconductor memory
CN102968335A (en) * 2012-10-25 2013-03-13 东莞宇龙通信科技有限公司 Terminal and terminal memory management method
CN103902359B (en) * 2014-03-31 2018-02-23 深圳创维-Rgb电子有限公司 Based on android system internal memory optimization and application scheduling method thereof and system
CN107220076B (en) * 2016-09-27 2018-10-30 华为技术有限公司 A kind of method for recovering internal storage and device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105701025A (en) * 2015-12-31 2016-06-22 华为技术有限公司 Memory recovery method and device
EP3388946A1 (en) * 2015-12-31 2018-10-17 Huawei Technologies Co., Ltd. Memory collection method and device
CN108205474A (en) * 2017-08-23 2018-06-26 珠海市魅族科技有限公司 EMS memory management process, terminal device, computer installation and readable storage medium storing program for executing
CN109669877A (en) * 2018-12-11 2019-04-23 腾讯科技(深圳)有限公司 EMS memory management process, device, terminal and storage medium
CN109656722A (en) * 2019-01-04 2019-04-19 Oppo广东移动通信有限公司 Memory Optimize Method, device, mobile terminal and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961427A (en) * 2021-12-20 2022-01-21 荣耀终端有限公司 System memory analysis method and electronic equipment
CN116700944A (en) * 2022-11-03 2023-09-05 荣耀终端有限公司 Memory recycling method and device and electronic equipment

Also Published As

Publication number Publication date
WO2021036993A1 (en) 2021-03-04

Similar Documents

Publication Publication Date Title
US10715381B2 (en) Intelligent role selection for dual-role devices
WO2021142609A1 (en) Information reporting method, apparatus and device, and storage medium
KR101387798B1 (en) Optimization of the presence information refresh for a wireless device
US9678678B2 (en) Storage network data retrieval
TWI697239B (en) Resource block group division method and user terminal
WO2021036993A1 (en) Memory reclaiming method and apparatus
KR102219015B1 (en) Use of network support protocols to improve network usage
CN113961510B (en) File processing method, device, equipment and storage medium
US9537746B2 (en) Managing a data rate based on an amount of available data for a predetermined time period
CN105224421A (en) Data backup method and device and electronic equipment
CN110868339A (en) Node distribution method and device, electronic equipment and readable storage medium
CN104580757A (en) Phone state sharing method and device
CN110795205B (en) System and method for providing cloud service based on software container
WO2020156131A1 (en) Application management method, device and apparatus
CN102300198B (en) Realize method and system and the mobile phone remote service centre of mobile phone remote service
CN108173909B (en) Data synchronization method, mobile terminal and computer readable storage medium
CN112787828B (en) Application flow statistical method and device and mobile electronic device
US20080294851A1 (en) Method, apparatus, computer program product, and system for management of shared memory
CN113542447A (en) Method and device for preventing information leakage, terminal equipment and readable storage medium
CN103001987A (en) Data processing method and data processing node
CN111147556A (en) Load balancing method, device, equipment and storage medium
CN106027309B (en) The acquisition methods and device of device status information
CN110008051A (en) A kind of node method for restarting, device and the equipment of multinode storage system
CN112333688B (en) Determination method and device
KR20020038195A (en) Memory Management in the Mobile Computing System using a Multi-tasking Operating System

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