CN114174987A - Application program management method and device, electronic equipment and storage medium - Google Patents

Application program management method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN114174987A
CN114174987A CN201980098911.3A CN201980098911A CN114174987A CN 114174987 A CN114174987 A CN 114174987A CN 201980098911 A CN201980098911 A CN 201980098911A CN 114174987 A CN114174987 A CN 114174987A
Authority
CN
China
Prior art keywords
data
application program
application
memory
electronic equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980098911.3A
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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Shenzhen Huantai Technology Co Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Shenzhen Huantai Technology 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 Guangdong Oppo Mobile Telecommunications Corp Ltd, Shenzhen Huantai Technology Co Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Publication of CN114174987A publication Critical patent/CN114174987A/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/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The application relates to an application program management method and device, an electronic device and a storage medium. The method is applied to the electronic equipment, and the electronic equipment is provided with a plurality of application programs. The method comprises the following steps: acquiring current environment data of the current environment of the electronic equipment; acquiring user preference data of each application program, wherein the user preference data is used for indicating the possibility of the application program being called in the corresponding environment; determining an application program to be preloaded in a plurality of application programs according to the current environment data and the user preference data; and loading the starting data of the application program to be preloaded to the memory of the electronic equipment. The method can flexibly determine the pre-loaded application program according to the current environment of the electronic equipment and the user preference data, so that the pre-loaded application program is started in the background in advance, and therefore, when the user opens the pre-loaded application program, the user does not need to reload the starting data, and the starting speed is relatively high.

Description

Application program management method and device, electronic equipment and storage medium Technical Field
The present application relates to the field of electronic communication technologies, and in particular, to an application management method and apparatus, an electronic device, and a storage medium.
Background
With the development of science and technology, electronic devices such as mobile phones and tablet computers are more and more commonly applied in life. Nowadays, the capacities of memories and memories of electronic devices such as mobile phones and the like are increasing, and the number of applications that can be installed in the electronic devices is also increasing, and various different types of applications can be installed in the electronic devices and used by users with different requirements.
When the application programs run, each application program occupies a certain memory, and stores own data in the memory. Along with the operation of the electronic equipment, more and more application programs are used in the operation, more and more memories are occupied, less and less idle memories are occupied, and when the idle memories of the electronic equipment do not meet the memory requirement, the memories occupied by the application programs need to be recycled so as to ensure that the idle memories of the electronic equipment meet the memory requirement. In a conventional memory recovery scheme, a memory occupied by an application program currently running in a foreground is reserved and not recovered, and a memory occupied by other application programs is released. However, according to such a recycling scheme, the data loaded in the memory by the application program is emptied, and the application program needs to reload the data when being opened next time, which makes the opening speed of the application program slow.
Disclosure of Invention
The embodiment of the application program management method and device, electronic equipment and storage medium.
In a first aspect, an embodiment of the present application provides an application management method, which is applied to an electronic device, where the electronic device is configured with a plurality of applications. The method comprises the following steps: acquiring current environment data of the current environment of the electronic equipment; acquiring user preference data of each application program, wherein the user preference data is used for indicating the possibility of the application program being called in the corresponding environment; determining an application program to be preloaded in a plurality of application programs according to the current environment data and the user preference data; and loading the starting data of the application program to be preloaded to the memory of the electronic equipment.
In a second aspect, an application management apparatus is provided in an embodiment of the present application, and is applied to an electronic device, where the electronic device is configured with a plurality of applications. The application program management device comprises an environment data acquisition module, a preference data acquisition module, a preloading determination module and a loading module. The environment data acquisition module is used for acquiring current environment data of the current environment of the electronic equipment; the preference data acquisition module is used for acquiring user preference data of each application program, and the user preference data is used for indicating the possibility of the application program being called in the corresponding environment; the preloading determining module is used for determining the application program to be preloaded in the plurality of application programs according to the current environment data and the user preference data; the loading module is used for loading the starting data of the application program to be preloaded to the memory of the electronic equipment.
In a third aspect, embodiments of the present application provide an electronic device, including one or more processors, a memory, and one or more applications, where the one or more applications are stored in the memory and configured to be executed by the one or more processors, and the one or more programs are configured to perform the application management method described above.
In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, where a program code is stored in the computer-readable storage medium, and the program code is called by a processor to execute the application management method.
According to the application program management method provided by the embodiment of the application program, the pre-loaded application program can be flexibly determined according to the current environment of the electronic equipment and the user preference data, even if the application program is not executed in the foreground, the application program is started in the background in advance in the environment with high use frequency, therefore, when the user opens the pre-loaded application program, the user does not need to reload the starting data, and the starting speed of the application program is relatively high.
Drawings
In order to more clearly illustrate the technical solution of the application, the drawings needed to be used in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the application, and it is obvious for those skilled in the art that other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a schematic view of an application scenario of an application management method according to an embodiment of the present application.
Fig. 2 is a flowchart illustrating an application management method according to an embodiment of the present application.
Fig. 3 is a schematic view of another application scenario of the application management method according to the embodiment of the present application.
Fig. 4 is another schematic flowchart of an application management method according to an embodiment of the present application.
Fig. 5 is a functional module diagram of an application management apparatus according to an embodiment of the present application.
Fig. 6 is a functional block diagram of an electronic device for executing an application management method according to an embodiment of the present application.
Fig. 7 is a storage unit, provided in an embodiment of the present application, for storing or carrying program codes for implementing an application management method in an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
As used in embodiments herein, "communication terminal" (or simply "terminal"), "electronic device" includes, but is not limited to, devices that are configured to receive/transmit communication signals via a wireline connection, such as via a Public Switched Telephone Network (PSTN), a Digital Subscriber Line (DSL), a digital cable, a direct cable connection, and/or another data connection/network, and/or via a wireless interface (e.g., for a cellular network, a Wireless Local Area Network (WLAN), a digital television network such as a DVB-H network, a satellite network, an AM-FM broadcast transmitter, and/or another communication terminal). A communication terminal arranged to communicate over a wireless interface may be referred to as a "wireless communication terminal", a "wireless terminal" and/or an "electronic device". Examples of electronic devices, terminals include, but are not limited to, including satellite or cellular telephones; a Personal Communications System (PCS) terminal that may combine a cellular radiotelephone with data processing, facsimile and data communications capabilities; PDAs that may include radiotelephones, pagers, internet/intranet access, Web browsers, notepads, calendars, and/or Global Positioning System (GPS) receivers; as well as conventional laptop and/or palmtop receivers, gaming consoles, or other electronic devices that include radiotelephone transceivers. The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application.
Nowadays, the capacities of memories and memories of electronic devices such as mobile phones and the like are increasing, and the number of applications that can be installed in the electronic devices is also increasing, and various different types of applications can be installed in the electronic devices and used by users with different requirements.
When the application programs run, each application program occupies a certain memory, and stores own data in the memory. Along with the operation of the electronic equipment, more and more application programs are used in the operation, more and more memories are occupied, less and less idle memories are occupied, and when the idle memory of the electronic equipment does not meet the memory requirement, the memory occupied by the application programs needs to be recycled so as to ensure that the idle memory of the electronic equipment meets the memory requirement.
Many electronic device users may install dozens or even hundreds of applications on the electronic device, and the traditional memory recovery scheme is to keep the memory occupied by the currently foreground running application from being recovered and release the memory occupied by other applications, so as to ensure the smooth running of the foreground application. However, the inventor finds that such a recycling scheme clears the data loaded in the memory by the application program, and other application programs need to reload the data when being opened next time, which makes the opening speed of the application program slow.
The inventor conducts a great deal of repeated research based on the problem, and finds that the protected application program can be set by improving the memory recovery rule, so that the memory occupied by the protected application program is not recovered when the memory is recovered, and the memory occupied by the unprotected application program is recovered, so that the memory can be released, and the loading speed of the protected application program is higher when the protected application program is started next time.
However, the inventor further finds that, based on a fixed memory reclamation rule, a protected application is very limited, and when a user is used to change operations, the memory reclamation scheme cannot significantly improve the starting speed of the application. For example, many application users in the multiple applications of the electronic device are used once or twice and are not used any more, and actually, the most frequently used applications of the users are only a few parts of the applications each day, and the most frequently used application types are only a few types, and the most frequently used application types and the use times of different groups are different, for example, a girl uses a social application and a shopping application every night very frequently, and a boy uses a game application and a news application every night very frequently, so each electronic device user has the most frequently used application of the user and is different from others.
Since each user has the most frequently used applications, the user must be concerned about the usage experience of the frequently used applications, and particularly, it is desirable that the start-up time of the applications be very short. Therefore, the inventor is dedicated to research on how to manage the application programs and the memory allocation scheme according to the use condition of the application programs by the user, and based on the research, the application program management method provided by the embodiment of the application program is provided, in the method, the electronic device is preset with user preference data corresponding to each application program, and the user preference data reflects the use habits of the application programs by the user, for example, reflects the distribution of the use frequency of the application programs in time or/and reflects the distribution of the use frequency of the application programs in scenes; the electronic equipment can acquire current environment data of a current environment, determine an application program to be preloaded in a plurality of application programs according to the current environment data and user preference data, and load starting data of the application program to be preloaded to a memory of the electronic equipment. Therefore, the application management method provided by the embodiment of the application can flexibly determine the preloaded application according to the current environment of the electronic device and the user preference data, and even if the application is not executed in the foreground, the preloaded application is started in the background in a scene with high use frequency in advance, so that when the user opens the preloaded application, the user does not need to reload the startup data, and the startup speed of the application can be remarkably increased.
In a specific application, please refer to fig. 1, fig. 1 is a schematic view illustrating an application scenario of an application management method provided in an embodiment of the present application, where the application management method is applied to an electronic device 100, and the electronic device 100 may be, but is not limited to, an electronic device such as a mobile phone, a tablet computer, a game console, and the like. The electronic device 100 of the present embodiment is described by taking a mobile phone as an example.
The electronic device 100 is configured with a plurality of applications. In the application scenario shown in fig. 1, the electronic device 100 is running the application a in the foreground, and is not running the application in the background, so as to ensure that the electronic device 100 has sufficient memory resources to maintain the normal running of the application a. When the environment data of the electronic device 100 meets the predetermined environment condition, the start data of the application B and the application C are loaded into the memory, that is, the electronic device 100 starts the application B and the application C in the background. The predetermined environmental conditions may include environmental factors such as time conditions, scene conditions, and the like.
For example, in some embodiments, user preference data of each application program is preset in the electronic device 100, where the user preference data is used to indicate how likely the application program is to be invoked in the corresponding environment, the electronic device 100 can determine, according to the current environment data and the user preference data, that the application program B and the application program C are likely to be invoked in the current environment, and load the startup data of the application program B and the application program C into the memory, when the user exits from the foreground application program a, there is a high possibility to start the application program B or the application program C, and when the user starts the application program B or the application program C, since both of the application program B and the application program C have been started in the background in advance, the speed of opening the application program B or the application program C is high. It can be understood from the above application scenarios that, when the application management method is executed, the electronic device 100 may run the application a in the foreground, or may not run any application in the foreground, and is not limited to the description of the embodiment.
Referring to fig. 2, according to the application management method provided in the embodiment of the present application, the preloaded application is determined according to the current environment of the electronic device and the user preference data, so that when the user opens the preloaded application, it is not necessary to reload the startup data, so that the startup speed of the application can be significantly increased. Once the application management method provided in the embodiment of the application is triggered, the flow of the method in the embodiment may be automatically run by the electronic device, where each step may be performed sequentially according to the sequence in the flowchart, or may be performed simultaneously according to a plurality of steps in an actual situation, which is not limited herein. The application management method may include steps S101 to S107.
Step S101: acquiring current environment data of the current environment of the electronic equipment.
The environment data may include at least one of time data and scene data.
For example, if the environment data includes time data, a current time point of the electronic device may be obtained, and the current time point may be used as current environment data of an environment in which the electronic device is currently located. Optionally, a time period to which the current time point belongs may also be used as the current environmental data to improve the adaptability and the fault tolerance rate of the method, wherein the time period is a plurality of sections divided according to the time of day.
For another example, if the environment data includes scene data, a current scene of the electronic device may be obtained, and the current scene may be used as current environment data of an environment where the electronic device is currently located, where the current scene of the electronic device may be determined according to current location information of the electronic device, an environment image of the current environment, and a sound of the current environment.
Step S103: user preference data for each application is obtained.
The electronic device is preset with user preference data corresponding to each application program, and the user preference data reflects the use habit of the user to the application program, for example, reflects the distribution of the use frequency of the application program in time or/and reflects the distribution of the use frequency of the application program in the scene. Thus, the user preference data is used to indicate the amount of likelihood that the application is invoked in the corresponding environment, which may be expressed as a user preference. The application program can be called by a user or other application programs, the higher the user preference degree is, the higher the possibility of indicating that the application is called is, the lower the user preference degree is, the lower the possibility of indicating that the application is called is, and the user preference degree can represent the preference degree of the user on the application program. For any application program, the user preference of the application program in the current environment is determined according to the active time length of the application program in the environment in the historical operation, for example, it is assumed that the current environment data includes time data, and the current time point is 9: 10, the time period is 9: 00-10: 00, the user preference of the application program is operated according to the history 9: 00-10: 00, e.g., based on the application program's 9: 00-10: 00, or, depending on the application program, 9: 00-10: 00, and the like.
Step S105: and determining the application program to be preloaded in the plurality of application programs according to the current environment data and the user preference data.
In this step, the electronic device predicts the application program that the user is most likely to use next, based on the user preference data determined in step S103. For example, according to the use frequency and the use time of each application program, generally, after the electronic device runs the application program, the use time or the exit time is recorded in the background file, and the use time of each application program can be obtained by calling related data through the program. In a specific implementation manner, the application programs to be preloaded may be one or more application programs with a use frequency from high to low, or one or more application programs with a use time closest to a current time, that is, an application program used last time, or one or more application programs with a use scene closest to a current scene, and in addition, the application programs to be preloaded may be obtained by comprehensively determining the use frequency and the use time, which is not limited in the embodiment of the present application.
Alternatively, in addition to the above manner, the electronic device may also predict the application programs to be used next by the user according to the use time of each application program and the current time, for example: the user often uses certain game software from seven to nine points in the evening and uses certain video software after nine points, so that the application program which the user possibly uses in a certain period of time can be predicted.
Step S107: and loading the starting data of the application program to be preloaded to the memory of the electronic equipment.
Based on the application program to be preloaded determined in step S105, the electronic device obtains the startup data of the application program to be preloaded through the network, and loads the startup data into the memory. For example, when the network performance of the electronic device is higher than the preset performance, the starting data of at least one application program to be preloaded is obtained from the network side. The electronic equipment sends a starting data acquisition request to a server corresponding to each application program to be preloaded, and receives starting data returned by the server corresponding to each application program to be preloaded.
In the application program management method provided by the embodiment of the application program, the preloaded application program can be flexibly determined according to the current environment of the electronic device and the user preference data, even if the application program is not executed in the foreground, the application program is started in the background in advance in the environment with high use frequency, so that when the user opens the preloaded application program, the user does not need to reload the startup data, and the startup speed of the application program can be remarkably increased.
Based on the application management method, an embodiment of the present application further provides another application management method, in which user preference data corresponding to each application is preset in the electronic device, and the user preference data reflects a usage habit of a user on the application, for example, reflects a distribution of usage frequency of the application over time, or/and reflects a distribution of usage frequency of the application over scenes; the electronic equipment can acquire current environment data of a current environment, determine an application program to be protected and an application program to be preloaded when the memory is recovered from a plurality of application programs according to the current environment data and user preference data, execute memory recovery operation, and load starting data of the application program to be preloaded to the memory of the electronic equipment. Therefore, the application program management method provided by the embodiment of the application program can flexibly determine the pre-loaded application program and the protected application program according to the current environment of the electronic equipment and the user preference data, and ensure that the memory occupied by the protected application program is not recycled when the memory is recycled, so that the electronic equipment is ensured to have a larger free memory, and the application program is prevented from being blocked; furthermore, by starting the application program to be preloaded in advance, the user does not need to reload the starting data when opening the application program loaded in advance, so that the starting speed of the application program can be increased remarkably, and the running speed of the electronic equipment is improved on the whole.
Referring to fig. 3, in a specific application, the other application management method is applied to the scenario shown in fig. 3. In the application scenario shown in fig. 3, the electronic device 100 is running the application a in the foreground, and running the application B, C, D, E in the background, at this time, the memory utilization of the electronic device 100 is large, which may affect the smoothness of the system running. When the free memory of the electronic device 100 is smaller than the memory threshold, the electronic device 100 can determine, according to the current environment data and the user preference data, that the protected applications are the application a and the application B in the current environment, and determine that the possibility of the application F being invoked is high, then the electronic device 100 executes a memory recovery operation to protect the memories occupied by the application a and the application B and recover the memories occupied by the other applications, and the start data of the application F is loaded into the memories in the electronic device 100, that is, the electronic device 100 starts the application B and the application F at the background at this time. It can be understood from the above application scenarios that, when the application management method is executed, the electronic device 100 may run the application a in the foreground, or may not run any application in the foreground, and is not limited to the description of the embodiment.
Referring to fig. 4, according to another application management method provided in the embodiment of the present application, an application program to be protected and an application program to be preloaded are determined when a memory is recovered according to an environment in which an electronic device is located and user preference data, a memory recovery operation is performed, and start data of the application program to be preloaded is loaded to a memory of the electronic device. Therefore, when the user opens the application program loaded in advance, the starting data does not need to be reloaded, and the starting speed of the application program can be obviously increased. It should be noted that the application management method steps of the embodiments of the present application may be performed in a computer system such as a set of computer executable instructions and that while a logical order is shown in the specification, in some cases the steps shown or described may be performed in an order different than here. In the present embodiment, the application management method may include steps S201 to S211.
Step S201: and determining user preference data corresponding to each application program according to the historical operating data of each application program.
The electronic equipment can generate the operation data of each application program based on the operation state of the application program, and determine the user preference data corresponding to each application program according to the multiple operation data of the application programs, so as to facilitate learning, summarizing and inducing the behavior habits of the user. In some embodiments, step S201 may include steps S2011 to S2015:
step S2011: when the electronic equipment runs, historical running data of each application program is obtained, and the historical running data comprises the active time length and the environment data during running.
The environment data may include at least one of time data and scene data.
For example, if the environment data includes time data, a current time point of the electronic device may be obtained, and a time period to which the time point belongs may be determined, and the time period may be used as current environment data of an environment in which the electronic device is currently located. The time periods may be divided into two or more time periods in advance, for example, the time periods may include a time period corresponding to morning, a time period corresponding to noon, or a time period corresponding to evening, and the duration of each time period may be 8 hours. Alternatively, the time period may be determined according to the physiological work and rest of the user, and the time period in which a certain physiological work and rest action occurs may be taken as the time period, for example, the lunch time period may be taken as one time period, the dinner time period may be taken as one time period, the falling asleep time period may be taken as one time period, and the like. The electronic device may be built in with a plurality of time periods determined according to the rules.
For another example, if the environment data includes scene data, a current scene of the electronic device may be obtained, and the current scene may be used as current environment data of an environment where the electronic device is currently located, where the current scene of the electronic device may be determined according to current location information of the electronic device, an environment image of the current environment, and a sound of the current environment. Specific scenarios may include: the electronic device can be built in a public transportation scene (such as scenes of taking subways, buses, high-speed rails, airplanes and the like), a leisure scene (such as scenes of bedrooms, living rooms, gardens and the like), and a working scene (such as scenes of libraries, study rooms, offices and the like), so that a plurality of scenes determined according to rules can be built in the electronic device.
In some embodiments, the time period and the scene together define a usage environment of the electronic device. For example, if the electronic device is in a bedroom scene in an evening time period, the bedroom scene in the evening time period is considered to define a sleeping environment of the electronic device together, so that the application program to be preloaded and the protected application program are determined according to the user preference data corresponding to the sleeping environment.
The activity duration reflects the activity level of the application program in the environment in historical operation. In this embodiment of the present application, the active duration may be understood as a duration in which the application program is in foreground operation. Whenever an application runs in the foreground for some time, the electronic device may record the length of the activity: when the application program starts to run in the foreground, the electronic device can record the current time point as the starting time point of the active time length, and when the application program finishes to run in the foreground, the electronic device can record the current time point as the ending time point of the active time length, and calculate the time difference between the ending time point and the starting time point to obtain the active time length of the application program which runs in the foreground at this time. For example, when the application 9: 00 start running in foreground, 9: when the operation is finished in the foreground after 10 hours, the record active time length is 10 min.
The specific way of counting the active duration includes: the electronic device may accumulate the active duration of each application program from zero each time the electronic device starts to enter any time period, that is, the current time point is the start point of the time period, when the electronic device leaves the time period, that is, the current time point is the end point of the time period, the electronic device ends accumulating the active duration of each application program in the time period, stores the accumulated active duration of each application program in the time period, starts the next statistical process, and accumulates from zero again, and so on. The method includes the steps that for the process of accumulating the active duration in each time period, each application program can be active once or for multiple times in each time period, when the application program is active for the first time in each time period, the active duration of the application program can be recorded from zero until the application program is suspended to be active, and when the application program is active for the second time to the Nth time, the active duration of the current time can be increased on the basis of the recorded active duration of the application program in the time period.
Exemplarily, assume that the current time point falls in the time period 8: 00-10: 00, if the application a is first active for 5 minutes in the time period, the active duration of the application a is 5 minutes, if the application a is active for the second time for 10 minutes, the active duration of the application a is 5+ 10-15 minutes, if the application a is active for the third time for 8 minutes, the active duration of the application a is 15+ 8-23 minutes, and the current time point reaches 10: 00, then in time period 8: 00-10: 00, the total active time of the application program is 23 minutes; enter the next time period 10: 00-13: 00, the active duration of application a will start counting from 0 again.
Optionally, each time the electronic device obtains an active duration when an application program runs in the foreground at a certain time, the time period and the current date to which the current time point belongs may be obtained as a recording date, the application program identifier and the current scene of the application program are obtained, and a corresponding relationship between the active duration, the time period, the recording date, the current scene and the application program identifier is recorded, so that the active duration may be obtained subsequently according to the corresponding relationship. Illustratively, the electronic device may record a "00: 00-08: 00 (time period), bedroom (scene) 12 months and 7 days (recording date), APP1 (application program identification), 50 minutes (active duration) ".
It should be noted that, the step 201 may be executed by an Activity Management Service (AMS) of the electronic device. The AMS is a core service of the Android operating system, in implementation, program codes of the AMS can be improved, and the program codes for counting the active time of each application program running in the foreground are added into the program codes of the AMS, so that the AMS can realize the function of counting the active time when the program codes are loaded and run.
And the electronic equipment generates the running data of the application program according to the active time length and the current use environment. And generating corresponding operation data and storing the operation data when the application program operates every time. Therefore, the historical operating data of the application program can be continuously updated in the process of continuous use of the user, the application program management method provided by the embodiment of the application program can be facilitated to acquire the user preference data of the application program in a dynamic self-learning mode, and the method is still suitable even if the behavior habits of the user are changed.
Step S2013: and analyzing the historical operating data when the storage time of the historical operating data of the application program exceeds a preset time.
The historical data of the application program can be obtained based on the operation data generated in step S2011, and if the storage time of the historical data is long (for example, greater than or equal to one week), it can be considered that the user forms a relatively stable operation habit, and the historical operation data can be analyzed on the basis, so as to obtain the operation habit of the user on the application program.
Step S2014: user preference data for each application is determined based on historical operating data.
The user preference data reflects the usage habits of the application by the user, for example, the distribution of the usage frequency of the application over time, or/and the distribution of the usage frequency of the application over the scene. Thus, the user preference data is used to indicate the amount of likelihood that the application is invoked in the corresponding environment, which may be expressed as a user preference. The application program can be called by a user or other application programs, the higher the user preference degree is, the higher the possibility of indicating that the application is called is, the lower the user preference degree is, the lower the possibility of indicating that the application is called is, and the user preference degree can represent the preference degree of the user on the application program. For any application program, the user preference of the application program in the current environment is determined according to the active duration of the application program in the environment in the historical running.
When determining the user preference data of the foreground application program in the corresponding historical environment according to the active duration, taking the active duration of a certain application program in the current environment as the user preference data of the application program (namely, the preference degree in the environment), or/and taking the ratio of the active duration of the application program to the sum of the active durations as the user preference data, wherein the sum of the active durations refers to the sum of the active durations of a plurality of application programs corresponding to the environment in the historical operation, so that the statistical accuracy of the user preference data can be improved, and the accuracy of the application program to be preloaded can be ensured when determining the application program to be preloaded based on the user preference data subsequently.
In this embodiment, when determining the user preference data corresponding to each application program according to the historical operating data of each application program, the user preference data of each application program in the corresponding historical environment is determined according to the historical environment data of the environment in which the electronic device is located in the historical operating process of each application program and the active duration of each application program in the historical environment data, so that the personal operating habits of the user can be more accurately counted, and the application programs can be subsequently preloaded according to the personal operating habits of the user. It should be understood that, when each application program runs in the foreground and writes its running data and corresponding current environment data into the historical running data, step S201 may include: when one of the plurality of application programs is started and runs in the foreground, the application program is used as a foreground application program; acquiring environment data of the environment where the electronic equipment is located when a foreground application program runs; acquiring the active duration of a foreground application program corresponding to the environmental data; and determining user preference data of the foreground application program in the corresponding historical environment according to the active duration.
Step S203: acquiring current environment data of the current environment of the electronic equipment.
The environment data may include at least one of time data and scene data. The execution step of acquiring the current environment data may refer to the data and the acquisition means thereof described above.
If the current environment data includes time data, step S203 may include: when the electronic equipment runs, acquiring the current time point of the electronic equipment; and taking the time period to which the current time point belongs as the current environment data of the environment where the electronic equipment is currently located.
If the current environment data includes scene data, a current scene of the electronic device may be obtained, and the current scene may be used as current environment data of an environment where the electronic device is currently located, where the current scene of the electronic device may be determined according to current location information of the electronic device, an environment image of the current environment, and a sound of the current environment.
In some embodiments, the electronic device may further be configured with a voice collecting device, and the voice collecting device is configured to collect voice information in the surrounding environment and send the collected voice information to the electronic device. The electronic device may perform feature extraction on the collected voice information, and input the extracted feature information into a pre-trained scene recognition model to obtain a recognition result, where the recognition result may include a probability that the voice information is collected in a certain predetermined scene. The electronic device can then compare the probability to a probability threshold to determine whether the probability is greater than the probability threshold. In response to the electronic device determining that the probability is greater than the probability threshold, the electronic device can determine that the current usage scenario of the navigation application is the predetermined scenario. For example, specific predetermined scenarios may include: the scene of public transport (for example take scenes such as subway, bus, high-speed railway, aircraft), leisure scene (for example scenes such as bedroom, sitting room, garden), work scene (for example scenes such as library, study, office). The electronic equipment can determine the scene of the environmental voice by acquiring the environmental voice and identifying the characteristics.
In other embodiments, the scene in which the electronic device is located may be determined by combining the positioning information of the electronic device and the environment voice information, or combining the positioning information of the electronic device and the environment image information. For example, the electronic device is further configured with a locator for locating the electronic device to narrow down the range of subsequent scene determination, thereby improving the accuracy of scene determination, and an image acquisition device. The image acquisition device can be used for acquiring image information in the surrounding environment and sending the acquired image information to the electronic equipment. The electronic device may perform feature extraction on the acquired image information, and input the extracted feature information into a pre-trained scene recognition model to obtain a recognition result, where the recognition result may include a probability that the image information is acquired in a certain predetermined scene. The electronic device can then compare the probability to a probability threshold to determine whether the probability is greater than the probability threshold. In response to the electronic device determining that the probability is greater than the probability threshold, the electronic device can determine that the current usage scenario of the navigation application is the predetermined scenario. Based on the method, the electronic equipment can determine the scene where the electronic equipment is located by collecting the environment image and identifying the characteristics and combining the positioning information.
Based on this, step S203 may include: when the electronic equipment runs, acquiring current position information of the electronic equipment, and acquiring an environment image of the current environment of the electronic equipment through a camera of the electronic equipment; determining scene data of the electronic equipment according to the position information and the environment image; and determining current environmental data according to the scene data.
Step S205: user preference data for each application is obtained.
In some embodiments, the electronic device may obtain user preference data corresponding to the current environment data for each application based on the current environment data. Further, if the current environment changes, for example, the current time period changes (for example, the time period is from 8: 00 to 10: 00), or if the current scene changes (for example, the leisure scene is converted into the working scene), the user preference data of the application program is obtained again according to the changed current environment data, so that the method of the application can be executed according to the change of the actual running state of the electronic device and the habit of the user, thereby adapting to different application environments.
Step S207: and determining the application program to be preloaded in the plurality of application programs according to the current environment data and the user preference data.
In this step, the electronic device predicts the most likely application programs to be used next by the user according to the user preference data. In a specific implementation manner, the application programs to be preloaded may be one or more application programs with a use frequency from high to low, or one or more application programs with a use time closest to the current time, that is, an application program used last time, or one or more application programs with a use scene closest to the current scene, and in addition, the first application programs may be obtained by comprehensively determining the use frequency and the use time, which is not limited in this scheme.
The electronic device may also predict the application to be used next by the user according to the use time of each application and the current time, for example: users often use certain game software from seven to nine points in the evening and certain video software after nine points, and accordingly application programs needing to be preloaded and possibly used by the users in a certain period of time can be predicted.
Step S209: and loading the starting data of the application program to be preloaded to the memory of the electronic equipment.
Optionally, in step S209, before or after the start data of the application program is loaded, the memory of the electronic device may be recycled, so as to ensure that the electronic device has more spare memory, thereby ensuring that the system runs more smoothly. Based on this, step S209 may include: determining an application program which does not need to be loaded in a plurality of application programs according to the application program which needs to be loaded, and recycling a memory occupied by the application program which does not need to be loaded; determining starting data of an application program to be preloaded; and loading the startup data to a memory of the electronic device. Determining an application program which does not need to be loaded in the plurality of application programs; and recovering the memory occupied by the application program which does not need to be loaded. The application program determined not to be loaded in the plurality of application programs may be determined according to the user preference of the application program, for example, the application program whose application preference degree under the current environment is smaller than the first preference threshold is determined as the application program not to be loaded.
The electronic device may load the start data of the application program to be preloaded to a memory of the electronic device according to the current environment data (e.g., time data, location information, scene information, etc.).
In some embodiments, if the current environmental data includes time data, the user preference data includes launch time data for the application in historical execution; the electronic equipment determines a loading time point of the starting data of the application program to be preloaded according to the starting time data and the advance duration; the advance time length represents a difference value between a time point of loading the starting data and starting time data of the application program to be preloaded, and the difference value can be any value between 1 minute and 10 minutes, such as 5 minutes; and loading the starting data of the application program to be preloaded to the memory of the electronic equipment at the loading time point.
For example, user preference data shows that a certain news application is at 19: 00, the starting frequency of the news application is higher, and the starting time data of the news application is 19: 00, if the advance time is five minutes, determining that the loading time point of the news application program is 18: 55. if the electronic equipment acquires that the current time is 18: 30, if the current time does not arrive, the start data of the news application program is not loaded, and the process waits for 18: loading the starting data of the news application program at 55 days; if the current time has fallen into 18: 55-19: 00, the start data of the news application program is directly loaded.
In other embodiments, if the current environmental data includes context data (e.g., location information), the user preference data includes a launch location of the application in historical execution; the electronic equipment determines a loading geo-fence of the starting data of the application program to be preloaded according to the starting place in the historical operation and the distance threshold; wherein the distance threshold represents a distance between the start-up location data and a boundary of the loaded geo-fence, which may be any value between 1-1 km, for example 200 m; and when the electronic equipment enters the geo-fence, loading the application program starting data to be preloaded into the memory of the electronic equipment.
For example, the user preference data shows that the starting frequency of a certain car booking application program at a certain determined subway station exit is high, the starting place data of the car booking application program is the subway station exit, the distance threshold is 100 meters, and the loaded geo-fence of the car booking application program is determined to be the geo-fence defined by the 100 meters of the subway station exit. If the electronic equipment acquires that the current location does not fall into the loading geo-fence, starting data of the network appointment application program are not loaded, and the starting data of the network appointment application program are loaded when the previous location falls into the loading geo-fence; and if the current location falls into the loading geo-fence, directly loading the starting data of the network appointment application program.
Step S211: and determining a control scheme for the plurality of application programs according to the free memory of the electronic equipment.
When the electronic equipment runs, determining an idle memory according to a preset period, and determining a control scheme for a plurality of application programs according to the idle memory so as to recycle the memory according to a preset rule and ensure that the electronic equipment has sufficient residual memory to run the application programs.
Alternatively, step S211 may include: when a control scheme for a plurality of application programs is determined according to the free memory, determining the application programs running in the background when the free memory is detected to be smaller than a memory threshold value; determining an application program to be recovered in a plurality of application programs according to the user preference data; and recovering the memory occupied by the application program to be recovered. The application program to be recovered is determined among the plurality of application programs, and may be determined according to a user preference of the application program, for example, the application program whose application preference is smaller than the first preference threshold in the current environment is determined as the application program to be recovered. In this embodiment, this step may be performed by a direct memory recycle mechanism. When any process requests a memory from the electronic equipment and the requested memory exceeds the idle memory, the electronic equipment determines the user preference of each application program running in the background so as to determine the application program to be recycled, provides the application program to be recycled for the process requesting the memory, and transfers the data of the application program to be recycled in the memory to a preset storage space by the process requesting the memory so as to recycle the memory occupied by the application program.
Alternatively, step S211 may include: when detecting that the free memory is smaller than the memory threshold value, determining a protected application program in the plurality of application programs according to the user preference data; and releasing the memory outside the memory occupied by the protected application program, and preferentially allocating the system resources of the electronic equipment to the protected application program. The protected application determined among the plurality of applications may be determined according to user preferences of the applications, for example, the application having the application preference greater than the second preference threshold in the current environment is determined as the protected application. The protected application program is not in conflict with the application program to be preloaded and the application program running in the foreground, and the application programs contained in the protected application program, the application program to be preloaded and the application program running in the foreground can intersect.
In this embodiment, after the memory is released, the electronic device gives the protected application program a privilege to use the system resources, and after the protected application program information is selected from the application list, the system resources are preferentially allocated to the protected application program, so that the quick start and the running smoothness of the application program commonly used by the user in the current environment can be ensured, and the use experience of the user on the electronic device is improved. The preferentially allocating system resources to the application may specifically include at least one of the following operations: 1) the CUP resource of the electronic equipment is preferentially allocated to the protected application program, so that the running speed and the stability of the protected application program can be ensured; 2) the continuous free memory is preferentially allocated to the protected application program, so that the memory recovery and the memory exchange-in and exchange-out of the protected application program when the protected application program applies for the memory are reduced, the use efficiency of the application program on the memory is improved, and the running speed and the stability of the application program are ensured; 3) the method comprises the steps that the preloading item of the application program is always stored in a memory, wherein when the memory is released, the memory resource occupied by the application program is not immediately and completely released, but the preloading item of the application program is stored in a cache, so that when the application program applies for the memory resource next time, the loading data can be directly obtained from the cache; 4) input/output (IO) resources are preferentially allocated to the application program, so that the IO waiting time of the application program is reduced, and slow, stuck and pause conditions of the application program are reduced.
According to the application program management method provided by the embodiment of the application program, the pre-loaded application program and the protected application program can be flexibly determined according to the current environment of the electronic equipment and user preference data, the memory occupied by the protected application program is ensured not to be recycled when the memory is recycled, and the electronic equipment is ensured to have larger free memory and simultaneously the application program is prevented from being blocked; furthermore, by starting the application program to be preloaded in advance, the user does not need to reload the starting data when opening the application program loaded in advance, so that the starting speed of the application program can be increased remarkably, and the running speed of the electronic equipment is improved on the whole.
Since the electronic device is in a changing environment, it is necessary to determine the application program to be preloaded according to the dynamic change of the electronic device, so as to facilitate the dynamic execution of the above method. Therefore, in some embodiments, the application management method of the present application may further include: acquiring current environment data of the current environment of the electronic equipment according to a preset period; determining the data variation of the current environment data; and when the data variation is larger than the variation threshold, re-determining the application program to be preloaded according to the changed current environment data and the user preference data, and loading the re-determined application program to be preloaded. For example, if the current environment data includes location data, when the amount of change in the location of the electronic device is greater than the change threshold, the application program to be preloaded is determined again according to the changed location, and the application program to be preloaded that is determined again is loaded.
Referring to fig. 5, based on the application management method, an application management apparatus 200 according to an embodiment of the present invention is further provided, and fig. 5 is a block diagram illustrating the structure of the application management apparatus 200. The application management apparatus 200 is run in the electronic device 100 shown in fig. 1, and is used for executing the application management method. In the embodiment of the present application, the application management apparatus 200 is stored in a memory of the electronic device 100 and configured to be executed by one or more processors of the electronic device 100.
Specifically in the embodiment shown in fig. 5, the application management apparatus 200 includes an environment data acquisition module 210, a preference data acquisition module 220, a preload determination module 230, and a loading module 240. It is understood that the modules may be program modules running on a computer-readable storage medium, and the purpose and operation of the modules are as follows:
the environment data obtaining module 210 is configured to obtain current environment data of an environment where the electronic device is currently located; the preference data acquiring module 220 is configured to acquire user preference data of each application program, where the user preference data is used to indicate how likely the application program is to be invoked in the corresponding environment; the preload determining module 230 is configured to determine an application program to be preloaded among the plurality of application programs according to the current environment data and the user preference data; the loading module 240 is configured to load the start data of the application program to be preloaded into the memory of the electronic device.
In some embodiments, the application management device 200 further comprises a user preference data creation module 250. The user preference data establishing module 250 is configured to determine user preference data corresponding to each application program according to historical operating data of each application program. Optionally, the user preference data establishing module 250 is configured to, when the electronic device runs, obtain historical running data of each application program, where the historical running data includes an active duration and environment data during running; analyzing historical operating data when the storage time of the historical operating data of the application program exceeds a preset time; and determining user preference data for each application based on the historical operating data.
Optionally, the user preference data establishing module 250 is configured to determine the user preference data of each application program in the corresponding historical environment according to the historical environment data of the environment in which the electronic device is located when each application program runs in the historical environment and the active time length of each application program in the historical environment data. Further, the user preference data establishing module 250 is used for taking one of the plurality of applications as a foreground application when the application is started and runs in the foreground; acquiring environment data of the environment where the electronic equipment is located when a foreground application program runs; acquiring the active duration of a foreground application program corresponding to the environmental data; and determining user preference data of the foreground application program in the corresponding historical environment according to the active duration. When determining the user preference data of the foreground application program in the corresponding historical environment according to the active duration, the user preference data establishing module 250 is configured to use the active duration of the foreground application program as the user preference data; or, the user preference data is used to use a ratio between the active duration and a total active duration sum, wherein the total active duration sum refers to a sum of active durations of the plurality of application programs corresponding to the current environment in the historical operation.
In some embodiments, the environment data obtaining module 210 is further configured to obtain, when the electronic device is running, a current time point of the electronic device, and use the current time point as current environment data of an environment in which the electronic device is currently located.
Further, the loading module 240 is further configured to determine, according to the start time data and the advance time length, a loading time point of start data of the application program to be preloaded; the method comprises the steps that a starting time point of application programs to be preloaded is obtained, wherein the advance time length represents a difference value between the starting time point of loading starting data and the starting time data of the application programs to be preloaded; and the memory is used for loading the application program starting data to be preloaded to the electronic equipment at the loading time point.
Further, the environment data obtaining module 210 is further configured to obtain current location information of the electronic device when the electronic device is running. Acquiring an environment image of the current environment of the electronic equipment through a camera of the electronic equipment, and determining scene data of the electronic equipment according to the position information and the environment image; and for determining current environmental data from the scene data. Optionally, the loading module 240 is further configured to determine a loading geo-fence of the start data of the application program to be preloaded according to the start location data of the electronic device and a distance threshold, where the distance threshold represents a distance between the start location data and a boundary of the loading geo-fence, and when the electronic device enters the geo-fence, load the start data of the application program to be preloaded into a memory of the electronic device.
Further, the environment data obtaining module 210 is further configured to obtain current environment data of the current environment of the electronic device according to a preset period, and determine a data variation of the current environment data. The preload determination module 230 is further configured to re-determine the application program to be preloaded according to the changed current environment data and the user preference data when the data variation is greater than the variation threshold.
In some embodiments, the loading module 240 includes a recycling program determining unit 241, a recycling unit 243, a boot data obtaining unit 245, and a loading unit 247. The recycle program determining unit 241 is configured to determine, among the plurality of application programs, an application program that does not need to be loaded, according to the application program that needs to be loaded; the recovery unit 243 is configured to recover the memory occupied by the application program that does not need to be loaded; the starting data acquiring unit 245 is configured to determine starting data of an application program to be preloaded; the loading unit 247 is configured to load the boot data into a memory of the electronic device.
In some embodiments, the application management apparatus 200 further includes a memory management module 250, and the memory management module 250 is further configured to determine a free memory of the electronic device according to a preset period, and determine a control scheme for the plurality of applications according to the free memory. Optionally, specifically in some embodiments, when determining a control scheme for a plurality of application programs, the memory management module 250 is configured to determine an application program running in a background when detecting that a free memory is smaller than a memory threshold; determining an application program to be recovered in a plurality of application programs according to the user preference data; and recovering the memory occupied by the application program to be recovered. Optionally, in some embodiments, when determining a control scheme for the plurality of applications, the memory management module 250 is configured to determine a protected application among the plurality of applications according to the user preference data when detecting that the free memory is smaller than the memory threshold; releasing the memory except the memory occupied by the protected application program; and preferentially allocating system resources of the electronic device to the protected application.
It can be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described apparatuses and modules may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again. In the several embodiments provided in the present application, the coupling or direct coupling or communication connection between the modules shown or discussed may be through some interfaces, and the indirect coupling or communication connection between the devices or modules may be in an electrical, mechanical or other form.
In addition, functional modules in the embodiments of the present application may be integrated into one processing module, or each of the modules may exist alone physically, or two or more modules are integrated into one module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode.
In a practical application scenario, the electronic device 100 may be used as a smartphone terminal, in which case the electronic device 100 generally further includes one or more (only one shown in fig. 6) of the following components: a processor 102, a memory 104, a capture module 108, an audio circuit 110, an input module 118, a power module 122, and one or more applications, wherein the one or more applications may be stored in the memory 104 and configured to be executed by the one or more processors 102, the one or more programs configured to perform a method as described in the aforementioned method embodiments. The photographing module 108 may include the main control chip 40 described above. It will be understood by those skilled in the art that the structure shown in fig. 6 is merely illustrative and is not intended to limit the structure of the electronic device 100. For example, electronic device 100 may also include more or fewer components than shown in FIG. 6, or have a different configuration than shown in FIG. 6.
Processor 102 may include one or more processing cores. The processor 102 interfaces with various components throughout the electronic device 100 using various interfaces and circuitry to perform various functions of the electronic device 100 and process data by executing or executing instructions, programs, code sets, or instruction sets stored in the memory 104 and invoking data stored in the memory 104. Alternatively, the processor 102 may be implemented in hardware using at least one of Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), and Programmable Logic Array (PLA). The processor 102 may integrate one or more of a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), a modem, and the like. Wherein, the CPU mainly processes an operating system, a user interface, an application program and the like; the GPU is used for rendering and drawing display content; the modem is used to handle wireless communications. It is understood that the modem may not be integrated into the processor 102, but may be implemented by a communication chip.
The Memory 104 may include a Random Access Memory (RAM) or a Read-Only Memory (Read-Only Memory). The memory 104 may be used to store instructions, programs, code sets, or instruction sets. The memory 104 may include a stored program area and a stored data area, wherein the stored program area may store instructions for implementing an operating system, instructions for implementing at least one function (such as a touch function, a sound playing function, an image playing function, etc.), instructions for implementing various method embodiments described below, and the like. The data storage area may also store data created by the electronic device 100 during use (e.g., phone book, audio-video data, chat log data), and the like.
The shooting module 108 is used for performing shooting tasks, such as taking pictures, videos, or making video phone calls. The audio circuitry 110, speaker 101, sound jack 103, microphone 105 collectively provide an audio interface between a user and the electronic device 100. Specifically, audio circuitry 110 receives sound data from processor 102, converts the sound data to an electrical signal, and transmits the electrical signal to speaker 101. The speaker 101 converts the electric signal into a sound wave that can be heard by the human ear. The audio circuitry 110 also receives electrical signals from the microphone 105, converts the electrical signals to sound data, and transmits the sound data to the processor 102 for further processing.
In this embodiment, the input module 118 may include a touch screen 109 disposed on the touch screen 30, and the touch screen 109 may collect a touch operation performed by a user on or near the touch screen 109 (e.g., an operation performed by the user on or near the touch screen 109 using any suitable object or accessory such as a finger, a stylus, etc.) and drive a corresponding connection device according to a preset program. In addition to the touch screen 109, in other variations, the input module 118 may include other input devices, such as keys 107 or a microphone 105. The keys 107 may include, for example, character keys for inputting characters, and control keys for triggering control functions. Examples of control buttons include a "back to home" button, a power on/off button, and the like. The microphone 105 may be used to receive voice commands of the user.
The touch screen 30 is used to display information input by a user, information provided to the user, and various graphical user interfaces of the electronic device 100, which may be composed of graphics, text, icons, numbers, video, and any combination thereof, and in one example, the touch screen 109 may be provided on the touch screen 30 so as to be integrated with the touch screen 30.
The power module 122 is used to provide a supply of power to the processor 102 and other components. Specifically, power module 122 may include a power management device, one or more power sources (e.g., batteries or ac power), a charging circuit, a power failure detection circuit, an inverter, a power status indicator light, and any other components associated with the generation, management, and distribution of power within electronic components or touch screen 30.
It should be understood that the electronic device 100 described above is not limited to a smartphone terminal, but it should refer to a computer device that can be used in mobile. Specifically, the electronic device 100 is a mobile computer device equipped with an intelligent operating device, and the electronic device 100 includes, but is not limited to, a smart phone, a smart watch, a notebook, a tablet computer, a POS device, and even a vehicle-mounted computer.
Referring to fig. 7, a block diagram of a computer-readable storage medium according to an embodiment of the present application is shown. The computer-readable storage medium 800 has stored therein program code that can be invoked by a processor to perform the methods described in the method embodiments above.
The computer-readable storage medium 800 may be an electronic memory such as a flash memory, an EEPROM (electrically erasable programmable read only memory), an EPROM, a hard disk, or a ROM. Alternatively, the computer-readable storage medium 800 includes a non-transitory computer-readable storage medium. The computer readable storage medium 800 has storage space for program code 810 to perform any of the method steps of the method described above. The program code can be read from or written to one or more computer program products. The program code 810 may be compressed, for example, in a suitable form.
In the description herein, reference to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., means that a particular feature or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present application. In this specification, particular features or characteristics described may be combined in any one or more embodiments or examples as appropriate. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
The logic and/or steps represented in the flowcharts or otherwise described herein, such as an ordered listing of executable instructions that can be considered to implement logical functions, can be embodied in any computer-readable storage medium for use by or in connection with an instruction execution apparatus, device, or device (e.g., a computer-based apparatus, processor-containing apparatus, or other apparatus that can fetch the instructions from the instruction execution apparatus, device, or device and execute the instructions). For the purposes of this description, a "computer-readable storage medium" can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution apparatus, device, or apparatus. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection (electronic device) having one or more wires, a portable computer diskette (magnetic device), a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disc read-only memory (CDROM). Additionally, the computer-readable storage medium may even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
It should be understood that portions of the present application may be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, the various steps or methods may be implemented in software or firmware stored in memory and executed by suitable instruction execution devices. For example, if implemented in hardware, as in another embodiment, any one or combination of the following techniques, which are known in the art, may be used: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application specific integrated circuit having an appropriate combinational logic gate circuit, a Programmable Gate Array (PGA), a Field Programmable Gate Array (FPGA), or the like.
It will be understood by those skilled in the art that all or part of the steps carried by the method for implementing the above embodiments may be implemented by hardware that is related to instructions of a program, and the program may be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments. In addition, functional units in the embodiments of the present application may be integrated into one processing module, or each unit may exist alone physically, or two or more units are integrated into one module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode. The integrated module, if implemented in the form of a software functional module and sold or used as a separate product, may also be stored in a computer readable storage medium.
The storage medium mentioned above may be a read-only memory, a magnetic or optical disk, etc. Although embodiments of the present application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present application, and that variations, modifications, substitutions and alterations may be made to the above embodiments by those of ordinary skill in the art within the scope of the present application.
Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present application, and not to limit the same; although the present application has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not necessarily depart from the spirit and scope of the corresponding technical solutions in the embodiments of the present application.

Claims (20)

  1. An application management method applied to an electronic device configured with a plurality of applications, the method comprising:
    acquiring current environment data of the environment where the electronic equipment is located;
    acquiring user preference data of each application program, wherein the user preference data is used for indicating the possibility of the application program being called in the corresponding environment;
    determining an application program to be preloaded in the plurality of application programs according to the current environment data and the user preference data; and
    and loading the starting data of the application program to be preloaded to the memory of the electronic equipment.
  2. The method of claim 1, wherein prior to obtaining user preference data for each of the applications, the method further comprises:
    and determining user preference data corresponding to each application program according to the historical operating data of each application program.
  3. The method of claim 2, wherein determining the user preference data for each of the applications based on historical operating data for each of the applications comprises:
    when the electronic equipment runs, acquiring historical running data of each application program, wherein the historical running data comprises active duration and running environment data;
    when the storage time of the historical operating data of the application program exceeds a preset time, analyzing the historical operating data; and
    and determining user preference data of each application program according to the historical operating data.
  4. The method according to any one of claims 2 to 3, wherein the determining the user preference data corresponding to each of the applications according to the historical operating data of each of the applications comprises:
    and determining the user preference data of each application program in the corresponding historical environment according to the historical environment data of the environment where the electronic equipment is located and the active time length of each application program in the historical environment data when each application program runs in a historical mode.
  5. The method of claim 4, wherein determining the user preference data of each of the applications in the current environment according to historical environment data of the environment in which the electronic device is located when each of the applications is running in the history and the active duration of each of the applications in the historical environment data comprises:
    when one of the application programs is started and runs in the foreground, the application program is used as a foreground application program;
    acquiring environment data of the environment where the electronic equipment is located when the foreground application program runs;
    acquiring the active duration of the foreground application program corresponding to the environment data; and
    and determining the user preference data of the foreground application program in the corresponding historical environment according to the active duration.
  6. The method of claim 5, wherein said determining user preference data for the foreground application in the corresponding historical environment based on the length of activity comprises:
    taking the active duration of the foreground application as the user preference data; or the like, or, alternatively,
    and taking the ratio of the active duration to the sum of the active durations as the user preference data, wherein the sum of the active durations refers to the sum of the active durations of the plurality of application programs corresponding to the current environment in historical operation.
  7. The method of any one of claims 1-6, wherein the current environment data includes time data, and wherein obtaining current environment data of an environment in which the electronic device is currently located comprises:
    when the electronic equipment runs, acquiring the current time point of the electronic equipment; and
    and taking the current time point as the current environment data of the environment where the electronic equipment is currently located.
  8. The method of claim 7, wherein the user preference data comprises launch time data for the application in historical execution; the loading the starting data of the application program to be preloaded to the memory of the electronic equipment comprises:
    determining a loading time point of the starting data of the application program to be preloaded according to the starting time data and the advance duration; the advance time length represents a difference value between the time point of loading the starting data and the starting time data of the application program to be preloaded;
    and loading the application program starting data to be preloaded to the memory of the electronic equipment at the loading time point.
  9. The method of any one of claims 1-8, wherein the current environment data includes scene data, and wherein the obtaining current environment data of an environment in which the electronic device is currently located includes:
    when the electronic equipment runs, acquiring the current position information of the electronic equipment;
    acquiring an environment image of the current environment of the electronic equipment through a camera of the electronic equipment;
    determining scene data of the electronic equipment according to the position information and the environment image; and
    and determining the current environment data according to the scene data.
  10. The method of claim 9, wherein the user preference data comprises launch location data for the application in historical execution; the loading the starting data of the application program to be preloaded to the memory of the electronic equipment comprises:
    determining a loading geo-fence of starting data of an application program to be preloaded according to the starting place data of the electronic equipment and a distance threshold, wherein the distance threshold represents a distance between the starting place data and a boundary of the loading geo-fence; and
    and when the electronic equipment enters the geo-fence, loading application program starting data to be preloaded into a memory of the electronic equipment.
  11. The method of any one of claims 1 to 10, further comprising:
    acquiring current environment data of the current environment of the electronic equipment according to a preset period;
    determining a data variation of the current environmental data; and
    and when the data variation is larger than a variation threshold, re-determining the application program to be preloaded according to the changed current environment data and the user preference data, and loading the re-determined application program to be preloaded.
  12. The method according to any one of claims 1 to 11, wherein the loading the starting data of the application program to be preloaded to the memory of the electronic device comprises:
    determining an application program which does not need to be loaded in the plurality of application programs according to the application program which needs to be loaded;
    recycling the memory occupied by the application program which does not need to be loaded;
    determining starting data of an application program to be preloaded; and
    and loading the starting data to a memory of the electronic equipment.
  13. The method of any one of claims 1 to 12, further comprising:
    when the electronic equipment runs, determining the idle memory of the electronic equipment according to a preset period; and
    and determining a control scheme for the plurality of application programs according to the free memory.
  14. The method of claim 13, wherein said determining a control scheme for a plurality of said applications based on said free memory comprises:
    when detecting that the free memory is smaller than the memory threshold value, determining an application program running in a background;
    determining an application program to be recycled from the plurality of application programs according to the user preference data; and
    and recovering the memory occupied by the application program to be recovered.
  15. The method according to any one of claims 13 to 14, wherein the determining a control scheme for a plurality of the applications according to the free memory comprises:
    when detecting that the free memory is smaller than a memory threshold value, determining a protected application program in the plurality of application programs according to the user preference data;
    releasing the memory except the memory occupied by the protected application program; and
    and preferentially allocating system resources of the electronic equipment to the protected application program.
  16. An application management apparatus applied to an electronic device configured with a plurality of applications, the application management apparatus comprising:
    the environment data acquisition module is used for acquiring current environment data of the environment where the electronic equipment is located;
    the preference data acquisition module is used for acquiring user preference data of each application program, and the user preference data is used for indicating the possibility of the application program being called in the corresponding environment;
    the preloading determining module is used for determining the application programs to be preloaded in the plurality of application programs according to the current environment data and the user preference data; and
    and the loading module is used for loading the starting data of the application program to be preloaded to the memory of the electronic equipment.
  17. The application management apparatus of claim 16, wherein the loading module comprises:
    a recovery program determining unit, configured to determine, according to an application program to be loaded, an application program that does not need to be loaded among the plurality of application programs;
    the recovery unit is used for recovering the memory occupied by the application program which does not need to be loaded;
    the starting data acquisition unit is used for determining the starting data of the application program to be preloaded; and
    and the loading unit is used for loading the starting data to the memory of the electronic equipment.
  18. The application management device of claim 16, wherein the application management device further comprises:
    a free memory detection module, configured to determine a free memory of the electronic device according to a preset period when the electronic device operates, and
    an application program control module for determining a control scheme for the plurality of application programs according to the free memory
  19. An electronic device, wherein the electronic device comprises one or more processors, memory, and one or more applications, wherein the one or more applications are stored in the memory and configured to be executed by the one or more processors, and wherein the one or more programs are configured to perform the application management method of any of claims 1-15.
  20. A computer-readable storage medium, characterized in that a program code is stored in the computer-readable storage medium, which program code can be called by a processor to execute the application management method of any of claims 1-15.
CN201980098911.3A 2019-10-21 2019-10-21 Application program management method and device, electronic equipment and storage medium Pending CN114174987A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/112319 WO2021077261A1 (en) 2019-10-21 2019-10-21 Application program management method and apparatus, electronic device, and storage medium

Publications (1)

Publication Number Publication Date
CN114174987A true CN114174987A (en) 2022-03-11

Family

ID=75619305

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980098911.3A Pending CN114174987A (en) 2019-10-21 2019-10-21 Application program management method and device, electronic equipment and storage medium

Country Status (2)

Country Link
CN (1) CN114174987A (en)
WO (1) WO2021077261A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114661377A (en) * 2022-03-31 2022-06-24 四川酷比通信设备有限公司 Software preloading method based on position information and preloading system thereof
CN115016884A (en) * 2022-07-21 2022-09-06 维沃移动通信有限公司 Application program control method, device, equipment and medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113568745A (en) * 2021-07-23 2021-10-29 Oppo广东移动通信有限公司 Hardware resource control method, device, storage medium and terminal
CN116048648B (en) * 2022-07-28 2024-04-05 荣耀终端有限公司 Application preloading method, application starting method and electronic equipment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106843961A (en) * 2017-01-19 2017-06-13 上海斐讯数据通信技术有限公司 System and its application method that a kind of application program of mobile phone is preloaded and cleared up
CN109947495A (en) * 2017-12-20 2019-06-28 广东欧珀移动通信有限公司 Application program preloads method, apparatus, storage medium and mobile terminal
WO2019171237A1 (en) * 2018-03-05 2019-09-12 Tensera Networks Ltd. Application preloading in the presence of user actions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114661377A (en) * 2022-03-31 2022-06-24 四川酷比通信设备有限公司 Software preloading method based on position information and preloading system thereof
CN115016884A (en) * 2022-07-21 2022-09-06 维沃移动通信有限公司 Application program control method, device, equipment and medium

Also Published As

Publication number Publication date
WO2021077261A1 (en) 2021-04-29

Similar Documents

Publication Publication Date Title
CN114174987A (en) Application program management method and device, electronic equipment and storage medium
US11442747B2 (en) Method for establishing applications-to-be preloaded prediction model based on preorder usage sequence of foreground application, storage medium, and terminal
KR102424030B1 (en) Resource management method and terminal device
EP3502878B1 (en) Method for preloading application and terminal device
CN108762831B (en) Application program preloading method and device, storage medium and terminal
CN111078406B (en) Memory management method and device, storage medium and electronic equipment
CN107835311B (en) Application management method and device, storage medium and electronic equipment
US20140075430A1 (en) Information backup method and apparatus
CN110018858B (en) Application management method and device based on voice control
CN111158910A (en) Memory management method and device, storage medium and electronic equipment
EP3849247A1 (en) Electronic device and method for operating the same
CN103218224A (en) Method and terminal for improving utilization ratio of memory space
US20220068272A1 (en) Context-based dynamic tolerance of virtual assistant
CN107885545B (en) Application management method and device, storage medium and electronic equipment
CN103250425A (en) Method and apparatus for simultaneously presenting at least two multimedia contents on a processing device
EP3817339A2 (en) Method and system for management of an artificial intelligence development platform
CN105786539B (en) File downloading method and device
CN109857550A (en) Resource allocation method, device, equipment and storage medium based on machine learning
CN114095776A (en) Screen recording method and electronic equipment
CN111475299A (en) Memory allocation method and device, storage medium and electronic equipment
CN103198252B (en) Device and method for the control information for managing the application program in portable terminal
CN108762838B (en) Application program preloading method and device, storage medium and terminal
CN114489986A (en) Task scheduling method and device, terminal equipment and storage medium
CN114625699A (en) Identification and reconstruction of previously presented material
CN111381953A (en) Process management method, device, storage medium and electronic equipment

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