CN114942800A - Method and device for accelerating running of application program - Google Patents

Method and device for accelerating running of application program Download PDF

Info

Publication number
CN114942800A
CN114942800A CN202110559574.2A CN202110559574A CN114942800A CN 114942800 A CN114942800 A CN 114942800A CN 202110559574 A CN202110559574 A CN 202110559574A CN 114942800 A CN114942800 A CN 114942800A
Authority
CN
China
Prior art keywords
user
application program
memory
application
data
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
CN202110559574.2A
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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to PCT/CN2021/121460 priority Critical patent/WO2022170772A1/en
Publication of CN114942800A publication Critical patent/CN114942800A/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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The embodiment of the application discloses a method and equipment for accelerating the running of an application program, relates to the field of artificial intelligence, and solves the problem that when a user starts the application program, the starting response speed of the application program is relatively low. The specific scheme is as follows: the memory is applied to electronic equipment with a first memory and a second memory, wherein the first memory is a memory adopting a volatile storage medium, and the second memory is a memory adopting a nonvolatile storage medium. The electronic equipment loads the first application program in the second memory when predicting that the user is about to use the first application program according to the user portrait and/or a preset prediction rule; receiving a first operation of opening a first application program by a user; responding to the first operation, and transferring the data of the first application program in the second memory to the first memory; and displaying an interface of the first application program according to the data of the first application program in the first memory.

Description

Method and device for accelerating running of application program
The present application claims the priority of chinese patent application, which was filed on the 09 th.e.2021, the national intellectual property office, the application No. 202110182539.3, entitled "a method and apparatus for accelerating the operation of an application", the priority of chinese patent application, which was filed on the 09 th.e.2021, the national intellectual property office, the application No. 202110182302.5, entitled "a method and apparatus for implementing a device using a mixed volatile and non-volatile storage medium", and the priority of chinese patent application, which was filed on the 10 th.e.e.2021, the national intellectual property office, the application No. 202110185585.9, entitled "a method and apparatus for accelerating the operation of an application", the entire contents of which are incorporated herein by reference.
Technical Field
The embodiment of the application relates to the field of artificial intelligence, in particular to a method and equipment for accelerating running of an application program.
Background
With the continuous development of smart phones, the performance is continuously upgraded, the functions are continuously enriched, and the frequency of using smart phones by people is higher and higher. A general smart phone implements rich functions through various Applications (APPs) installed inside. For example, a user can listen to a voiced novel or a podcast through an voiced book APP installed on a smartphone. For another example, the user can perform travel navigation, check real-time road conditions, and the like through a navigation APP installed on the smart phone.
Generally, when a user uses an application installed on a smart phone, the application needs to be opened first, and the user can use the application after the smart phone finishes loading the application. When the smart phone loads the application program, the executable code of the application program generally needs to be loaded into the memory, and some resources required by the application program and related threads required by the running of the application program need to be loaded, which requires a certain loading time. Therefore, when the user starts the application program, a long waiting time is needed to wait for the smartphone to finish loading the application program, and the application program starting response speed is relatively slow.
Disclosure of Invention
The embodiment of the application provides a method for accelerating running of an application program, and the problem that when a user starts the application program, the starting response speed of the application program is relatively low is solved.
In order to achieve the above purpose, the embodiments of the present application adopt the following technical solutions:
in a first aspect, an embodiment of the present application provides a method for accelerating running of an application program, where the method is applicable to an electronic device. The electronic equipment comprises a first memory and a second memory, wherein the first memory is a memory adopting a volatile storage medium, and the second memory is a memory adopting a nonvolatile storage medium, and the method comprises the following steps: loading the first application program in a second memory when the user is predicted to use the first application program according to the user portrait and/or a preset prediction rule; receiving a first operation of opening a first application program by a user; responding to the first operation, and transferring the data of the first application program in the second memory to the first memory; and displaying the interface of the first application program according to the data of the first application program in the first memory.
By adopting the technical scheme, the electronic equipment can predict the operation behavior of the user based on machine learning so as to pre-load the corresponding application program before the user opens the application program, so that when the user opens the corresponding application program, the mobile phone does not need to load the application program any more, can directly enter an application interface, and the starting speed of the application program when the user opens the application program is improved. Or after the user switches the application program to the background, the operation behavior of the user can be predicted, and the application program switched to the background is kept alive, so that the electronic equipment can continuously run the corresponding application program without reloading after the user switches back the application program, and the response speed of the application program is improved.
In one possible implementation, predicting that the user is to use the first application includes: predicting that a user is about to start a first application; loading a first application program in a second memory, including: and loading the data of the first application program into the second memory from a disk of the electronic equipment.
Therefore, the electronic equipment can preload the first application program into the second memory when the electronic equipment predicts that the user possibly starts a certain application program, such as the first application program, so that the electronic equipment can directly start the first application program without reloading the first application program when the user starts the first application program, and the response speed of the user when the user starts the application program is improved.
In another possible implementation manner, the data of the first application includes first data and second data, and the operation speed of the user for the service corresponding to the first data is lower than the operation speed of the user for the service corresponding to the second data; loading data of the first application program from a disk of the electronic device into a second memory, including: loading first data of the first application program into a second memory from a disk; when it is predicted that the user will use the first application, the method further comprises: and loading the second data of the first application program into the first memory from the disk.
Because the first memory adopts a volatile storage medium and the second memory adopts a nonvolatile storage medium, the read-write speed of the first memory is higher than that of the second memory, and the running speed of the application program in the first memory is higher. Therefore, by the method, after the electronic equipment is preloaded with the first application program, when the user starts the first application program, the service which is expected by the user of the first application program and has a higher running speed can be responded more smoothly and quickly, and therefore the response speed when the user starts the application program is further improved.
In another possible implementation, predicting that the user is going to use the first application includes: predicting that a user can switch a first application program running in a background mode to a foreground mode; loading a first application program in a second memory, comprising: all or part of the data of the first application program is transferred from the first memory to the second memory.
Generally, the application program is operated in a volatile memory of the electronic device, such as the first memory, and since the first memory uses a volatile storage medium, power is required to be maintained to ensure that data is not lost, and power consumption is high. Therefore, by adopting the above mode, the electronic device can transfer the first application program from the first memory to the second memory for keeping alive when the fact that the user can switch the certain application program running in the background, such as the first application program, to the foreground running is predicted, so that the power consumption of the electronic device is reduced, and the situation that the first application program in the background occupies the first memory and the operation of other application programs is more blocked due to the fact that the first memory occupies the first memory is avoided.
In another possible implementation manner, the data of the first application includes first data and second data, and the operation speed of the user for the service corresponding to the first data is lower than the operation speed of the user for the service corresponding to the second data; transferring a portion of data of a first application from a first memory to a second memory, comprising: transferring first data of a first application program from a first memory to a second memory; the second data is retained in the first memory.
Because the first memory adopts a volatile storage medium and the second memory adopts a nonvolatile storage medium, the read-write speed of the first memory is higher than that of the second memory, and the running speed of the application program in the first memory is higher. Therefore, by the mode, after the first application program is kept alive by the electronic equipment, when the user switches the first application program to the foreground, the service which is expected by the user of the first application program and has a higher running speed is responded more smoothly and quickly, and therefore the response speed when the user starts the application program is further improved.
In another possible implementation, the user is predicted to use the first application when the application associated with the matched user behavior is queried from the user representation and/or the prediction rule as the first application according to at least one of the current time, the current location of the electronic device, and the current operation of the user.
Therefore, the electronic equipment can predict the application program to be used by the user according to various scenes such as time, places, operations and the like, and the prediction accuracy is improved.
In another possible implementation, the prediction rule includes at least one of: when receiving an operation of searching a first application program by a user, predicting that the user is about to start the first application program; when receiving an operation of installing a first application program by a user, predicting that the user is about to start the first application program; when receiving that a user opens an application classification folder containing a first application program, predicting that the user is about to start the first application program; among the applications in the application classification file, a first application includes an incomplete service. When receiving an operation of installing a first application program by a user, predicting that the user needs to start the first application program, and for preloading of the first application program, installing the first application program while preloading the first application program in the process of installing the first application program, or preloading the first application program after the installation of the first application program is completed.
Therefore, the electronic equipment can relatively accurately associate the application program to be used by the user according to the operation of the user. The use experience of the user is enhanced.
In another possible implementation manner, before the first application program is loaded in the second memory when it is predicted that the user will use the first application program according to the user representation and/or the preset prediction rule, the method further includes: the method comprises the following steps of counting user behaviors of a user on the electronic equipment, generating a user portrait according to the counted user behaviors, and storing the user portrait, wherein the user behaviors comprise at least one of the following: user operation, execution time of the user operation, and a position where the electronic device is located when the user operation is executed.
In a second aspect, an embodiment of the present application provides an apparatus for accelerating running of an application, where the apparatus may be applied to an electronic device having a first memory and a second memory, and is configured to implement the method in the first aspect. The first memory is a memory using a volatile storage medium, and the second memory is a memory using a nonvolatile storage medium. The functions of the device can be realized by hardware, and can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the above functions, for example, a processing module, a display module, and the like.
The processing module can be used for loading the first application program in the second memory when the user is predicted to use the first application program according to the user portrait and/or a preset prediction rule; receiving a first operation of starting a first application program by a user; and responding to the first operation, and transferring the data of the first application program in the second memory into the first memory. The display module may be configured to display an interface of the first application program according to the data of the first application program in the first memory.
In another possible implementation manner, the processing module is specifically configured to predict that the user is about to start the first application; and loading the data of the first application program into the second memory from a disk of the electronic equipment.
In another possible implementation manner, the data of the first application includes first data and second data, and the operation speed of the user for the service corresponding to the first data is lower than the operation speed of the user for the service corresponding to the second data; the processing module is specifically used for loading first data of the first application program into the second memory from a disk; the processing module is further configured to load second data of the first application program from the disk into the first memory.
In another possible implementation manner, the processing module is specifically configured to predict that the user will switch the first application program running in the background to the foreground; all or part of the data of the first application program is transferred from the first memory to the second memory.
In another possible implementation manner, the data of the first application includes first data and second data, and the operation speed of the user for the service corresponding to the first data is lower than the operation speed of the user for the service corresponding to the second data; the processing module is specifically used for transferring first data of the first application program from the first memory to the second memory; the second data is retained in the first memory.
In another possible implementation manner, the processing module is specifically configured to predict that the user is going to use the first application program when the application program associated with the matched user behavior is queried from the user representation and/or the prediction rule according to at least one of a current time, a current location of the electronic device, and a current operation of the user.
In another possible implementation, the prediction rule includes at least one of: when receiving an operation of searching a first application program by a user, predicting that the user is about to start the first application program; when receiving an operation of installing a first application program by a user, predicting that the user is about to start the first application program; when receiving that a user opens an application classification folder containing a first application program, predicting that the user is about to start the first application program; among the applications in the application classification file, a first application includes an incomplete service.
In another possible implementation manner, the processing module is further configured to count user behaviors of the user on the electronic device, generate a user representation according to the counted user behaviors, and store the user representation, where the user behaviors include at least one of: user operation, execution time of the user operation, and a position where the electronic device is located when the user operation is executed.
In a third aspect, an embodiment of the present application provides an electronic device, including: the system comprises a processor, a first memory, a second memory and a memory for storing executable instructions of the processor. The first memory is a memory using a volatile storage medium, and the second memory is a memory using a nonvolatile storage medium. The processor is configured to execute the above instructions to enable the electronic device to implement the method for accelerating the running of the application program according to the first aspect or any one of the possible implementation manners of the first aspect.
In a fourth aspect, embodiments of the present application provide a computer-readable storage medium having computer program instructions stored thereon. The computer program instructions, when executed by the electronic device, cause the electronic device to implement the method for accelerating the running of an application program as described in the first aspect or any one of the possible implementations of the first aspect.
In a fifth aspect, the present application provides a computer program product, which includes computer readable code, and when the computer readable code is executed in an electronic device, the electronic device is caused to implement the method for accelerating the running of an application program according to the first aspect or any one of the possible implementation manners of the first aspect.
It should be understood that, the beneficial effects of the second to fifth aspects may refer to the relevant description in the first aspect, and are not described herein again.
In a sixth aspect, an embodiment of the present application provides a device implementation method for mixing a volatile storage medium and a nonvolatile storage medium, where the device implementation method is applied to an electronic device, and the method includes: on the same Substrate, a volatile storage medium, a nonvolatile storage medium and a storage controller are integrated at the same time; among them, the volatile storage medium may be: for example, DDR2, DDR3, DDR4, HBM (ultra wide band); the non-volatile storage medium may be: for example, SLC-NAND, MRAM (Magnetic random Access Memory), RRAM (resistance random Access Memory), and PCRAM (phase change random Access Memory).
In one possible implementation, the method further comprises: the volatile storage medium and the nonvolatile storage medium are connected to the storage controller, may be connected to the same storage controller, and may be connected to different storage controllers.
In another possible implementation manner, the method further includes: the memory Controller (Controller), the Substrate and the Volatile (voltate) and non-Volatile (None-voltate) memory mediums thereon are packaged in a Package, and externally present a bus interface.
The Package may be Flip-Package, BGA (Ball Grid Array), WLCSP (Wafer Level Chip Scale Package), or the like; the bus interface may be an interface, such as a DDR4 interface conforming to the JEDEC specification; the bus interface may be two or more interfaces, for example, two sets of DDR4 interfaces conforming to the JEDEC specification.
In another possible implementation manner, the method further includes: when the Host device accesses the hybrid memory:
the same physical address end points to a volatile memory or a nonvolatile memory, and the physical address sections of the same physical address end do not coincide (parallel mode); or, the same physical address field may point to either the volatile memory or the non-volatile memory, and the physical addresses of the two are overlapped (shadow mode); or some physical address ends can point to the volatile memory or the nonvolatile memory, and the physical addresses of the physical address ends coincide with each other (shadow mode); while the other physical address terminals, pointing to volatile or non-volatile memories, do not coincide with each other's physical address segments (parallel mode).
In another possible implementation manner, the method further includes: in the parallel mode, power is supplied after power is off, data of the nonvolatile memory is still kept, and data of the volatile memory is lost.
In another possible implementation manner, the method further includes: in the shadow mode, power is turned on after power is off, and the data of the physical address field to which the shadow mode belongs is still kept.
In a seventh aspect, the present application further provides an electronic device, including: a memory, one or more processors; the one or more processors are coupled with the memory, the camera, the signal processor and the display screen; and one or more computer programs, wherein the one or more computer programs are stored in the memory, the one or more computer programs comprising instructions; the instructions, when executed by the electronic device, cause the electronic device to perform the method of the sixth aspect described above.
In an eighth aspect, the present application further provides a computer-readable storage medium comprising computer instructions which, when executed on a computer, cause the computer to perform the method of the sixth aspect.
Drawings
Fig. 1 is a schematic diagram illustrating an internal memory according to an embodiment of the present disclosure;
fig. 2 is a schematic view of a scenario for opening an application provided in the related art;
fig. 3 is a schematic view of another scenario for opening an application provided in the related art;
fig. 4 is a schematic view of another scenario for opening an application provided in the related art;
fig. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present disclosure;
fig. 6 is a flowchart illustrating a method for accelerating application program running according to an embodiment of the present application;
fig. 7 is a schematic view of a scene when an application program running acceleration method provided in an embodiment of the present application is applied;
fig. 8 is a schematic view of a scene when another method for accelerating the running of an application program is applied according to an embodiment of the present application;
fig. 9 is a schematic view of a scene when another method for accelerating the running of an application program is applied according to an embodiment of the present application;
fig. 10 is a schematic view of a scenario when another method for accelerating running of an application program is applied according to an embodiment of the present application;
fig. 11 is a schematic view of a scene when the method for accelerating the running of an application program is applied according to an embodiment of the present application;
fig. 12 is a schematic view of a scene when the method for accelerating the running of an application program according to the embodiment of the present application is applied;
fig. 13 is a schematic flowchart of an application program running acceleration method according to an embodiment of the present application when applied;
fig. 14 is a schematic flowchart of another method for accelerating the running of an application program according to an embodiment of the present application;
fig. 15 is a flowchart illustrating another method for accelerating the running of an application according to an embodiment of the present application;
fig. 16 is a schematic flowchart of another method for accelerating the running of an application program according to an embodiment of the present application;
fig. 17 is a schematic flowchart of another method for accelerating the running of an application program according to an embodiment of the present application;
FIG. 18 is a schematic diagram of a memory according to an embodiment of the present disclosure;
FIG. 19 is a diagram illustrating a structure of a memory according to an embodiment of the present application;
FIG. 20 is a schematic diagram of a memory system according to an embodiment of the present application;
fig. 21 is a schematic composition diagram of an apparatus for accelerating application running according to an embodiment of the present application.
Detailed Description
Generally, when a user uses an application installed on a mobile phone, the user needs to open the application on the mobile phone by touching and clicking. When the mobile phone receives an operation of opening the application program by the user, the mobile phone needs to load the application program, and the user can use the application program after the mobile phone finishes loading the application program. As shown in fig. 1 (a), the internal memory of the current mobile phone may include a volatile memory 112 and a magnetic disk 111. The disk 111 adopts a nonvolatile storage medium, has a relatively low read-write speed, can stably store data without losing storage contents under the condition of power failure, has low power consumption, can be used for storing data of an application program installed on a mobile phone, but cannot be used for running the application program. The volatile memory 112 is a volatile storage medium, has a high read/write speed, requires power maintenance during storage to ensure that the stored content is not lost, has high power consumption, and can be used for loading and running application programs. Data of all application programs in the mobile phone are stored in the disk 111, and when the mobile phone loads an application program, the data of the application program can be loaded into the volatile memory 112 from the disk 111, so that the application program runs in the volatile memory 112.
When the mobile phone loads the application program, it is usually necessary to load the executable code of the application program into a memory (i.e., a volatile memory), obtain some resources required by the application program, and load a relevant thread required by the application program to run.
For example, when a user needs to open an audio book APP installed on a mobile phone, such as a "listen to book" APP, to listen to an audio novel. As shown in fig. 2 (a), the user may open the "listen to book" APP by clicking an icon 201 of the "listen to book" APP in the desktop of the mobile phone. When the mobile phone receives the click operation of the user on the icon 201 of the 'book listening' APP, the mobile phone loads and starts the 'book listening' APP. In the process of loading the "listen to book" APP by the mobile phone, as shown in fig. 2 (b), a start page 202 of the "listen to book" APP is usually displayed (e.g., an open screen advertisement page, or a page shown in the figure that includes an APP icon, etc.). Therefore, the situation that the user experience is influenced by displaying blank pages when the 'listening book' APP is loaded by the mobile phone is avoided. After the mobile phone finishes loading the "listen to book" APP, as shown in (c) of fig. 2, the interface displayed by the mobile phone may jump from the start page 202 of the "listen to book" APP to the application page 203 of the "listen to book" APP (e.g., the application home page). So that the user can listen to a voiced novel by clicking on the relevant content within the application page 203 of the "listen to book" APP. For example, as shown in fig. 2 (c), the application page 203 of the "book listening" APP displayed on the mobile phone includes cover pictures corresponding to the voiced versions of the novel notes, such as "the three kingdoms," the "dream of the red house," the "water," and "the journey to the west. The user can click the cover pictures of the novel to enable the mobile phone to play the corresponding novel. For example, when the user clicks the cover page picture of the three kingdoms lecture, the mobile phone can play the vocal version of the three kingdoms lecture for the user to listen to when receiving the click operation.
For another example, when a user is on duty, the navigation APP installed on the mobile phone needs to be opened, such as a "map" APP, to check the road condition of the line on duty. As shown in fig. 3 (a), the user may open a "map" APP by clicking an icon 301 of the "map" APP in the desktop of the mobile phone. When the mobile phone receives the click operation of the map APP icon 301 by the user, the mobile phone loads and starts the map APP. In the process of loading the "map" APP by the mobile phone, as shown in fig. 3 (b), a start page 302 of the "map" APP is usually displayed (e.g., an open screen advertisement page, or a page shown in the figure and including APP icons, etc.). Therefore, the situation that the user experience is influenced by displaying a blank page when the map APP is loaded by the mobile phone is avoided. After the mobile phone finishes loading the "map" APP, as shown in (c) of fig. 3, the interface displayed by the mobile phone may jump from the start page 302 of the "map" APP to the map interface 303 of the "map" APP. When the mobile phone displays the map interface 303 of the "map" APP, the mobile phone needs to load and acquire the location information of the mobile phone (i.e. the location of the user), and then as shown in fig. 3 (d), the mobile phone can display the location of the mobile phone (or the user) in the map and the map information near the location of the mobile phone, so that the user can view the road condition.
In the process that a user uses the application program installed on the mobile phone, a scene that the application programs are switched with each other often appears. That is, while a certain application, for example, a first application, is being used, another application, for example, a second application, is switched to the foreground, and accordingly the first application is switched to the background. After using the second application program for a period of time, the first application program is switched back to the foreground for use. In this scenario, generally limited by the background management and power management policies of the mobile phone, when the user uses the second application for too long or the second application occupies more system memory resources, the mobile phone may recover the first application switched to the background. At this time, if the user wants to switch back from the second application to the first application, the mobile phone needs to reload the first application (the process of reloading the first application is similar to the process of loading the application by the mobile phone described above), and therefore, the user needs to wait for the loading of the first application.
For example, as shown in fig. 4 (a), when the user is shopping using an e-commerce type APP, e.g., "shopping" APP, the cell phone pops up a message reminder 401 of a chat type APP, e.g., "information" APP. At this time, as shown in (a) in fig. 4, the user may click on the message alert 401 to open the "information" APP. When the mobile phone receives the above operation of the user, as shown in (b) in fig. 4, the mobile phone may switch the "shopping" APP to the background, open the "information" APP, and display the chat interface 402. The user can reply to messages, chat, etc. in the chat interface 402 of the "info" APP. In the process that the user uses the information APP, the shopping APP is recycled from the background by the mobile phone due to insufficient memory of the mobile phone or overlong time of the shopping APP in the background and the like. At this time, when the user wants to switch back to the "shopping" APP, the mobile phone receives the operation of the user, as shown in (c) in fig. 4, the mobile phone needs to reload the "shopping" APP, and displays a start page 403 of the "shopping" APP during the loading process.
As can be seen from the above, when a user opens an application installed on a mobile phone, or switches back to a last-used application that is not used for a long time, the mobile phone needs to load the corresponding application. In the process of loading the application program, the executable code of the application program needs to be loaded into the memory, and some resources required by the application program and related threads required by the running of the loaded application program are acquired. Therefore, the user needs a long waiting time to wait for the mobile phone to finish loading the application program, and the application program starting response speed is relatively slow.
In order to solve the above problem, an embodiment of the present application provides a method for accelerating running of an application. The method can be applied to a scene that a user opens a certain application installed in the electronic equipment or switches back and forth between at least two application programs opened in the electronic equipment.
In an embodiment of the application program running acceleration method, in the process that a user uses an application program installed in an electronic device, the electronic device observes and records an operation behavior of the user using the electronic device. And then, the electronic equipment can generate user portrait information capable of representing the use habit of the user using the application program according to the recorded operation behaviors of the user using the electronic equipment. During the subsequent use of the electronic device by the user, in a specific time range, a specific location range, a specific operation, or any combination of the three, the electronic device may predict an application that the user may want to open (i.e., launch) according to the observed operation behavior of the user using the electronic device, the user profile information, and/or a preset prediction rule, so as to obtain a predicted application (i.e., an application that the user will use, such as the first application). The electronic device may preload the corresponding application program (i.e., the predicted application program) according to the prediction result, and when the predicted application program is opened by a user operation, the electronic device may directly start the application program. Alternatively, the electronic device may predict whether the application switched to the background by the user will continue to be used based on the observed operational behavior of the user using the electronic device and the user profile information. If the electronic device predicts that the application user switching to the background may continue to use, the electronic device may keep the application state alive. So that when the user switches back to the application, the electronic device can continue running the application without reloading.
As shown in fig. 1 (b), the internal memory of the electronic device may include a magnetic disk 121, a volatile memory 122 (which may be referred to as a first memory in this application), and a non-volatile memory 123 (which may be referred to as a second memory in this application). The magnetic disk 121 is the same as a magnetic disk in an electronic device (such as a mobile phone) in the related art, and a nonvolatile storage medium is adopted, so that the read-write speed is relatively slow, the storage content can be stably stored without losing under the condition of power failure, and the power consumption is relatively low. Can be used to store data for applications installed on the electronic device, but cannot be used for the execution of applications. And both volatile memory 122 and nonvolatile memory 123 are memories. The volatile memory 122 is a volatile storage medium, has a high read/write speed, requires power to maintain during storage to ensure that the stored content is not lost, has high power consumption, and can be used for loading and running application programs. The read and write speed of the non-volatile memory 123 is slightly lower than that of the volatile memory 122. The nonvolatile memory 123 is a nonvolatile storage medium, but the read-write speed of the nonvolatile memory is much higher than that of the disk 121, and the nonvolatile memory 123 can be used as a running state carrier of low-priority applications and processes (i.e., running the low-priority applications and processes), and the disk 121 cannot run the applications and processes, unlike the disk 121 which also uses a nonvolatile storage medium as a memory. For example, when the electronic device needs to preload the application program, the application program may be preloaded from the disk 121 into the non-volatile memory 123; or when the electronic device needs to keep the application alive, the application can be kept alive in the non-volatile memory 123.
Therefore, the electronic equipment can predict the operation behavior of the user based on machine learning so as to pre-load the corresponding application program before the user opens the application program, so that when the user opens the corresponding application program, the mobile phone does not need to load the application program any more, can directly enter an application interface, and the starting speed of the application program when the user opens the application program is improved. Or after the user switches the application program to the background, the operation behavior of the user can be predicted, and the application program switched to the background is kept alive, so that the electronic equipment can continuously run the corresponding application program without reloading after the user switches back the application program, and the response speed of the application program is improved.
Hereinafter, a method for accelerating the running of an application provided by the embodiment of the present application will be described with reference to the drawings.
In the embodiment of the present application, the electronic device may be a mobile phone, a tablet computer, a handheld computer, a PC, a cellular phone, a Personal Digital Assistant (PDA), a wearable device (e.g., a smart watch, a smart band), a smart home device (e.g., a television), a vehicle machine (e.g., a vehicle-mounted computer), a smart screen, a game machine, a smart projector, a smart tv box, an Augmented Reality (AR)/Virtual Reality (VR) device, and the like. The embodiment of the present application is not particularly limited to the specific device form of the electronic device.
In this embodiment, the electronic device is an electronic device that can run an operating system and install an application program. Alternatively, the operating system run by the electronic device may be
Figure BDA0003078449440000081
The system is provided with a plurality of sensors,
Figure BDA0003078449440000082
systems, and the like.
Exemplarily, taking an electronic device as a mobile phone as an example, fig. 5 shows a schematic structural diagram of an electronic device provided in an embodiment of the present application. That is, the electronic device shown in fig. 5 may be, for example, a cellular phone.
As shown in fig. 5, the mobile phone may include a processor 510, an external memory interface 520, an internal memory 521, a Universal Serial Bus (USB) interface 530, a charging management module 540, a power management module 541, a battery 542, an antenna 1, an antenna 2, a wireless communication module 560, an audio module 570, a speaker 570A, a receiver 570B, a microphone 570C, an earphone interface 570D, a sensor module 580, a button 590, a motor 591, an indicator 592, a camera 593, a display 594, and the like.
Optionally, the handset may further include a mobile communication module 550, a Subscriber Identity Module (SIM) card interface 595, and the like.
Among them, the sensor module 580 may include a pressure sensor 580A, a gyro sensor 580B, an air pressure sensor 580C, a magnetic sensor 580D, an acceleration sensor 580E, a distance sensor 580F, a proximity light sensor 580G, a fingerprint sensor 580H, a temperature sensor 580J, a touch sensor 580K, an ambient light sensor 580L, a bone conduction sensor 580M, and the like.
It is to be understood that the structure shown in fig. 5 does not constitute a specific limitation of the cellular phone. In some embodiments, the handset may also include more or fewer components than shown in FIG. 5, or combine certain components, or split certain components, or a different arrangement of components, etc. Alternatively still, some of the components shown in FIG. 5 may be implemented in hardware, software, or a combination of software and hardware.
Processor 510 may include one or more processing units, such as: processor 510 may include an Application Processor (AP), a modem processor, a Graphics Processing Unit (GPU), an Image Signal Processor (ISP), a controller, a memory, a video codec, a Digital Signal Processor (DSP), a baseband processor, and/or a neural-Network Processing Unit (NPU), among others. Wherein, the different processing units may be independent devices or may be integrated in one or more processors. The controller can be the neural center and the command center of the mobile phone. The controller can generate an operation control signal according to the instruction operation code and the time sequence signal to finish the control of instruction fetching and instruction execution.
A memory may also be provided in processor 510 for storing instructions and data. In some embodiments, the memory in processor 510 is a cache memory. The memory may hold instructions or data that have just been used or recycled by processor 510. If the processor 510 needs to use the instruction or data again, it can be called directly from the memory. Avoiding repeated accesses reduces the latency of the processor 510, thereby increasing the efficiency of the system.
In some embodiments, processor 510 may include one or more interfaces. The interface may include an integrated circuit (I2C) interface, an integrated circuit built-in audio (I2S) interface, a Pulse Code Modulation (PCM) interface, a universal asynchronous receiver/transmitter (UART) interface, a Mobile Industry Processor Interface (MIPI), a general-purpose input/output (GPIO) interface, a SIM interface, and/or a USB interface, etc.
The charging management module 540 is configured to receive charging input from a charger. The charging management module 540 may also supply power to the mobile phone through the power management module 541 while charging the battery 542. The power management module 541 is used to connect the battery 542, the charging management module 540, and the processor 510. The power management module 541 can also receive input from the battery 542 to power the mobile phone.
The wireless communication function of the mobile phone can be realized by the antenna 1, the antenna 2, the mobile communication module 550, the wireless communication module 560, the modem processor, the baseband processor, and the like.
The antennas 1 and 2 are used for transmitting and receiving electromagnetic wave signals. Each antenna in the handset may be used to cover a single or multiple communication bands. Different antennas can also be multiplexed to improve the utilization of the antennas. For example: the antenna 1 may be multiplexed as a diversity antenna of a wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
When the handset includes the mobile communication module 550, the mobile communication module 550 may provide a solution including 2G/3G/4G/5G wireless communication, etc. applied to the handset. The mobile communication module 550 may include at least one filter, a switch, a power amplifier, a Low Noise Amplifier (LNA), and the like. The mobile communication module 550 can receive electromagnetic waves from the antenna 1, and can perform filtering, amplification, and other processing on the received electromagnetic waves, and transmit the electromagnetic waves to the modem processor for demodulation. The mobile communication module 550 may also amplify the signal modulated by the modem processor, and convert the signal into electromagnetic wave through the antenna 1 to radiate the electromagnetic wave. In some embodiments, at least some of the functional modules of the mobile communication module 550 may be provided in the processor 510. In some embodiments, at least some of the functional modules of the mobile communication module 550 may be disposed in the same device as at least some of the modules of the processor 510.
The modem processor may include a modulator and a demodulator. The modulator is used for modulating a 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 passes the demodulated low frequency baseband signal to a 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 570A, the receiver 570B, etc.) or displays images or videos through the display screen 594. In some embodiments, the modem processor may be a stand-alone device. In other embodiments, the modem processor may be separate from the processor 510, and may be located in the same device as the mobile communication module 550 or other functional modules.
The wireless communication module 560 may provide a solution for wireless communication applied to a mobile phone, including Wireless Local Area Networks (WLANs) (e.g., Wi-Fi networks), Bluetooth (BT), Global Navigation Satellite System (GNSS), Frequency Modulation (FM), NFC, Infrared (IR), and the like. The wireless communication module 560 may be one or more devices integrating at least one communication processing module. The wireless communication module 560 receives electromagnetic waves via the antenna 2, performs frequency modulation and filtering processing on electromagnetic wave signals, and transmits the processed signals to the processor 510. The wireless communication module 560 may also receive a signal to be transmitted from the processor 510, frequency-modulate and amplify the signal, and convert the signal into electromagnetic waves via the antenna 2 to radiate the electromagnetic waves.
In some embodiments, the handset antenna 1 is coupled to the mobile communication module 550 and the handset antenna 2 is coupled to the wireless communication module 560 so that the handset can communicate with networks and other devices via wireless communication techniques. The wireless communication technology may include global system for mobile communications (GSM), General Packet Radio Service (GPRS), code division multiple access (code division multiple access, CDMA), Wideband Code Division Multiple Access (WCDMA), time-division code division multiple access (time-division code division multiple access, TD-SCDMA), Long Term Evolution (LTE), LTE, BT, GNSS, WLAN, NFC, FM, and/or IR technologies, etc. The GNSS may include a Global Positioning System (GPS), a global navigation satellite system (GLONASS), a beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS), and/or a Satellite Based Augmentation System (SBAS).
The mobile phone realizes the display function through a GPU, a display screen 594, an application processor and the like. The GPU is an image processing microprocessor connected to a display screen 594 and an application processor. Processor 510 may include one or more GPUs that execute program instructions to generate or alter display information.
The display screen 594 is used for displaying images, video, and the like. The display screen 594 includes a display panel. The display panel may adopt a Liquid Crystal Display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (active-matrix organic light-emitting diode, AMOLED), a flexible light-emitting diode (FLED), a miniature, a Micro-oeld, a quantum dot light-emitting diode (QLED), and the like. In some embodiments, the handset may include 1 or N display screens 594, N being a positive integer greater than 1.
The mobile phone can realize the shooting function through the ISP, the camera 593, the video codec, the GPU, the display screen 594, the application processor and the like. In some embodiments, the handset may include 1 or N cameras 593, N being a positive integer greater than 1.
The external memory interface 520 may be used to connect an external memory card, such as a Micro SD card, to extend the storage capability of the mobile phone. The external memory card communicates with the processor 510 through the external memory interface 520 to implement a data storage function. For example, files such as music, video, etc. are saved in the external memory card.
The internal memory 521 may be used to store computer-executable program code, including instructions. The processor 510 executes various functional applications of the cellular phone and data processing by executing instructions stored in the internal memory 521. The internal memory 521 may include a program storage area and a data storage area. The storage program area may store an operating system, an application program (such as a sound playing function, an image playing function, etc.) required by at least one function, and the like. The data storage area can store data (such as audio data, a phone book and the like) created in the use process of the mobile phone. In addition, the internal memory 521 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 (UFS), and the like.
The mobile phone can implement an audio function through the audio module 570, the speaker 570A, the receiver 570B, the microphone 570C, the earphone interface 570D, the application processor, and the like. Such as music playing, recording, etc.
Of course, it should be understood that fig. 5 is only an exemplary illustration of the terminal in the form of a mobile phone. If the terminal is a tablet computer, a handheld computer, a PC, a PDA, a wearable device (e.g., a smart watch, a smart bracelet), a smart home device (e.g., a television), a vehicle machine (e.g., a vehicle-mounted computer), a smart screen, a game machine, and an AR/VR device, the structure of the terminal may include fewer structures than those shown in fig. 5, or may include more structures than those shown in fig. 5, which is not limited herein.
The methods in the following embodiments may be implemented in an electronic device having the above hardware structure. The embodiments of the present application will be described below by way of example with reference to the accompanying drawings.
In the embodiment of the application, the electronic device can predict and preload the application according to the application use habit and/or the preset prediction rule of the user.
Taking the electronic device as a mobile phone, the electronic device predicts an application program which may be opened by a user and performs preloading. Fig. 6 shows a flowchart of a method for accelerating running of an application according to an embodiment of the present application. As shown in fig. 6, the method for accelerating the application program running may include the following S601-S603.
S601, the mobile phone generates a user portrait. The user representation can comprise the use habits of the user in using the mobile phone and the application program.
As an implementation mode, the mobile phone can generate the user portrait according to the observed operation behaviors by observing the operation behaviors of the user during the process that the user uses the mobile phone. For example, the operation behavior of the user may include an environment (e.g., time, place, etc.) when the user uses a certain application, an operation performed by the user using a certain application, and the like. For example, the user operation behavior observed by the mobile phone is that the user operation behavior is eight morning is that the user operation behavior is in the user operation behavior, the user operation behavior is in the user operation behavior, the user operation behavior is in the user operation behavior, the user operation behavior is that the user operation behavior, the user operation behavior is in the user operation behavior is that the user operation behavior is in the user operation behavior, the user operation behavior is that the user operation behavior is in the user operation behavior, the user operation behavior is that the user operation behavior is in the. After the mobile phone observes the operation behaviors of the users, the operation behaviors can be stored and recorded so as to generate the user portrait according to the operation behaviors. For example, the mobile phone may count the number of times of occurrence of the same operation behavior in the observed operation behaviors of the users. The frequency of occurrence of various operational behaviors is then calculated based on a certain period of time (e.g., the last week, the last month, or the last three months, etc.). Finally, the mobile phone can use the operation behaviors with the occurrence frequency higher than a certain threshold value as the use habits of the user on using the application programs of the mobile phone, and the operation behaviors are sorted according to the occurrence frequency of various operation behaviors. For example, the operation behaviors of the user observed and stored by the mobile phone may include: getting up eight times in the morning and opening an audio book APP to listen to the audio novel. In the morning, a navigation APP is opened in the garage to check road conditions. Get up eight times in the morning and open news APP to browse the news. The document is opened through the "office" APP. The document is opened by the "text" APP. The mobile phone counts the operation behaviors of the user stored in the last month, gets up eight times in the morning, opens the audio book APP to listen to the audio novel, and the frequency of the behavior in the last month is 90%. Navigation APP can be opened in a garage in the morning to check road conditions, and the frequency of the behavior occurring in the last month is 80%. Eight in the morning, getting up and turning on a news-like APP to browse news, which has a frequency of 30% in the last month. Opening a document through the "office" APP, this behavior occurred 88% of the time in the last month. Opening a document by the "text" APP, this behavior occurs 10% of the time of the last month. At this time, the mobile phone can generate the user portrait by using the operation behavior with the occurrence frequency higher than 60% as the user usage habit. That is, the mobile phone generated user representation may include: the user generally gets up eight times in the morning and opens the vocal book class APP to listen to the vocal novel. The user generally opens the navigation APP to check the road condition after arriving at the garage in the morning. A user needs to open a document, typically by "working" the APP.
Of course, in other embodiments, the cell phone may generate the user representation in other ways. For example, the mobile phone presents a questionnaire of application usage habits to the user, and then generates a user portrait or the like according to questionnaire information filled in by the user, which is not limited herein. In other embodiments, the user image (i.e., the user's habits) may also be obtained by machine learning methods such as sequence prediction and frequent pattern mining.
S602, the mobile phone predicts the application program which is possibly opened by the user according to the current scene, the user portrait and/or the preset prediction rule.
As an implementation manner, the mobile phone may query a corresponding user operation behavior (or referred to as a usage habit, a user behavior) in the user portrait according to a current scene, and then predict, according to the queried user operation behavior, that the application program corresponding to the operation behavior is an application program that may be opened by the user.
For example, one user action (or called user action) in the user representation is "the user generally uses APP1 when processing pictures". Therefore, as shown in fig. 7 (a), when the user opens a certain picture in the mobile phone and prepares to process the picture (e.g., repair, etc.). The mobile phone pops up the application program (e.g. including APP1, APP2, APP3, etc.) for processing pictures installed in the mobile phone for the user to select. When the mobile phone observes the above operation of the user (that is, the mobile phone observes the scene of the user preparing to process the picture), the mobile phone can query in the user picture according to the scene. At this time, the mobile phone queries that a user operation behavior in the user representation is "the user generally uses APP1 when processing pictures", so that the mobile phone can predict that the user may open APP1 according to the operation behavior, and thus the subsequent mobile phone can preload APP1 according to the prediction. When the user clicks the icon of APP1 to open APP1, as shown in (b) in fig. 7, after receiving the operation of opening APP1 by the user, the mobile phone may directly open the APP1 according to the preload and enter the application interface 701.
For another example, a user operation behavior (or called user behavior) in the user representation is "when the user needs to open the document, the APP1 is generally used to open the document". Therefore, as shown in fig. 8 (a), when a user opens a certain document in the mobile phone, the mobile phone pops up the application programs (e.g., including APP1, APP2, APP3, etc.) that can open the document installed in the mobile phone, which can be selected by the user. When the mobile phone observes the above operation of the user (that is, the mobile phone observes a scene that the user prepares to open a document), the mobile phone can query in the user image according to the scene. At this time, the mobile phone inquires that one user operation behavior in the user portrait is that the user generally adopts APP1 to open the document when needing to open the document. Therefore, the mobile phone can predict that the user is likely to open the APP1 according to the operation behavior, so that the subsequent mobile phone can preload the APP1 according to the prediction. When the user clicks the icon of the APP1 to open the APP1, as shown in (b) in fig. 8, after the mobile phone receives the operation of opening the APP1 by the user, the mobile phone can directly open the APP1 according to the preloading and enter the application interface 801.
As another example, a user action (or called user action) in the user representation is "the user frequently plays the game APP 1". Therefore, as shown in fig. 9, when the user opens the application classification folder "game" in the mobile phone, the mobile phone may display various game APPs installed in the mobile phone (e.g., including game APP1, game APP2, game APP3, etc.). When the mobile phone observes the above operation of the user (i.e. the mobile phone observes the scene that the user opens the "game" application classification folder and is ready to play the game), the mobile phone can query in the user image according to the scene. At this time, the mobile phone inquires that one user operation behavior in the user portrait is "the user frequently plays the game APP 1". Therefore, the mobile phone can predict that the user may open the game APP1 according to the operation behavior, so that the subsequent mobile phone can preload the game APP1 according to the prediction. In some other embodiments, when a user opens a certain application classification folder, the mobile phone may predict that the user may want to open a certain application (for example, a first application) according to whether the application has a user unfinished service in the application classification folder, so as to preload the application. The unfinished service of the user can be that the user opens the application program once to perform service operation, and after closing the application program, the process or the service flow of the corresponding service operation is not finished. For example, as shown in fig. 10, when the user opens the application classification folder "shopping" in the cell phone, the cell phone may display various shopping APPs installed in the cell phone (e.g., including shopping APP1, shopping APP2, shopping APP3, etc.). When the mobile phone observes the above operations of the user (that is, the mobile phone observes that the user opens the "shopping" application classification folder and prepares for shopping), the mobile phone may query the historical operations of the user using each shopping APP, and then determine that the business of purchasing items by the user in a certain shopping APP (such as shopping APP1) is not completed (such as the user purchases items in shopping APP1 and the items are not yet in transit) according to the historical operations, at this time, the mobile phone may predict that the user may want to open the shopping APP1, so that the subsequent mobile phone may preload the shopping APP1 according to the prediction. The mobile phone is enabled to pre-load the shopping APP1 in advance to improve the response speed of the user to open the shopping APP1 when the user opens the shopping application classification folder to start the shopping APP1 to check the logistics information of purchased articles. It should be noted that, when the mobile phone predicts more than one application program that the user may open, the mobile phone may also allocate a pre-loadable quota of the predicted application program according to a difference of priorities of the predicted application program (generally, priorities may be preset for different application programs), so that the mobile phone may pre-load corresponding application programs according to the quotas. For example, taking the example shown in fig. 10, when the user opens the APP classification folder "shopping", the cell phone may predict that the user may open the shopping APP1 according to the existence of incomplete business of the shopping APP1, and also predict that the user may open the shopping APP2 according to the user's frequent use of the shopping APP2 in the user profile. At this time, the mobile phone may allocate pre-loadable quotas for shopping APP1 and shopping APP2 according to a preset priority, for example, the priority of the application predicted according to the incomplete service is lower than that predicted according to the user profile (i.e., the priority of shopping APP1 is lower than that of shopping APP 2). For example, low priority shopping APP1 allocates a pre-loadable quota of 70% (i.e., shopping APP1 can pre-load 70% of the total data), and high priority shopping APP2 allocates a pre-loadable quota of 30% (i.e., shopping APP2 can pre-load 30% of the total data). Thus, the cell phone can preload shopping APP1 and shopping APP2, respectively, according to the allotted quotas for shopping APP1 and shopping APP 2.
Of course, the above is only an example of predicting an application to be opened by a user for a mobile phone. In practical applications, other implementation examples may also be included. For example, when the mobile phone observes that the time is as fast as eight am (e.g., the current time is seven fiftieth), the mobile phone queries that one user operation behavior in the user representation is "the user usually gets up eight am and opens the vocal book APP to listen to the vocal book". The mobile phone can predict that the user will open the vocal book APP at the moment, so that the following mobile phone can pre-load the vocal book APP according to the prediction. Or, when the mobile phone observes that the time is as fast as eight and a half in the morning (for example, the current time is eight and a twentieth), the mobile phone queries that one user operation behavior in the user portrait is "the user usually watches news by opening the news APP at eight and a half to nine points in the morning". The mobile phone can predict that the user will open the news APP at this time, so that the follow-up mobile phone can pre-load the news APP according to the prediction. Or, when the mobile phone observes that the time is as fast as twelve o 'clock at noon (for example, the current time is twelve o' clock and fifty), the mobile phone inquires that one user operation behavior in the user portrait is that "the user opens the takeout APP to take out at twelve o 'clock to thirteen o' clock at noon". The mobile phone can predict that the user will open the takeout APP at this time, so that the subsequent mobile phone can pre-load the takeout APP according to the prediction. Alternatively, when the mobile phone observes that the time is as fast as twenty hours in the evening (for example, the current time is nineteen to fifty-five times), the mobile phone inquires that one user operation behavior in the user representation is "the user usually opens the game APP to play the game at twenty hours to twenty hours". The mobile phone can predict that the user will open the game APP at this time, so that the subsequent mobile phone can pre-load the game APP according to the prediction. Or, when the mobile phone observes that the current position of the mobile phone (or the position of the user) is the subway station, the mobile phone inquires that one user operation behavior in the user portrait is 'the user usually uses the riding APP to sweep the code and take the car at the subway station'. The mobile phone can predict that the user will open the riding APP at the moment, so that the riding APP can be pre-loaded by the following mobile phone according to the prediction.
As another embodiment, the mobile phone may also query, according to the currently opened application (i.e., a scene when the user opens a certain application), a corresponding user operation behavior (or referred to as a usage habit) in the user representation, and then predict, according to the queried user operation behavior, that the application program corresponding to the operation behavior is the application program that the user may want to open.
For example, when a user prepares to take a sale after opening the take-out APP, the review APP is also typically opened to view the relevant reviews of the take-out merchants. When the user looks over the asset information after opening bank APP, still can open again usually and pay operation such as financing APP carry out financing or payment. When a user prepares to repair a picture after opening the beauty APP, the user usually opens the gallery APP again to select the picture. Therefore, the user representation may also include the operation behavior that the user opens another application program after opening one application program. For example, after the user opens the takeout APP, the comment APP is opened again. After the user opens the bank APP, the payment financing APP is opened again. After the user opens the beautifying APP, the gallery APP is opened again, and the like. When the mobile phone observes that the user opens the takeout APP, the user operation behaviors in the user portrait are inquired, and therefore the fact that the comment APP is about to be opened by the user is predicted. Correspondingly, after the mobile phone observes that the user opens the bank APP, the mobile phone predicts that the user will open the payment financing APP. After the mobile phone observes that the user opens the beauty APP, the situation that the user is about to open the gallery APP is predicted.
As another embodiment, the mobile phone may also predict, according to a preset prediction rule, an application program that the user may want to open, according to the current operation behavior of the user (i.e., a scene when the user performs some operation).
For example, the preset prediction rule includes "when the user searches for an installed application, it is predicted that the user is likely to open the searched application". Therefore, as shown in fig. 11, when a user searches for an installed application (e.g., APP1) in a mobile phone, the mobile phone may display the application searched by the user, e.g., APP 1. At this time, the mobile phone may predict the APP1 that the user will open the search according to the preset prediction rule, so that the APP1 is preloaded by the subsequent mobile phone according to the prediction.
For another example, the preset prediction rules include "when a user downloads an application (e.g., APP1), it is predicted that the user is likely to open the downloaded application". Thus, for example, as shown in (a) of fig. 12, when a user downloads APP1 by a click operation in a mobile phone application market, a mobile phone may download and install APP1 in response to the click operation of the user. When the mobile phone downloads and installs the finished APP1, as shown in fig. 12 (b), the mobile phone may display a download-finished interface including an operation control (e.g., the "open" button 1201 shown in the figure) for facilitating the user to open the APP 1. When the user does not open the APP1 by clicking the "open" button 1201 or other operations, the mobile phone may predict, according to a preset prediction rule, that the user will open the downloaded APP1, so that the subsequent mobile phone can preload the APP1 according to the prediction.
After the mobile phone predicts the application program which is likely to be opened by the user, the mobile phone can pre-load the application program. The preloading of the application program by the mobile phone may include loading a thread or a process necessary for running the application program, and loading a thread or a resource necessary for some services of the application program. For example, the mobile phone may preload the corresponding content of the application according to the corresponding user operation behavior in the user representation. For example, the user in the user portrait may slide the application interface to refresh the content after opening the news APP, and then click a certain tile to listen or view. At this time, when the mobile phone predicts that the user may open the news APP, the mobile phone may preload a process or a thread necessary for running the news APP, and also preload a thread or a resource required for refreshing the application interface content and the related resource content of a certain block frequently clicked by the user. When the user opens the news APP, the content of the application interface is refreshed, and the content of a certain plate frequently clicked by the user is loaded for the user to check or listen, so that the response speed of the mobile phone when the application program is opened is further improved.
As an embodiment, the internal memory 521 in the mobile phone as shown in fig. 5 may include a magnetic disk (e.g., Solid State Disk (SSD), Hard Disk Drive (HDD), Nand Flash memory (Nand Flash), Universal Flash Storage (UFS), eMMC, etc.) and a volatile memory. The disk is relatively low in read-write speed, can be stably stored without losing storage content under the condition of power failure, is low in power consumption, and can be used for storing data of an application program installed on a mobile phone. The volatile memory has high read-write speed, needs electric quantity maintenance during storage to ensure that the stored content is not lost, has high power consumption, and can be used for loading and running application programs. Therefore, the mobile phone can pre-load the predicted application program (or called predicted application program) which the user may open into the volatile memory from the disk. When the user opens the predicted application program, the mobile phone can directly run the pre-loaded predicted application program in the volatile memory, so that the response speed of the mobile phone when the user opens the corresponding application program is improved.
Optionally, to avoid that the mobile phone preloads the predicted application program in the volatile memory, which results in a higher space occupation of the volatile memory, a stuck phenomenon occurs in the mobile phone, and the power consumption of the mobile phone is increased. In the embodiment of the present application, another implementation manner is provided, for example, the mobile phone preloading application may execute the following S603.
S603, the mobile phone preloads the predicted application program which is possibly opened by the user through the nonvolatile memory.
For example, the internal memory 521 in the mobile phone shown in fig. 5 may include a magnetic disk 121 (e.g., SSD, HDD, Nand Flash, eMMC, UFS, etc.), a volatile memory 122, and a non-volatile memory 123, as shown in fig. 1 (b). The storage medium of the volatile Memory 122 may be Double Data Rate (DDR), DDR two-generation (DDR2), DDR three-generation (DDR3), DDR four-generation (DDR4), High Bandwidth Memory (HBM), etc., and the storage medium of the nonvolatile Memory 123 may be single-level cell-NAND (SLC-NAND), Magnetic Random Access Memory (MRAM), Resistance Random Access Memory (RRAM), Phase Change Random Access Memory (PCRAM), etc. fast persistent storage (fast nvm).
It should be noted that the read-write speed of the nonvolatile memory in this example is slightly lower than that of the volatile memory and far higher than that of the disk, and the nonvolatile memory may be used as an operating state carrier for low-priority applications and processes. The nonvolatile memory has nonvolatile storage characteristics, namely, the nonvolatile memory can stably store even in the case of power failure, so that the power consumption is relatively low. The volatile memory and the nonvolatile memory can be scheduled with each other, and data can be transferred with each other. For example, scheduling and data transfer between volatile memory and non-volatile memory may be accomplished by a memory management module. The volatile memory and the nonvolatile memory may be provided independently or integrated together without limitation.
The non-volatile memory is used as a low power consumption memory, and can store resource data (for example, configuration files, multimedia data, and the like) to be accessed by the application program, and also can store runtime code segments of the application program, and the application program can be directly executed in the memory area. To reduce power consumption, the non-volatile memory may be loaded with pre-loaded applications. The corresponding memory pages can also run in the nonvolatile memory when the user perceives that the application program, the process or the thread and the like are not strong. For example, services such as background downloading and background resource updating can also be run in the non-volatile memory.
Therefore, the mobile phone may preload the application program (or called predicted application program) which is predicted to be opened by the user from the disk into the nonvolatile memory, or load a part of the application program into the nonvolatile memory and a part of the application program into the volatile memory. When the user opens the predicted application program, the mobile phone can move the data of the application program pre-loaded in the nonvolatile memory to the volatile memory to run the application program. Therefore, the response speed of the mobile phone when the user opens the corresponding application program is improved.
As an implementation manner, when the mobile phone preloads the application program, a manner of performing preloading scheduling on the application program in the volatile memory and the nonvolatile memory may be as follows.
For example, when the mobile phone is to preload an application, the mobile phone may perform corresponding scheduling on preloading of the application according to whether the application is currently loaded.
For example, when the application program to be preloaded is not loaded, and if the confidence level that the application program is likely to be opened by the user (the confidence level is a predicted likelihood, which may be obtained according to a machine learning prediction algorithm, or may be obtained according to the frequency of the user operation behavior related to the application program in the user representation, such as the frequency is directly used as the confidence level, and the confidence level is higher as the frequency is higher), the confidence level is higher than the first threshold value and the confidence level is not higher than the second threshold value (the first threshold value and the second threshold value may be set according to actual conditions, so as to regard the application program with the confidence level higher than the first threshold value and the second threshold value as the application program that the user has a certain likelihood to use, and regard the application program with the confidence level higher than the second threshold value as the application program that the user has a high possibility to open), it indicates that the application program is likely to be used by the user, and the mobile phone may load the application program into the non-volatile memory from the disk. Therefore, when the subsequent application program is opened by a user, the mobile phone can transfer the application program data pre-loaded in the nonvolatile memory to the volatile memory to run the application program, and therefore the occupied space of the volatile memory is reduced and the power consumption is reduced when the application program is pre-loaded. Or, if the confidence that the application program is likely to be opened by the user exceeds the second threshold, which indicates that the application program is likely to be used by the user, the mobile phone may load one part of the application program (e.g., the second data) into the volatile memory and another part of the application program (e.g., the first data) into the non-volatile memory from the disk. The part loaded to the volatile memory is usually an interactive thread or process with relatively strong user perception (the user perception is the running speed of an application program desired by a user, and usually, the running speed desired by the user of a service with strong user perception is higher than the running speed desired by the user of a service with weak user perception in comparison with the service with strong user perception), while the part loaded to the nonvolatile memory is usually an additional function with relatively weak user perception. For example, the log uploads, auxiliary services such as buying vegetables in taxi APP, and the like. Therefore, when a subsequent application program is opened by a user, the mobile phone can directly start the operation of a service which is relatively strong and sensed by the user in the volatile memory, and transfer related data of other auxiliary services and the like from the nonvolatile memory to the volatile memory for operation, so that the response speed of the mobile phone when the application program is opened is further improved, and the problems of high occupation space and high power consumption of the volatile memory during preloading are also solved.
Also for example, when the application to be preloaded has been loaded, and the application is loaded in its entirety in volatile memory. The mobile phone can maintain the current loading state of the application program, so that when the subsequent application program is opened by a user, the mobile phone can directly run the application program in the volatile memory, and the response speed of the mobile phone when the application program is opened is improved.
For another example, when the application program to be preloaded has been loaded, the application program is loaded in the nonvolatile memory in its entirety. If the confidence level that the application program is possibly opened by the user is higher than the first threshold value but not exceeds the second threshold value, it is indicated that the application program is certainly possibly used by the user, and the mobile phone can maintain the current loading state of the application program, so that when the subsequent application program is opened by the user, the mobile phone can transfer the application program data pre-loaded in the non-volatile memory to the volatile memory to run the application program, and therefore the occupied space of the volatile memory is reduced and the power consumption is reduced when the application program is pre-loaded. Or, if the confidence that the application program is likely to be opened by the user exceeds the second threshold, which indicates that the application program is likely to be used by the user, the mobile phone may transfer a part of the data of the application program from the nonvolatile memory to the volatile memory. Wherein, a part of data transferred to the volatile memory is generally an interactive thread or process with relatively strong user perception, and a part of data reserved in the non-volatile memory is generally an additional function with relatively weak user perception. For example, the log uploads, auxiliary services such as buying vegetables in taxi APP, and the like. Therefore, when a subsequent application program is opened by a user, the mobile phone can directly start the operation of a service which is relatively strong and sensed by the user in the volatile memory, and transfer related data of other auxiliary services and the like from the nonvolatile memory to the volatile memory for operation, so that the response speed of the mobile phone when the application program is opened is further improved, and the problems of high occupation space and high power consumption of the volatile memory during preloading are also solved.
Also for example, when an application to be preloaded has been loaded, the application is present in both volatile memory and non-volatile memory. If the confidence level that the application program is possibly opened by the user is higher than the first threshold value but not exceeds the second threshold value, it is indicated that the application program is certainly possibly used by the user, and the mobile phone can maintain the current loading state of the application program, so that when the subsequent application program is opened by the user, the mobile phone can transfer the application program data pre-loaded in the non-volatile memory to the volatile memory to run the application program, and therefore the occupied space of the volatile memory is reduced and the power consumption is reduced when the application program is pre-loaded. Or, if the confidence that the application program is likely to be opened by the user exceeds the second threshold, which indicates that the application program is likely to be used by the user, the mobile phone may transfer a part of the data of the application program from the nonvolatile memory to the volatile memory. Wherein a portion of the data transferred to the volatile memory is typically an interactive thread or process with relatively strong user perception, and a portion of the data retained in the non-volatile memory is typically an additional function with relatively weak user perception. For example, the log uploads, auxiliary services such as buying vegetables in taxi APP, and the like. Therefore, when a subsequent application program is opened by a user, the mobile phone can directly start the operation of a service which is relatively strong and sensed by the user in the volatile memory, and transfer related data of other auxiliary services and the like from the nonvolatile memory to the volatile memory for operation, so that the response speed of the mobile phone when the application program is opened is further improved, and the problems of high occupation space and high power consumption of the volatile memory during preloading are also solved.
It should be noted that, after the mobile phone pre-loads the application program that is predicted to be opened by the user, when the user opens the application program, the mobile phone may transfer the data that is stored in the non-volatile memory in the application program to the volatile memory, so that the mobile phone may run the application program in the volatile memory for the user to use.
For example, taking the example that the user is using APP1, the application program that the mobile phone predicts that the user may open is APP2, and the mobile phone performs APP2 preloading in a manner of preloading APP2 from a disk into a nonvolatile memory.
As shown in fig. 13 (a), when the user is using APP1 (when APP1 is started before the user uses APP1, the cell phone may load APP1 from the disk through the volatile memory, i.e., load APP1 running segment in the volatile memory), the cell phone predicts that the user is likely to use APP 2. The mobile phone prepares to preload the APP2 according to the prediction result. At this time, if the cell phone finds that the APP2 is not currently loaded, the cell phone may instruct the nonvolatile memory to load the APP2 from the disk (for example, instruct the nonvolatile memory to load the APP2 from the disk through the APP scheduling policy execution module), that is, load the APP2 running segment in the nonvolatile memory, and complete the running of the APP2 in the nonvolatile memory (for example, APP start, running of APP specific threads, allocation of resources required by the APP, and the like). As shown in fig. 13 (b), when the user wants to use APP2, the cell phone receives an operation of opening APP2 by the user (for example, the user opens APP2 by clicking the APP2 icon on the desktop, and the like), and then starts to load APP 2. At this time, the mobile phone may instruct the nonvolatile memory to transfer the running segment data (or all data in the running state) of the APP2 to the volatile memory, so that the mobile phone runs the APP2 in the volatile memory for the user to use. As shown in fig. 13 (c), when the user has not used APP2 for a certain period of time, or after the user has used up APP2 and has kept APP2 in the non-volatile memory for a certain period of time, the mobile phone may unload (or eliminate, release, and recycle) APP2 from the non-volatile memory. For example, the handset may instruct the nonvolatile memory to release the running segment data of the APP2 through the APP scheduling policy execution module.
It should be noted that, since both the volatile memory and the non-volatile memory can be used as carriers for program execution, in some possible embodiments, when a user wants to open a predicted application (e.g., APP2), the data transferred from the non-volatile memory to the volatile memory may be only a part of the data of the application program execution segment (e.g., a part of service data that is more user-perceived), where the part that is less user-perceived is still running in the non-volatile memory, such as log upload, a shopping service in a taxi APP, and the like. Generally, the operation speed of the service with the stronger user perception is higher than that of the service with the weaker user perception.
For example, as shown in (a) of fig. 14, when the user is using APP1 (when APP1 is started before the user uses APP1, the cell phone may load APP1 from the disk through the volatile memory, i.e., load APP1 running segment in the volatile memory), the cell phone predicts that the user is likely to use APP 2. The mobile phone prepares to preload the APP2 according to the prediction result. At this time, if the cell phone finds that the APP2 is not currently loaded, the cell phone may instruct the nonvolatile memory to load the APP2 from the disk (for example, instruct the nonvolatile memory to load the APP2 from the disk through the APP scheduling policy execution module), that is, load the APP2 running segment in the nonvolatile memory, and complete the running of the APP2 in the nonvolatile memory (for example, APP start, running of APP specific threads, allocation of resources required by the APP, and the like). As shown in fig. 14 (b), when the user wants to use APP2, the cell phone receives an operation of opening APP2 by the user (for example, the user opens APP2 by clicking the APP2 icon on the desktop, etc.), and starts to load APP 2. At this time, the mobile phone may instruct the nonvolatile memory to transfer a part of data of the operation segment of the APP2 (or referred to as the APP2 first operation segment) to the volatile memory, and reserve another part of data of the operation segment of the APP2 (or referred to as the APP2 second operation segment) in the nonvolatile memory, so that the mobile phone operates the first operation segment and the second operation segment of the APP2 in the volatile memory and the nonvolatile memory, respectively, to implement the operation of the APP2 for the user. As shown in fig. 14 (c), when the user has not used APP2 for a certain period of time, or after the user has used up APP2 and has kept APP2 in the non-volatile memory for a certain period of time, the mobile phone may unload (or eliminate, release, and recycle) APP2 from the non-volatile memory. For example, the handset may instruct the nonvolatile memory to release the running segment data of the APP2 through the APP scheduling policy execution module.
The mobile phone can predict which application programs the user is likely to open in those scenes in real time. At this time, the mobile phone can pre-load the application programs only when the predicted application program user is about to open, so that the power consumption of the mobile phone is reduced due to the fact that too many application programs are pre-loaded. Of course, if the mobile phone detects that it is charging, the mobile phone may preload all the predicted applications that the user may want to open all at once, regardless of power consumption. And the application programs can be pre-loaded into the nonvolatile memory, so that the low power consumption can be kept even if the mobile phone is not charged any more after the mobile phone is pre-loaded.
As another implementation manner, between the existing high-speed memory and low-speed memory of the mobile phone, multiple stages of memories with different speeds can be added as the memory during operation. And when the application is preloaded, respectively loading the memory segments of the application program in operation into different storages according to the speed of each level of storage and the perception of the user on the operation of the application program. For example, for the taxi taking APP, taxi taking main services (such as maps and order processing) are loaded into a high-speed runtime memory, services with infrequent use (such as buying vegetables) are loaded into a next-level runtime memory, and services with weak user perception (such as log uploading and local machine learning reasoning) are loaded into the next-level runtime memory. These multilevel stores may be either volatile or nonvolatile memory.
As another implementation, due to the high-speed increase of network speed and the development of virtualization and distributed technologies, the performance of reading and writing across devices and networks is higher than that of some low-end run-time memories (such as eMMC). The multi-level Storage example may also be physically separated from the high-speed runtime memory of the current device, such as a Network Attached Storage (NAS) in a wired local area network, a Cloud Storage (Cloud Storage), other Storage (NAS, Cloud Storage or other Storage devices) connected through a high-speed network (e.g., 5G), a Storage medium provided by a distributed virtualization technology, and so on.
In the embodiment of the application, the electronic device can also predict whether the application program switched to the background by the user will be used continuously or not according to the observed operation behavior of the user using the electronic device and the user portrait information. And keeping alive the corresponding application program according to the prediction result.
Taking the electronic device as a mobile phone, the electronic device predicts that the application program switched to the background by the user may continue to be used and keep alive as an example. Fig. 15 is a flowchart illustrating another method for accelerating the running of an application according to an embodiment of the present application. As shown in fig. 15, the method for accelerating the application program may include the following S1501-S1503.
S1501, the mobile phone generates a user portrait. S1501 is similar to S601 in the method shown in fig. 6, wherein the user representation may include user operation behaviors such as that the user likes to use a certain application, and the user generally switches back to the application after opening another application when using the certain application. Other descriptions about S1501 may refer to the related descriptions in S601 specifically.
S1502, the mobile phone predicts an application program which the user may continuously use according to the operation behavior scene of the current user and the user portrait.
As an implementation manner, the mobile phone may query, according to an operation behavior scene of a current user, a corresponding user operation behavior (or referred to as a usage habit) in the user representation, and then predict, according to the queried user operation behavior, that an application program related to the operation behavior needs to be kept alive.
For example, one user operation behavior (or called user behavior) in the user representation is "the user likes to use shopping APP to do shopping". Thus, when the user uses the shopping APP in the cell phone, the shopping APP is switched to the background and another application, such as a chat APP, is opened. The mobile phone can query in the user portrait according to the user operation behavior scene. At this time, the mobile phone inquires that one user operation behavior in the user portrait is 'the user likes to use the shopping APP to do shopping', and finds that the shopping APP switched to the background is still on the commodity purchasing page according to the recorded previous operation behaviors (such as historical operation behaviors) of the user. Therefore, the mobile phone can predict that the user may switch back to the shopping APP and continue using the same according to the operation behavior in the user image. That is, the shopping APP is predicted to be an application program that the user may want to continue to use, so that the subsequent mobile phone keeps the shopping APP alive according to the prediction.
When the mobile phone predicts the application program which the user probably needs to continue to use, the mobile phone can keep the application program alive.
As an embodiment, the internal storage 521 in the mobile phone as shown in fig. 5 may include a magnetic disk (e.g., a Solid State Disk (SSD), a Hard Disk Drive (HDD), an eMMC, a UFS, etc.) and a volatile memory. The disk is relatively low in read-write speed, can be stably stored without losing storage content under the condition of power failure, is low in power consumption, and can be used for storing data of an application program installed on a mobile phone. The volatile memory has high read-write speed, needs electric quantity to maintain during storage so as to ensure that the stored content is not lost, has high power consumption, and can be used for loading and running application programs. Therefore, the mobile phone can keep the predicted application program which the user probably wants to continue to use alive in the volatile memory. Or, the mobile phone may keep the predicted application program that the user may continue to use alive in the virtual memory on the disk based on the virtual memory technology. Therefore, when the user switches to the application program to be continuously used again, the mobile phone can continuously run the application program without reloading, and the response speed of the application program is improved.
Optionally, in order to avoid that the mobile phone keeps the application program alive in the volatile memory, the space occupation of the volatile memory is high, a stuck phenomenon is generated in the mobile phone, and the power consumption of the mobile phone is increased. The problems that the application program is kept alive in the virtual memory, the jamming is caused due to the influence of the read-write speed of the disk, the service life of the disk is influenced due to the frequent read-write of the disk and the like are solved. The embodiment of the present application further provides another implementation manner, for example, the following S1503 may be executed when the mobile phone keeps alive for the application program.
S1503, the mobile phone keeps alive the application program which is predicted to be used by the user possibly through the nonvolatile memory.
For example, the memory 521 in the mobile phone shown in fig. 5 may be as shown in (b) of fig. 1. Including a magnetic disk 121 (e.g., SSD, HDD, Nand Flash, EMMC, UFS, etc.), a volatile memory 122, and a non-volatile memory 123. The storage medium of the volatile Memory 122 may be a Double Data Rate (DDR), a DDR twice (DDR2), a DDR third generation (DDR3), a DDR fourth generation (DDR4), a High Bandwidth Memory (HBM), etc., and the storage medium of the nonvolatile Memory 123 may be a single-level cell-NAND (SLC-NAND), a Magnetic Random Access Memory (MRAM), a Resistance Random Access Memory (RRAM), a fast volatile Memory (fast nvm), etc., and the storage medium of the nonvolatile Memory 123 may be a single-level cell-NAND, a SLC-NAND, a Magnetic Random Access Memory (MRAM), a Resistance Random Access Memory (RRAM), a Phase Change Random Access Memory (PCRAM), etc.
It should be noted that the read-write speed of the nonvolatile memory in this example is slightly lower than that of the volatile memory, and is much higher than that of the disk, and the nonvolatile memory may be used as a running state carrier for low-priority applications and processes. The nonvolatile memory has nonvolatile storage characteristics, namely, the nonvolatile memory can store stably even in the case of power failure, so that the power consumption is relatively low. The volatile memory and the nonvolatile memory can be scheduled with each other, and data can be transferred with each other. For example, scheduling and data transfer between volatile memory and non-volatile memory may be accomplished by a memory management module. The volatile memory and the nonvolatile memory may be provided independently or integrated together without limitation.
The non-volatile memory is used as a low power consumption memory, and can store resource data (for example, configuration files, multimedia data, and the like) to be accessed by the application program, and also can store runtime code segments of the application program, and the application program can be directly executed in the memory area. To reduce power consumption and occupation of volatile memory, application programs can be kept alive in the non-volatile memory.
Therefore, the mobile phone can transfer the application program which is predicted to be used by the user possibly (or is called the application program which is predicted to be used continuously) from the volatile memory to the nonvolatile memory for keeping alive. When the user switches back to the application program predicted to be used continuously, the mobile phone can move the data of the application program kept in the nonvolatile memory to the volatile memory to continuously run the application program. Therefore, the application program which is needed to be continuously used by the user is prevented from being cleared by the background, and the response speed of the mobile phone when the user switches back to the application program is improved.
As an implementation manner, when the mobile phone keeps the application program alive, the manner of scheduling the application program in the volatile memory and the nonvolatile memory may be as follows.
Illustratively, when the mobile phone is to keep alive a certain application program, if the confidence level that the application program is likely to be used by the user continuously (the confidence level is a predicted possibility, and may be obtained according to a machine learning prediction algorithm, and may also be obtained according to the frequency of the user operation behavior related to the application program in the user representation, such as directly taking the frequency as the confidence level, and the confidence level is higher as the frequency is higher), the confidence level is higher than the first threshold value and does not exceed the second threshold value (the first threshold value and the second threshold value may be set according to practical situations, so that the application program with the confidence level higher than the first threshold value and not exceeding the second threshold value is taken as the application program that the user has a certain possibility to use continuously, and the application program higher than the second threshold value is taken as the application program that the user has a high possibility to use continuously), the mobile phone can transfer the data of the application program from the volatile memory to the non-volatile memory. Therefore, when the subsequent application program is switched back to the foreground by the user for continuous use, the mobile phone can transfer the application program from the nonvolatile memory to the volatile memory again for continuous operation. The space occupation and the power consumption of the volatile memory are reduced when the application program is kept alive. Alternatively, if the confidence that the application is likely to be used by the user continues to exceed the second threshold, it is an indication that the application is likely to be used by the user. The mobile phone can maintain the running state of the application program in the volatile memory, namely keep the application program alive in the volatile memory. When the subsequent application program is switched back to the foreground by the user to be used continuously, the mobile phone can directly continue to run in the volatile memory, and therefore the response speed of the mobile phone when the user switches back the application program to be used continuously is improved. Or, the mobile phone may keep the application program alive in the volatile memory, so that when the user switches back to the application program, the mobile phone can continue to run the application program in the volatile memory. And as time goes on, if the user has not switched back to keep alive the application program in the volatile memory for continuous use, the mobile phone can gradually transfer the content of the application program in the volatile memory to the nonvolatile memory. Therefore, the space occupation and the power consumption of the volatile memory are reduced when the application program is kept alive.
It should be noted that, after the mobile phone keeps alive the application program that is predicted to be used by the user and is likely to be used continuously according to the prediction, when the user switches back to the application program to continue to use, the mobile phone may transfer the data of the application program stored in the nonvolatile memory to the volatile memory, so that the mobile phone continues to run the application program in the volatile memory for the user to continue to use.
For example, taking the example that the user switches APP1 to the background, opens APP2 for use, and the cell phone predicts that the user is likely to continue using APP 1.
As shown in fig. 16 (a), the user switches APP1 to the background (at this time, runtime data of APP1 will remain in the volatile memory), and when the user wants to use APP2, the mobile phone may load APP2 for the user to use. When the user starts the APP1 and the APP2, the user may be a mobile phone that instructs the volatile memory to load the APP2 or the APP1 from the disk (for example, instructs the volatile memory to load the APP2 or the APP1 from the disk through the APP scheduling policy execution module), and completes the running of the APP2 or the APP1 in the volatile memory (for example, APP starts, runs of APP specific threads, and allocates resources required by the APP). As shown in (b) of fig. 16, when the user uses APP2 for a long time, and the cell phone predicts that the user may continue to use APP1, the cell phone may keep APP1 alive according to the prediction result. At this time, the mobile phone may instruct the volatile memory to transfer the runtime data of the APP1 to the non-volatile memory for keep-alive. As shown in (c) of fig. 16, when the user switches back to the APP1 for further use, the mobile phone may instruct the nonvolatile memory to transfer the running segment data of the APP1 to the volatile memory, so that the mobile phone continues to run the APP1 in the volatile memory for further use by the user. If the user has not switched back to the APP1 for a long time to continue using, the cell phone may unload the APP1 from the non-volatile memory. Specifically, reference may be made to the manner shown in (c) in fig. 13, which is not described herein again.
It should be noted that, since both the volatile memory and the non-volatile memory can be used as carriers for program execution, in some possible embodiments, when a user switches back to a corresponding application program (e.g., APP1), data transferred from the non-volatile memory to the volatile memory may be only a part of data of an application program execution segment (e.g., a part of service data that is more user-perceived), where the part that is less user-perceived is still running in the non-volatile memory, such as log upload, a shopping service in a taxi APP, and the like.
In some embodiments, when the handset needs to keep the application program (e.g., APP1) alive in the non-volatile memory, the handset may also keep a part of data (or referred to as second data) (e.g., a part of traffic data with stronger user perception) of the application program running segment in the volatile memory, and transfer another part of data (or referred to as first data) (e.g., a part of traffic data with weaker user perception) to the non-volatile memory. Generally, the operation speed of the service with the stronger user perception is higher than that of the service with the weaker user perception.
For example, as shown in (a) of fig. 17, the user switches APP1 to the background (at this time, the runtime data of APP1 will be retained in the volatile memory), and to use APP2, the mobile phone may load APP2 for the user to use. When the user starts the APP1 and the APP2, the user may be a mobile phone that instructs the volatile memory to load the APP2 or the APP1 from the disk (for example, instructs the volatile memory to load the APP2 or the APP1 from the disk through the APP scheduling policy execution module), and completes the running of the APP2 or the APP1 in the volatile memory (for example, APP starts, runs of APP specific threads, and allocates resources required by the APP). As shown in fig. 17 (b), when the user uses APP2 for a long time, and the mobile phone predicts that the user may continue to use APP1, the mobile phone may keep the APP1 alive according to the prediction result. At this time, the mobile phone may instruct the volatile memory to retain a part of data of the operation segment of the APP1 (or referred to as the APP1 first operation segment) in the volatile memory, and transfer another part of data of the operation segment of the APP1 (or referred to as the APP1 second operation segment) to the non-volatile memory to keep the APP1 alive. As shown in (c) of fig. 17, when the user switches back to the APP1 for continuous use, the mobile phone may instruct the nonvolatile memory to transfer the second runtime data of the APP1 to the volatile memory, so that the mobile phone continues to run the APP1 (i.e., runs the first runtime and the second runtime of the APP1, i.e., runs the runtime of the APP1) in the volatile memory for the user to continue using. In addition, as time goes by and the predicted probability (e.g., confidence) that the mobile phone may switch back to the APP1 for continuous use, the mobile phone may gradually transfer the first running segment of APP1 that is retained in the volatile memory to the non-volatile memory. Thereby reducing the space of volatile memory occupied by the data of APP 1.
It should be noted that, in some other embodiments, when the mobile phone detects that it is charging, all applications in the background that the predicted user may continue to use may be kept alive without considering the power consumption problem.
Based on the method flows shown in fig. 6 and fig. 15, the following describes embodiments related to a storage (e.g., the volatile memory and the nonvolatile memory) with reference to fig. 18 to fig. 20:
electronic devices such as PCs, smart phones, tablet computers and the like are necessary electronic devices in daily production and life. In these devices, the central processor uses a Random Access Memory (RAM), such as DDR3, DDR4, DDR5, etc., for fast access of data, while using a memory Storage (e.g., a HDD hard disk, or an SSD solid state disk) for persistent access of data.
Among them, the RAM commonly used for fast data access at present is DDR-SDRAM, which is a power-down volatile device. In order to save data, DDR-SDRAM needs to constantly "refresh" the saved data-due to the semiconductor leakage, the data needs to be rewritten once at regular intervals-high power consumption is consumed; in addition, when the system encounters a sudden power loss, its stored contents are lost.
Storage, which has persistent access to data, is a slow device. When a system is to write data to Storage, it typically encounters long delays and waits. For example: the io (input output) performance is degraded instantaneously due to the synchronous Write disk command (Sync Write) of the critical data.
Some embodiments of the present application provide a memory that mixes volatile and non-volatile storage media that can implement at least one of:
improve the synchronous writing performance of an Operating System (OS), and improve the performance of a database which is used in large quantity
The fast access data is not lost due to power failure, and power can be cut off after writing is finished, so that power consumption is saved.
Referring to fig. 18-20, some embodiments provided herein may include one or more of the following (multiple sub-items in each item may be selected to adopt one or more sub-items depending on the actual situation):
on the same Substrate (Substrate), both volatile and non-volatile storage media, as well as a storage controller, are integrated. Among them, the volatile storage medium may be: for example, DDR2, DDR3, DDR4, HBM (ultra wideband), and the like. The non-volatile storage medium may be: for example, SLC-NAND, MRAM (Magnetic random Access Memory), RRAM (resistance random Access Memory), PCRAM (phase change random Access Memory), etc.
Volatile and non-volatile storage media are coupled to the storage controller.
Wherein the same storage controller may be connected, or different storage controllers may be connected.
The memory Controller (Controller), the Substrate and the Volatile (voltate) and non-Volatile (None-voltate) memory mediums thereon are packaged in a Package, and externally present a bus interface.
The Package may be a Flip-Package, BGA (Ball Grid Array), WLCSP (Wafer Level Chip Scale Package), or the like.
The bus interface may be an interface, such as a DDR4 interface conforming to the JEDEC specification.
The bus interface may be two or more interfaces, for example, two sets of DDR4 interfaces conforming to the JEDEC specification.
When the Host device accesses the hybrid memory:
the same physical address end points to the volatile or non-volatile memory, and the physical address sections of the same physical address end do not coincide with each other (parallel mode).
Alternatively, the same physical address segment, either to volatile or non-volatile memory, may be addressed to coincide with each other's physical addresses (in the shadow mode shown in FIG. 18).
Or some physical address ends can point to the volatile memory or the nonvolatile memory, and the physical addresses of the physical address ends coincide with each other (shadow mode); while other physical address terminals, pointing to volatile or non-volatile memory, do not coincide with each other's physical address segments (parallel mode as shown in fig. 18).
In the parallel mode, power is supplied after power is off, data of the nonvolatile memory is still kept, and data of the volatile memory is lost.
In the shadow mode, power is turned on after power is off, and the data of the physical address field to which the shadow mode belongs is still kept.
The parallel structure provided in the embodiment of the present application is implemented as shown in fig. 19:
1901 is a SubStrate. The connection 1902 is an interconnect. 1903 DDR4, 8Gbx4 to form a volatile memory bank, 1904 FastNVM, 1Gbx4 to form a non-volatile memory bank. 1905 the DDR controller is responsible for interfacing with the Host and managing the DDR4 set and the Fast NVM set. The device is a 4GB +1GB mixed memory. 1906A plastic package casing with device model is marked thereon. Others such as glue and Filler are omitted from the schematic.
1901 is a SubStrate. 1903 DDR4, 8Gbx4 to form a volatile memory bank, and 1904 FastNVM1Gbx4 to form a non-volatile memory bank. The bottom is a BGA pad 1907 with a Pitch (Pitch) of 0.45 mm.
In a specific embodiment, the DDR 41903 may be Micron DDR4 particles of a 1Alpha nm process node; FastNVM 1904(NVM: non-Volatile Memory) can be Global fountain 1Gb DDR4 particles at 28nm node; the DDR controller may be a 22nm node custom controller developed for ASIC (Application Specific IC; IC: Integrated Chip). The substrate may be 0.15 mm; the binding wire can be a gold wire; after the device packaging is completed, an ATE (auto Test Equipment) machine can be used for performing a Package Level Test.
As shown in fig. 20, a system on chip (SoC) accesses a Hybrid DDR4-SDRAM (Hybrid DDR4) through a DDR4(Dual-Data Rate 4) bus interface, and accesses a nonvolatile or volatile memory therein by accessing different physical address segments.
Other possible alternatives to the above embodiment may also include one or more of the following:
the Host sees a physical address segment that can access both volatile and non-volatile memory. For example, by configuring the MR and the memory of the mixed memory particle, different Mode modes are set to access different memories.
The volatile memory may also be an HBM (high Bandwidth memory) ultra wide band 3D-DRAM, such as a HBM of 512bits width and 1GB capacity;
the nonvolatile Memory may also be, for example, a 3D-Xpoint PCM (Phase Change Memory) Phase Change Memory, or an rram (resistance random Access Memory) resistive Memory, or a 3D-SLC NAND flash Memory, etc.
The Host and the hybrid memory can be connected in a manner that the memories with different internal models can be respectively accessed through two groups of DDR4 interfaces; or the volatile memory is accessed through the DDR4 interface, and the nonvolatile memory is accessed through pci 4.0 × 4.
The main difference between Intel Optane DIMM (Dual Inline Memory Module) pellets and some embodiments of the present application is that they: one PCB board is not a chip, and cannot be used as a device flexibly; the 3D-Xpoint nonvolatile medium is made into a memory bank, but is not made into a nonvolatile medium, and does not belong to a mixed type.
The main difference between the hybrid DIMM bar and some embodiments of the present application is that it: the nonvolatile memory Host can not be accessed, and only when the system is powered off, the data of the memory is quickly moved to the FLASH to be stored by a control chip on the DIMM strip with the help of external standby power; not one chip but one pcb (printed Circuit board) board cannot be flexibly used as a device.
By adopting the method in the embodiment, the electronic equipment can predict the operation behavior of the user based on machine learning so as to pre-load the corresponding application program before the user opens the application program, so that when the user opens the corresponding application program, the mobile phone can directly enter an application interface without loading the application program, and the starting speed of the application program when the user opens the application program is improved. Or after the user switches the application program to the background, the operation behavior of the user can be predicted, and the application program switched to the background is kept alive, so that the electronic equipment can continuously run the corresponding application program without reloading after the user switches back the application program, and the response speed of the application program is improved.
Corresponding to the method in the foregoing embodiment, an apparatus for accelerating running of an application program is also provided in the embodiment of the present application. The apparatus may be applied to an electronic device for implementing the method in the foregoing embodiments. The functions of the device can be realized by hardware, and can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the above-described functions. For example, fig. 21 is a schematic structural diagram of an apparatus for accelerating the running of an application, and as shown in fig. 21, the apparatus includes: a display module 2101, a processing module 2102, and the like.
The processing module 2102 may be configured to load the first application program in the second memory when it is predicted that the user will use the first application program according to the user representation and/or a preset prediction rule; receiving a first operation of opening a first application program by a user; and responding to the first operation, and transferring the data of the first application program in the second memory into the first memory. The display module 2101 may be configured to display an interface of the first application according to the data of the first application in the first memory.
In another possible implementation, the processing module 2102 is specifically configured to predict that the user is about to launch the first application; and loading the data of the first application program into the second memory from a disk of the electronic equipment.
In another possible implementation manner, the data of the first application includes first data and second data, and the operation speed of the user for the service corresponding to the first data is lower than the operation speed of the user for the service corresponding to the second data; a processing module 2102, configured to load first data of the first application from a disk into the second memory; the processing module 2102 is further configured to load second data of the first application from the disk into the first memory.
In another possible implementation, the processing module 2102 is specifically configured to predict that the user will switch the first application running in the background to the foreground; all or part of the data of the first application program is transferred from the first memory to the second memory.
In another possible implementation manner, the data of the first application includes first data and second data, and the operation speed of the user for the service corresponding to the first data is lower than the operation speed of the user for the service corresponding to the second data; a processing module 2102, configured to transfer first data of a first application from a first memory to a second memory; the second data is retained in the first memory.
In another possible implementation, the processing module 2102 is specifically configured to predict that the user is about to use the first application when the application associated with the matched user behavior is queried from the user representation and/or prediction rules as the first application according to at least one of a current time, a current location of the electronic device, and a current operation of the user.
In another possible implementation, the prediction rule includes at least one of: when receiving an operation of searching a first application program by a user, predicting that the user is about to start the first application program; when receiving an operation of installing a first application program by a user, predicting that the user is about to start the first application program; when receiving that a user opens an application classification folder containing a first application program, predicting that the user is about to start the first application program; among the applications in the application classification file, a first application includes an incomplete service.
In another possible implementation, the processing module 2102 is further configured to count user behaviors of the user on the electronic device, generate a user representation according to the counted user behaviors, and store the user representation, where the user behaviors include at least one of: user operation, execution time of the user operation, and a position where the electronic device is located when the user operation is executed.
It should be understood that the division of units or modules (hereinafter referred to as units) in the above apparatus is only a division of logical functions, and may be wholly or partially integrated into one physical entity or physically separated in actual implementation. And the units in the device can be realized in the form of software called by the processing element; or can be implemented in the form of hardware; part of the units can also be realized in the form of software called by a processing element, and part of the units can be realized in the form of hardware.
For example, each unit may be a processing element separately set up, or may be implemented by being integrated into a chip of the apparatus, or may be stored in a memory in the form of a program, and a function of the unit may be called and executed by a processing element of the apparatus. In addition, all or part of the units can be integrated together or can be independently realized. The processing element described herein, which may also be referred to as a processor, may be an integrated circuit having signal processing capabilities. In implementation, each step of the above method or each unit above may be implemented by an integrated logic circuit of hardware in a processor element or in a form called by software through the processor element.
In one example, the units in the above apparatus may be one or more integrated circuits configured to implement the above method, such as: one or more ASICs, or one or more DSPs, or one or more FPGAs, or a combination of at least two of these integrated circuit forms.
As another example, when a unit in an apparatus may be implemented in the form of a processing element scheduler, the processing element may be a general-purpose processor, such as a CPU or other processor that may invoke a program. As another example, these units may be integrated together and implemented in the form of a system-on-a-chip (SOC).
In one implementation, the means for implementing the respective corresponding steps of the above method by the above apparatus may be implemented in the form of a processing element scheduler. For example, the apparatus may include a processing element and a memory element, the processing element calling a program stored by the memory element to perform the method described in the above method embodiments. The memory elements may be memory elements on the same chip as the processing elements, i.e. on-chip memory elements.
In another implementation, the program for performing the above method may be in a memory element on a different chip than the processing element, i.e. an off-chip memory element. At this time, the processing element calls or loads a program from the off-chip storage element onto the on-chip storage element to call and execute the method described in the above method embodiment.
For example, the embodiments of the present application may also provide an apparatus, such as: an electronic device may include: a processor, a memory for storing instructions executable by the processor. The processor is configured to execute the above instructions, so that the electronic device implements the method for accelerating the running of the application program according to the foregoing embodiment. The memory may be located within the electronic device or external to the electronic device. And the processor includes one or more.
In yet another implementation, the unit of the apparatus for implementing the steps of the method may be configured as one or more processing elements, and these processing elements may be disposed on the electronic device corresponding to the foregoing, where the processing elements may be integrated circuits, for example: one or more ASICs, or one or more DSPs, or one or more FPGAs, or a combination of these types of integrated circuits. These integrated circuits may be integrated together to form a chip.
For example, the embodiment of the present application also provides a chip, and the chip can be applied to the electronic device. The chip includes one or more interface circuits and one or more processors; the interface circuit and the processor are interconnected through a line; the processor receives and executes computer instructions from the memory of the electronic device through the interface circuitry to implement the methods described in the method embodiments above.
Embodiments of the present application further provide a computer program product, which includes computer instructions executed by an electronic device, such as the electronic device described above.
Through the above description of the embodiments, it is clear to those skilled in the art that, for convenience and simplicity of description, the foregoing division of the functional modules is merely used as an example, and in practical applications, the above function distribution may be completed by different functional modules according to needs, that is, the internal structure of the device may be divided into different functional modules to complete all or part of the above described functions.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. For example, the above-described device embodiments are merely illustrative, and for example, the division of the modules or units is only one logical functional division, and there may be other divisions when actually implemented, for example, a plurality of units or components may be combined or may be integrated into another device, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may be one physical unit or a plurality of physical units, that is, may be located in one place, or may be distributed in a plurality of different places. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit may be implemented in the form of hardware, or may also be implemented in the form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present application may be embodied in the form of software products, such as: and (5) programming. The software product is stored in a program product, such as a computer readable storage medium, and includes several instructions for causing a device (which may be a single chip, 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: various media capable of storing program codes, such as a U disk, a removable hard disk, a ROM, a RAM, a magnetic disk, or an optical disk.
For example, embodiments of the present application may also provide a computer-readable storage medium having stored thereon computer program instructions. The computer program instructions, when executed by the electronic device, cause the electronic device to implement a method of application execution acceleration as described in the aforementioned method embodiments.
The above description is only an embodiment of the present application, but the scope of the present application is not limited thereto, and any changes or substitutions within the technical scope disclosed in the present application should be covered within 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 (10)

1. A method for accelerating running of an application program is applied to an electronic device, the electronic device comprises a first memory and a second memory, the first memory is a memory using a volatile storage medium, the second memory is a memory using a non-volatile storage medium, and the method comprises the following steps:
loading a first application program in the second memory when the user is predicted to use the first application program according to the user portrait and/or a preset prediction rule;
receiving a first operation of opening the first application program by a user;
transferring data of the first application program in the second memory to the first memory in response to the first operation;
and displaying an interface of the first application program according to the data of the first application program in the first memory.
2. The method of claim 1, wherein predicting that the user will use the first application comprises: predicting that a user is about to launch the first application;
the loading the first application program in the second memory includes:
and loading the data of the first application program into the second memory from a disk of the electronic equipment.
3. The method according to claim 2, wherein the data of the first application program comprises first data and second data, and the operation speed of the service corresponding to the first data expected by the user is less than the operation speed of the service corresponding to the second data expected by the user;
the loading the data of the first application program from the disk of the electronic device into the second memory includes:
loading the first data of the first application program from the disk into the second memory;
when it is predicted that the user will use the first application, the method further comprises:
and loading the second data of the first application program from the disk into the first memory.
4. The method of claim 1, wherein predicting that the user will use the first application comprises: predicting that the user can switch the first application program running in the background to the foreground;
the loading the first application program in the second memory includes:
and transferring all or part of data of the first application program from the first memory to the second memory.
5. The method according to claim 4, wherein the data of the first application program comprises first data and second data, and the operation speed of the service corresponding to the first data expected by the user is less than the operation speed of the service corresponding to the second data expected by the user;
the transferring the partial data of the first application program from the first memory to the second memory includes:
transferring the first data of the first application from the first memory to the second memory; the second data is retained in the first memory.
6. The method of claim 1,
predicting that the user is going to use the first application program when the application program associated with the matched user behavior is inquired from the user representation and/or the prediction rule according to at least one of the current time, the current position of the electronic equipment and the current operation of the user.
7. The method of claim 6, wherein the prediction rules comprise at least one of:
when receiving an operation of searching the first application program by a user, predicting that the user is about to start the first application program;
when receiving an operation of installing the first application program by a user, predicting that the user is about to start the first application program;
predicting that a user is about to start the first application program when receiving that the user opens an application classification folder containing the first application program; in each application program in the application classification file, the first application program comprises unfinished services.
8. An electronic device, comprising: the system comprises a processor, a first memory, a second memory and a memory, wherein the memory is used for storing executable instructions of the processor, the first memory is a memory adopting a volatile storage medium, and the second memory is a memory adopting a non-volatile storage medium;
the processor is configured to, when executing the instructions, cause the electronic device to implement the method of any of claims 1 to 7.
9. A computer readable storage medium having computer program instructions stored thereon; it is characterized in that the preparation method is characterized in that,
the computer program instructions, when executed by an electronic device, cause the electronic device to implement the method of any of claims 1 to 7.
10. A computer program product comprising computer readable code which, when run in an electronic device, causes the electronic device to carry out the method of any one of claims 1 to 7.
CN202110559574.2A 2021-02-09 2021-05-21 Method and device for accelerating running of application program Pending CN114942800A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/121460 WO2022170772A1 (en) 2021-02-09 2021-09-28 Method and device for accelerating running of application

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
CN2021101825393 2021-02-09
CN202110182302 2021-02-09
CN2021101823025 2021-02-09
CN202110182539 2021-02-09
CN2021101855859 2021-02-10
CN202110185585 2021-02-10

Publications (1)

Publication Number Publication Date
CN114942800A true CN114942800A (en) 2022-08-26

Family

ID=82905925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110559574.2A Pending CN114942800A (en) 2021-02-09 2021-05-21 Method and device for accelerating running of application program

Country Status (1)

Country Link
CN (1) CN114942800A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116661882A (en) * 2022-11-22 2023-08-29 荣耀终端有限公司 Method for preloading applet, electronic device and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108628645A (en) * 2018-04-28 2018-10-09 Oppo广东移动通信有限公司 Application program preloads method, apparatus, storage medium and terminal
CN109976821A (en) * 2017-12-14 2019-07-05 广东欧珀移动通信有限公司 Application program loading method, device, terminal and storage medium
CN109992522A (en) * 2017-12-29 2019-07-09 广东欧珀移动通信有限公司 Application processing method and device, electronic equipment, computer readable storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109976821A (en) * 2017-12-14 2019-07-05 广东欧珀移动通信有限公司 Application program loading method, device, terminal and storage medium
CN109992522A (en) * 2017-12-29 2019-07-09 广东欧珀移动通信有限公司 Application processing method and device, electronic equipment, computer readable storage medium
CN108628645A (en) * 2018-04-28 2018-10-09 Oppo广东移动通信有限公司 Application program preloads method, apparatus, storage medium and terminal

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116661882A (en) * 2022-11-22 2023-08-29 荣耀终端有限公司 Method for preloading applet, electronic device and storage medium
CN116661882B (en) * 2022-11-22 2024-04-16 荣耀终端有限公司 Method for preloading applet, electronic device and storage medium

Similar Documents

Publication Publication Date Title
CN111506262B (en) Storage system, file storage and reading method and terminal equipment
US11386140B2 (en) Story album display method and apparatus
US9582317B2 (en) Method of using use log of portable terminal and apparatus using the same
WO2021088881A1 (en) Picture selecting method and electronic device
US9626126B2 (en) Power saving mode hybrid drive access management
WO2022257748A1 (en) Virtual memory management method and electronic device
CN113553130B (en) Method for executing drawing operation by application and electronic equipment
WO2019075962A1 (en) Icon display method, device, and system
CN114942800A (en) Method and device for accelerating running of application program
WO2022170772A1 (en) Method and device for accelerating running of application
US20240111595A1 (en) Application deployment method, distributed operating system, electronic device, and storage medium
CN116128571B (en) Advertisement exposure analysis method and related device
WO2023016050A1 (en) Card information display method and electronic device
CN115729684B (en) Input/output request processing method and electronic equipment
CN113032290B (en) Flash memory configuration method, flash memory configuration device, electronic equipment and storage medium
CN116156044A (en) Equipment cooperation method and related device
CN114489471A (en) Input and output processing method and electronic equipment
CN114911412A (en) Data reading and writing method and hybrid memory
WO2023174200A1 (en) Interface display method and related device
CN116055443B (en) Method for identifying social scene, electronic equipment and computer readable storage medium
WO2023274025A1 (en) Message processing method and related apparatus
CN116027878B (en) Power consumption adjustment method and electronic equipment
WO2023040670A1 (en) Method for displaying dynamic effect on desktop, and electronic device
Tong et al. Low power design of handheld terminal of independent and controllable satellite mobile communication
CN117692507A (en) Desktop function pushing method and related device

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