CN108762844B - Application program preloading method and device, storage medium and terminal - Google Patents

Application program preloading method and device, storage medium and terminal Download PDF

Info

Publication number
CN108762844B
CN108762844B CN201810532724.9A CN201810532724A CN108762844B CN 108762844 B CN108762844 B CN 108762844B CN 201810532724 A CN201810532724 A CN 201810532724A CN 108762844 B CN108762844 B CN 108762844B
Authority
CN
China
Prior art keywords
application
application program
preloading
target
prediction model
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.)
Expired - Fee Related
Application number
CN201810532724.9A
Other languages
Chinese (zh)
Other versions
CN108762844A (en
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
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201810532724.9A priority Critical patent/CN108762844B/en
Publication of CN108762844A publication Critical patent/CN108762844A/en
Priority to PCT/CN2019/085506 priority patent/WO2019228134A1/en
Application granted granted Critical
Publication of CN108762844B publication Critical patent/CN108762844B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

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)
  • User Interface Of Digital Computer (AREA)

Abstract

The embodiment of the application discloses an application program preloading method, an application program preloading device, a storage medium and a terminal. The method comprises the following steps: when an application preloading event is triggered, determining a target candidate application set by adopting a first-class prediction model; determining a target application program to be preloaded contained in the target candidate application set by adopting a second type of prediction model corresponding to the target candidate application set; and preloading the target application program. By adopting the technical scheme, the application can adopt two different prediction models to carry out staged prediction, and the accuracy of application program prediction is improved.

Description

Application program preloading method and device, storage medium and terminal
Technical Field
The embodiment of the application relates to the technical field of application program loading, in particular to an application program preloading method, an application program preloading device, a storage medium and a terminal.
Background
At present, terminals such as smart phones, tablet computers, notebook computers, and smart appliances have become essential electronic devices in people's daily life. With the continuous intellectualization of the terminal equipment, the operating system is loaded in most terminal equipment, so that the terminal equipment can install abundant and various application programs and meet different requirements of users.
With the continuous improvement of the configuration of the terminal device, dozens or even hundreds of application programs can be installed in most terminal devices, and with the increasing abundance of the functions of the application programs, more and more resources are needed to be loaded when the application programs run. When a user selects to start an application program, a terminal loads resources required by the start of the application program, and after the loading is completed, an initial interface of the application program is entered, the whole process usually takes several seconds or even tens of seconds, so that the start efficiency of the application program is low, and improvement is needed urgently.
Disclosure of Invention
The embodiment of the application provides an application program preloading method, an application program preloading device, a storage medium and a terminal, and a preloading scheme of the application program can be optimized.
In a first aspect, an embodiment of the present application provides an application preloading method, including:
when an application preloading event is triggered, determining a target candidate application set by adopting a first-class prediction model;
determining a target application program to be preloaded contained in the target candidate application set by adopting a second type of prediction model corresponding to the target candidate application set;
and preloading the target application program.
In a second aspect, an embodiment of the present application provides an application preloading device, including:
the application set determining module is used for determining a target candidate application set by adopting a first-class prediction model when detecting that an application preloading event is triggered;
the target application determining module is used for determining a target application program to be preloaded contained in the target candidate application set by adopting a second type of prediction model corresponding to the target candidate application set;
and the preloading module is used for preloading the target application program.
In a third aspect, an embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements an application preloading method according to an embodiment of the present application.
In a fourth aspect, an embodiment of the present application provides a terminal, including a memory, a processor, and a computer program stored on the memory and executable on the processor, where the processor executes the computer program to implement the application preloading method according to the embodiment of the present application.
According to the application program preloading scheme provided in the embodiment of the application program preloading method, when an application preloading event is triggered, a target candidate application set is determined by adopting a first type of prediction model, then a target application program to be preloaded included in the target candidate application set is determined by adopting a second type of prediction model corresponding to the target candidate application set, and the target application program is preloaded. By adopting the technical scheme, two different prediction models can be adopted for carrying out staged prediction, and the accuracy of application program prediction is improved.
Drawings
Fig. 1 is a schematic flowchart of an application preloading method according to an embodiment of the present application;
FIG. 2 is a diagram illustrating a relative position relationship between a preloaded active window stack and a display area of a display screen according to an embodiment of the present disclosure;
FIG. 3 is a diagram illustrating a relative position relationship between a preloaded active window stack and a display area of a display screen according to an embodiment of the present application;
fig. 4 is a schematic diagram of application interface migration according to an embodiment of the present application;
FIG. 5 is a flowchart illustrating another application preloading method according to an embodiment of the present application;
FIG. 6 is a flowchart illustrating a method for preloading an application according to an embodiment of the present application;
fig. 7 is a block diagram illustrating an application preloading apparatus according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of a terminal according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of another terminal provided in the embodiment of the present application.
Detailed Description
The technical scheme of the application is further explained by the specific implementation mode in combination with the attached drawings. It is to be understood that the specific embodiments described herein are merely illustrative of the application and are not limiting of the application. It should be further noted that, for the convenience of description, only some of the structures related to the present application are shown in the drawings, not all of the structures.
Before discussing exemplary embodiments in more detail, it should be noted that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although a flowchart may describe the steps as a sequential process, many of the steps can be performed in parallel, concurrently or simultaneously. In addition, the order of the steps may be rearranged. The process may be terminated when its operations are completed, but may have additional steps not included in the figure. The processes may correspond to methods, functions, procedures, subroutines, and the like.
Fig. 1 is a flowchart of an application preloading method according to an embodiment of the present application, where the method may be performed by an application preloading device, where the device may be implemented by software and/or hardware, and may be generally integrated in a terminal. As shown in fig. 1, the method includes:
step 101, when detecting that an application preloading event is triggered, determining a target candidate application set by adopting a first-class prediction model.
For example, the terminal in the embodiment of the present application may include terminal devices such as a mobile phone, a tablet computer, a notebook computer, and an intelligent appliance. The terminal is loaded with an operating system.
For example, the trigger condition of the application preloading event may be set according to an actual situation, and the embodiment of the present application is not particularly limited. For example, an application preloading event may be triggered when detecting that a user's action satisfies a preset condition (e.g., picking up a terminal, inputting a screen unlocking operation, inputting a terminal unlocking operation, or the like); or when detecting that the foreground application program is changed, triggering an application preloading event; or after the prediction process of the preloaded application is finished, an application preloading event can be triggered immediately (or after a preset time length is passed); or may be triggered at timed intervals, etc. After the application preloading event is triggered, the system may detect that the application preloading event is triggered by reading a flag bit or receiving a trigger instruction, and the like, and the specific detection method is not limited in this embodiment of the application.
In the embodiment of the application, before it is detected that the application preloading event is triggered, or before it is detected that the application preloading event is triggered, candidate application programs installed in the terminal may be divided to obtain a plurality of candidate application program sets. The candidate applications may include all applications installed in the terminal and may also include part of the applications. The part of the application programs may include application programs frequently used by the user and may also include third-party application programs, that is, the part of the application programs may not include application programs rarely used by the user or may not include system application programs. The determination mode and the number of the candidate application programs are not limited in the embodiment of the application. Optionally, the candidate application program may be determined according to the number of times of use and/or the use duration of each application program in a preset time period before the current time, where the preset time period is, for example, 1 month, and when the number of times of use and/or the use duration exceed a corresponding threshold, the corresponding application program is determined as the candidate application program, or the application programs are sorted according to the number of times of use and/or the use duration, and the application program with the highest ranking is determined as the candidate application program.
In the embodiment of the present application, the dividing manner of the candidate application set is not limited. For example, the applications may be divided according to application types, that is, the applications belonging to the same type are divided into candidate application sets corresponding to the types, where the application does not limit the division rules of the application types, for example, the applications may be divided into social categories, office categories, game categories, shopping categories, property categories, photography and video categories, education categories, and the like according to the personal needs of the user or default categories in the application store; or dividing according to the use frequency of the application program in the historical use period, for example, setting a plurality of use frequency intervals, dividing into a certain frequency interval according to the use frequency of the application program in the historical period (such as in about 1 month), wherein each frequency interval corresponds to a candidate application program set; clustering can also be performed on training samples for model training, for example, a K-nearest neighbor (KNN) algorithm is adopted for clustering, and division of candidate application sets is performed according to a clustering result; the application programs belonging to the same folder are divided into candidate application program sets corresponding to the folder, and the names of the folders can be named as the corresponding candidate application program sets; the desktop interface may also be divided, that is, the application programs corresponding to the application icons belonging to the same desktop interface are divided into the candidate application program set corresponding to the desktop interface, and the serial number of the desktop may be used as the name of the corresponding candidate application program set. In addition, the dividing mode of the candidate application program set can also be freely set by a user, for example, a dividing list is maintained in the terminal, and the user can add the application program to each candidate application program set according to the actual requirement of the user.
In the embodiment of the application, the first type of prediction model is used for predicting which candidate application set the application program to be started by the user belongs to. The first prediction model may be a machine learning model, and the algorithm used may include a Recurrent Neural Networks (RNN), a long short-Term Memory (LSTM) Network, a Deep Neural Network (DNN), a threshold cycle unit, a simple cycle unit, an auto-encoder, a decision tree, a random forest, a feature mean classification, a classification regression tree, a hidden markov, a K-nearest neighbor (KNN) algorithm, a logistic regression model, a bayesian model, a gaussian model, and a KL divergence (Kullback-Leibler divergence), among others.
Optionally, in a process that a user uses the terminal, a first training sample may be acquired, and a sample label corresponding to the first training sample is recorded, where the sample label is a candidate application set to which an application program opened at the training sample acquisition time belongs, or a candidate application set to which an application program opened after the sample acquisition time (which may be within a set time duration, for example, within 10 minutes) belongs, and a preset initial model is trained by using the first training sample and the corresponding sample label, so as to finally obtain a first-class prediction model for predicting which candidate application set the application program to be preloaded belongs to. For example, the elements included in the first training sample may include the time, place, frequency, etc. when the application was opened; the method can include the running state of the terminal, such as the on-off state of a mobile data network, the connection state of a wireless hotspot, the identity information of the connected wireless hotspot, the currently running application program, the previous foreground application program, the stay time of the current application program in the background, the last time the current application program is switched to the background, the plugging state of an earphone jack, the charging state, the battery power information, the screen display time and the like; and the data collected by sensors integrated in the terminal can be included, such as a motion sensor, a light sensor, a temperature sensor, a humidity sensor and the like.
For example, a suitable sample element may be selected according to the selected machine learning model, the selected machine learning model may be determined according to the selected sample element, and the model and the sample element may be selected according to requirements on prediction accuracy, a preset speed, and the like, which is not limited in the embodiment of the present application.
For example, the first current sample may be acquired according to sample elements included in the first training sample, the first current sample is input into the first class prediction model, and the target candidate application set is determined according to an output result of the first class prediction model. Optionally, the output result of the first-class prediction model may be a hit probability of each candidate application set, and the candidate application set with a higher or highest hit probability is determined as the target candidate application set. The target candidate application set may be one or more, and the embodiment of the present application is not limited.
And step 102, determining a target application program to be preloaded contained in the target candidate application set by adopting a second type of prediction model corresponding to the target candidate application set.
In the embodiment of the application, before it is detected that an application preloading event is triggered, or before it is detected that the application preloading event is triggered, model training is performed on each candidate application set to obtain a second type prediction model corresponding to each candidate application set, where the second type prediction model is used to predict an application program to be started by a user and included in the corresponding candidate application set. The second prediction model may be a machine learning model, and the algorithm used may include a Recurrent Neural Networks (RNN), Deep Neural Networks (DNN), Long Short-Term Memory (LSTM) networks, threshold-cycle units, simple-cycle units, auto-encoders, decision trees, random forests, feature mean classifications, classification regression trees, hidden markov, K-nearest neighbor (KNN) algorithms, logistic regression models, bayesian models, gaussian models, and KL-divergence (Kullback-Leibler) and the like. The algorithm used by the second type of prediction model may be the same as or different from that of the first type of prediction model, and the embodiment of the present application is not limited.
Optionally, in a process that a user uses the terminal, a second training sample may be acquired, and a sample flag corresponding to the second training sample is recorded, where the sample flag is an application program opened at the training sample acquisition time, or an application program opened after the sample acquisition time (which may be within a set time duration, for example, within 10 minutes) (the opened application program belongs to a corresponding candidate application set), and a preset initial model corresponding to the current candidate application set is trained by using the first training sample and the corresponding sample flag, so as to finally obtain a second-class prediction model for predicting the application program to be preloaded. For example, the elements included in the second training sample may include the time, place, frequency, etc. when the application was opened; the method can comprise the running state of a terminal, the on-off state of a mobile data network, the connection state of a wireless hotspot, the identity information of the connected wireless hotspot, a currently running application program, a previous foreground application program, the stay time of the current application program in the background, the time for the current application program to be switched to the background last time, the plugging and unplugging state of an earphone jack, the charging state, the battery power information, the screen display time and the like; and the data collected by sensors integrated in the terminal can be included, such as a motion sensor, a light sensor, a temperature sensor, a humidity sensor and the like. In the embodiment of the present application, the elements included in the second training sample may be the same as or different from the elements included in the first training sample. In some embodiments, the number of element types contained in the first training sample is smaller than the number of element types contained in the second training sample, which is beneficial in that since the first type of prediction model is used for rough prediction, the time cost for model training and applying the model for prediction can be reduced by reducing the sample amount, and the prediction speed is improved.
For example, a second current sample may be acquired according to sample elements included in a second training sample, the second current sample is input into a second type of prediction model corresponding to the target candidate application set, and the target application program to be preloaded is determined according to an output result of the second type of prediction model. Optionally, the output result of the second-class prediction model may be a start probability of each application program corresponding to the candidate application set, and the application program with the higher start probability or the highest start probability is determined as the target application program. The launch probability includes a probability that the application is about to be opened.
And 103, preloading the target application program.
In the embodiment of the application, when only one target application program exists, the preloading sequence of the application is not required to be considered; when there are multiple target application programs, the multiple target application programs may be determined one by one as the current application program to be preloaded, and the preloading operation is performed sequentially, or more than 2 target application programs may be determined as the current application program to be preloaded, and the preloading operation is performed simultaneously, that is, the preloading processes of the multiple application programs may be performed in parallel.
In the embodiment of the present application, the specific process of preloading and the loaded resources are not limited, for example, corresponding hardware resources may be allocated to the target application program to be preloaded, and relevant data required for starting is loaded based on the allocated hardware resources. The method comprises the following steps of starting an application process, starting an application service, allocating memory, reading file content, acquiring network data, rendering an interface and the like. Furthermore, the resources to be preloaded may be determined according to the specific type of application to be preloaded. For example, if the application to be preloaded is a social software, a start screen, a contact list, a recent message record, and the like in the application may be preloaded; if the application program to be preloaded is a game, the game background related data in the application program can be preloaded.
Optionally, after the target application program is preloaded, when an operation instruction of the target application program is received, the target application program corresponding to the operation instruction is started based on the preloaded resource.
According to the application program preloading method provided in the embodiment of the application program preloading method, when the application preloading event is triggered, the first-class prediction model is adopted to determine the target candidate application set, then the second-class prediction model corresponding to the target candidate application set is adopted to determine the target application program to be preloaded in the target candidate application set, and the target application program is preloaded. By adopting the technical scheme, two different prediction models can be adopted for carrying out staged prediction, and the accuracy of application program prediction is improved.
In some embodiments, the determining the target candidate application set using the first type of prediction model includes: acquiring a current use time sequence correlation sequence of a foreground application program, wherein the current use time sequence correlation sequence comprises a sequence formed by the foreground application program and at least one application program used before the foreground application program according to a time sequence; and inputting the current use time sequence correlation sequence into a first class prediction model, and determining a target candidate application set according to an output result of the first class prediction model. For example, when the detection application B is switched to the application a, it indicates that a switching operation of the foreground running application is detected, at this time, the currently running first application is the application a, and the application running at the last time is the application B, and then the current usage timing sequence association sequence of the currently running first application a is as follows: application B-application a. As another example, the first application currently running is application C, the application running at the previous time is application D, and the application running at the previous time is application E. It can be understood that, when the application E switches to the application D first and then the application D switches to the application C, the current usage timing sequence of the currently running application C can be represented as: application E-application D-application C. It should be noted that, in the embodiment of the present application, the number of the application programs included in the current usage timing sequence of the foreground application program is not limited. The method has the advantages that when the foreground application program is changed, the preamble using sequence corresponding to the current foreground application program is changed, and the candidate application set to which the application program to be used by the user belongs can be predicted quickly and accurately based on the opening sequence of the application program.
In some embodiments, before the detecting that the application preloading event is triggered, further comprising: acquiring a historical use time sequence correlation sequence of a sample application program within a preset time period to serve as a first training sample, wherein a sample mark of the first training sample comprises a candidate application set to which an application program used after the sample application program belongs; and inputting the first training sample and the corresponding sample label into a first preset model to train the first preset model, and taking the trained model as a first-class prediction model. Optionally, the sequence in which the applications in the terminal are opened may be recorded in a preset history period, that is, when the foreground application is switched, the switched applications are recorded, so as to obtain an application sequence. Taking RNN network as an example for illustration, the step size is 2, so that during sample extraction, every 2 applications can form a training sample, and the application program following the training sample can mark the sample of the training sample. For example, the stored application sequence is 1,2,2,5,3 …, where the numbers represent the number of the application program, and can be disassembled into samples (1,2 → 2), (2,2 → 5), (2,5 → 3), …, where the first two numbers in each sample are input and the numbers after the "→ symbol are the corresponding sample labels. And sequentially inputting the training samples into a preset RNN to obtain a first-class prediction model.
In some embodiments, the determining, by using a second-class prediction model corresponding to the target candidate application set, a target application to be preloaded included in the target candidate application set includes: acquiring current state characteristic information of a terminal; and inputting the current state feature information into a second type of prediction model corresponding to the target candidate application set, and determining a target application program to be preloaded contained in the target candidate application set according to an output result of the second type of prediction model. The advantage of this arrangement is that after the target candidate application set is predicted by using the application sequence, more abundant sample elements can be used for further accurate prediction. The current state feature information may include time, place, frequency, and the like when the application program is opened; the operation state of the terminal can be included, such as the on-off state of a mobile data network, the connection state of a wireless hotspot, the identity information of the connected wireless hotspot, the plugging and unplugging state of an earphone jack, the charging state, the battery power information, the screen display duration and the like; and the data collected by sensors integrated in the terminal can be included, such as a motion sensor, a light sensor, a temperature sensor, a humidity sensor and the like.
In some embodiments, before the detecting that the application preloading event is triggered, further comprising: acquiring historical state characteristic information of the terminal when a sample application program in a current candidate application set is used within a preset time period to serve as a second training sample, wherein a sample mark of the second training sample comprises the sample application program or an application program used after the sample application program; and inputting the second training sample and the corresponding sample label into a second preset model to train the second preset model, and taking the trained second preset model as a second type prediction model corresponding to the current candidate application set. The advantage of setting up like this lies in, adopts richer sample element to carry out model training, improves prediction accuracy and degree of accuracy.
In this embodiment of the present application, the training process of the first-class prediction model and the training process of the second-class prediction model may be performed locally at the terminal, or may be performed on other devices such as a server, and the embodiment of the present application is not limited.
In some embodiments, the preloading the target application includes: and preloading an application interface corresponding to the target application program based on a pre-created pre-loaded active window stack, wherein the boundary coordinate corresponding to the pre-loaded active window stack is positioned outside the coordinate range of the display screen. The advantage of setting up like this lies in, preloads application interface, can accomplish the preparation work before the application starts to a great extent, promotes the start-up speed of waiting to preload application program, and can not influence the demonstration of the display content of foreground application program on the display screen.
In the embodiment of the present application, the active window may be understood as a separate interface directly providing interaction and operation for a user, and different names may be used in different operating systems to name the interface. For ease of understanding, the following description will be made taking an Android (Android) operating system as an example.
In the Android system, the active window is called Activity. Activity is a component responsible for interacting with a user that provides a screen (which may be understood as a screen interface, rather than a display screen of an entity) for the user to interact to accomplish a task. In an android application, an Activity is usually a separate screen on which controls can be displayed and events of the user can be monitored and processed. In managing Activity, there are two concepts: task Stack and Stack. The Task corresponds to an application program, the Task is used for storing activities, one Task can store one or more activities, and the activities follow the principle of first-in first-out and last-in first-out. And the Stack is used for managing the Task, generally, one Stack manages the Task to which each Activity required to be shown by one screen belongs, and one Stack can manage one or more tasks, and of course, the Stack also follows the basic management principle of the Stack. The screens described herein are not necessarily completely separate display screens, and in the case of "two screens", the two screens may be only two regions of a complete display screen that independently display respective display contents. Of course, if the terminal has two or even more separate display screens, the "two screens" may also be two separate display screens.
In the Android system, multi-window modes are supported, which may include split screen mode, picture-in-picture mode, and free mode (FreeForm). In the multi-window mode, the Stack in which the application is located may have its own size (size), and may include upper, lower, left, and right coordinates in a coordinate system with the upper left corner of the terminal screen as the origin. For example, (a, b, c, d), which generally describes the boundary of a rectangle, the coordinates of the upper left corner and the coordinates of the lower right corner of the rectangle can be used for representation, i.e. the coordinates of the upper left corner of the rectangle are (a, b), and the coordinates of the lower right corner are (c, d), and such a rectangular area corresponds to the size of Stack. The in-application layout in the Stack is based on the size of the Stack, that is, the application interface corresponding to Activity is displayed within the boundary range of the size.
In the multi-window mode, multiple applications may be allowed to be visible, including both system and user visibility and system-only visibility. The system and the user can see the display on the display screen, and the user can see the display; system-only-visible means that the operating system is visible, but not the user, and may be obscured by foreground applications or displayed outside the display screen as the application is intended to implement.
In the embodiment of the application, the application interface of the target application program is preloaded outside the display screen, the preloading can be realized based on a multi-window mechanism of an operating system, and the size corresponding to the application program is set outside the display screen through the multi-window mechanism so as to achieve the purpose of being invisible to a user, so that the display of the display content of the foreground application program on the display screen is not influenced.
Generally, in the multi-window mode, there may be multiple types of stacks, for example, Home Stack represents a Stack displayed by a desktop application, App Stack represents a Stack displayed by a third-party application, and there may be other split-screen stacks, and contents contained in the three types of stacks may be displayed on a display screen, which are collectively referred to as application active window stacks in this embodiment. In the embodiment of the application, a preloaded active window Stack (preloaded Stack) is added to indicate a Stack displayed by a preloaded application, and the boundary coordinates of the preloaded Stack are set to be outside the coordinate range of a display screen, so that an application program to be preloaded can be displayed on the Stack. For the Android system, a Stack special for displaying preloaded applications can be newly built based on a multi-window mechanism of the Android system. In the embodiment of the application, the reason for newly building the Stack is that the newly built preloaded Stack can own size and visibility, so that the purpose of preloading outside a display screen is achieved.
In the embodiment of the application, the creation time of the preloaded Stack is not limited, and the preloaded Stack can be set to be in a resident state by default before the terminal leaves a factory, namely the preloaded Stack exists all the time; the method can also be established when the terminal is started or after the terminal is successfully unlocked; it may also be created after an application preload event is triggered (which may be before the target application is determined), and so on. Optionally, the preloading an application interface corresponding to the target application program based on a pre-created active window stack includes: judging whether a pre-established preloading active window stack exists or not; if not, creating a preloaded active window stack according to a preset rule; and preloading an application interface corresponding to the target application program based on the created preloading active window stack. The method has the advantages that after the target application program to be preloaded is determined, whether the preloading Stack exists or not is judged, if yes, new construction is not needed, and if not, creation is carried out, so that system resources can be saved. It can be understood that, when a plurality of target applications are included, that is, when a plurality of applications need to be continuously preloaded in a short time, the preloaded Stack is already created before the first target application starts to load, and then the preloaded Stack exists before the second target application starts to load, which may not be necessary.
In the embodiment of the application, a specific process of preloading an application interface corresponding to a target application program based on the preloaded Stack is not limited, and for example, the application interface may be drawn and displayed based on the size of the preloaded Stack.
In some embodiments, the preloading an application interface corresponding to the target application program based on a pre-created preload active window stack includes: creating a target process corresponding to the target application program; creating a task stack corresponding to the target application program in a pre-created preloading active window stack; starting an active window corresponding to the target application program in the task stack based on the target process; and drawing and displaying an application interface corresponding to the target application program based on the started active window. The advantage of setting up like this lies in, can draw and show the application interface of target application program based on the preloading activity window stack outside the screen coordinate scope, can not disturb the operation and the demonstration of foreground application program, guarantees system stability, effectively improves the speed when target application program starts simultaneously. While creating the target process, an initialization process of the target process may also be included. In the execution process of the above steps, preloading of other resources may also be involved, such as application service starting, memory allocation, file content reading, network data acquisition, and the like.
In some embodiments, further comprising: and sending a fake focus notification to the target application program, and keeping continuous drawing and display updating of an application interface corresponding to the target application program in a preset time period based on the fake focus notification. The method has the advantages that the drawing and the display of the application interface can be completed under the condition that the target application program obtains the focus and is visible to the system, the preloading completion degree is improved, and the focus of foreground application is not affected. The focus in the embodiment of the present application is also referred to as an input focus, and the fake focus is independent from the focus corresponding to the foreground application. Generally, for the current Android system, a focus is unique, for example, input operations such as touch and the like only take effect on the focus, the system end and the application end are consistent for inputting focus information, and once the system end modifies the input focus information, the system end sends information that the input focus information changes to the application, so that the method ensures that the input focus information of the system end and the application end is consistent. In the embodiment of the application, the purpose that the application end can forge the focus is achieved by separating the mode that the system end and the application end input the focus information. Specifically, in the embodiment of the application, the focus information is forged for the preloaded application, so that the preloaded application has the focus information, and the focus information of the system end is still correct, so that the preloaded application can be drawn normally, and the purpose of full loading is achieved. The focus exists in the system end and the application end, which can be regarded as a server end (server) and a client end (client), the system end records the application with the focus, and the application end stores a flag bit (flag) to identify whether the application has the focus. The time for forging the input focus can be that when a new window of the Android window system is added and the focus needs to be updated, a forged focus notification is generated and sent. The method for forging the focus may be a method for changing the focus of the window by calling the client end of the window, so that the window acquires the focus. Specifically, the forged focus notification can be sent based on a Binder mechanism, which is the most common mode of interprocess communication of the Android system and adopts a c/s architecture, i.e., a client/service architecture.
In the embodiment of the present application, the preset time period may be designed according to actual situations, and may be, for example, within a fixed time length range after the start of the preloading, or a time period from the start of the preloading to the completion of the preloading, and the like. In some embodiments, the length of the preset time period includes a playing time length of the start advertisement or start animation in the target application program. Some application programs usually play some advertisements or animations during the starting process, the playing time of the advertisements or animations usually ranges from 3 seconds to ten seconds, and during the playing of the advertisements or animations, a user may not have any operation and only wait for the completion of the playing, which wastes valuable time of the user. The method and the device have the advantages that the starting advertisement or the starting animation can be played out of the screen before the target application program is started, and when the target application program is started, the main page or other user operable interfaces of the application program can be directly accessed, so that the operable time point of the target application program is further advanced, and the waiting time is reduced.
In some embodiments, after preloading the application interface corresponding to the target application program based on the pre-created preloading active window stack, the method further includes: and when an operation instruction of the target application program is received, transferring an application interface corresponding to the target application program corresponding to the operation instruction and contained in the preloading active window stack to the display screen for displaying. The method has the advantages that when the target application program really needs to be started, the drawn application interface is directly migrated to the display screen to be displayed, the application interface can be rapidly switched, and the starting speed is improved.
In some embodiments, the migrating an application interface corresponding to a target application program corresponding to the execution instruction, which is included in the preloaded active window stack, to the display screen for displaying includes: migrating a task stack corresponding to a target application program corresponding to the running instruction and contained in the preloading active window stack to the top of an application active window stack; and updating the size information, the configuration information and the visibility of the task stack to realize that the application interface corresponding to the target application program is displayed on the display screen. The advantage that sets up like this lies in, can guarantee the stability of interface migration process, guarantees that the card screen can not appear in the recovery process, the black screen or the migration speed is slow scheduling problem.
For some terminals, especially for mobile phones, tablet computers and other terminals, in order to facilitate the use of users, the display mode of the display screen usually includes vertical screen display and horizontal screen display, many applications display by default in the vertical screen mode, some applications display by default in the horizontal screen mode (such as some network games), and some applications switch the horizontal and vertical screen display along with the direction in which the user holds the terminal during the use of the terminal. In some embodiments of the present application, a boundary coordinate corresponding to the preloaded active window stack is (H, 0, 2H, H), a coordinate system corresponding to the boundary coordinate is a system coordinate, an origin of the system coordinate is an upper left corner of the display screen, and H is a length of a long side of a display area of the display screen. That is, the side corresponding to H is the maximum side of the display area of the display screen, and is the height of the display screen in the vertical screen display and the width of the display screen in the horizontal screen display. This is done to allow for the display of a landscape screen, pre-loaded application landscape displays, and the normal display of some applications. Fig. 2 is a schematic diagram illustrating a relative position relationship between a preloaded active window stack and a display area of a display screen according to an embodiment of the present disclosure. As shown in fig. 2, at this time, the display screen is in a vertical screen mode, the origin of the terminal system coordinates is the left vertex (0,0) of the display screen 201, the width direction of the display screen 201 is the X axis, the height direction is the Y axis, the boundary coordinates corresponding to the preloaded Stack202 are (H, 0, 2H, H), H is the screen height, that is, the area in the left solid line rectangular range is the main screen display area, and the area in the right dotted line rectangular range is the preloaded display area. Fig. 3 is a schematic diagram illustrating a relative position relationship between a preloaded active window stack and a display area of a display screen according to an embodiment of the present application. As shown in fig. 3, at this time, the display screen is in a landscape mode, the origin of the terminal system coordinates is the left vertex (0,0) of the display screen 301, the height direction of the display screen 301 is the X axis, the width direction is the Y axis, the boundary coordinates corresponding to the preloaded Stack202 are (H, 0, 2H, H), H is the screen height, that is, the area in the left solid line rectangular range is the main screen display area, and the area in the right dotted line rectangular range is the preloaded display area.
The reason why the pre-loaded Stack boundaries are so set is that:
the abscissa of the upper left corner is H, which is an interface for preventing the display screen (also referred to as a main screen) from displaying the preloaded application during the landscape screen, and since the main screen has a landscape mode in addition to the portrait mode, the abscissa of the upper left corner of the rectangular area corresponding to the preloaded Stack is set to the screen height in order to prevent the main screen display area from displaying the local part of the preloaded application during the landscape screen of the main screen.
The ordinate in the upper left corner is 0 in order for the preload application to be able to calculate the status bar height correctly. In order to better design a User Interface (UI), the Android application can customize the top status bar, and if the vertical coordinate corresponding to the upper edge is not equal to 0, the height of the status bar may be wrong.
The abscissa of the lower right corner is 2H (2 times the screen height), that is, the width of the rectangle corresponding to the preloaded Stack is equal to the screen height, so that the size of the preloaded Stack can contain the landscape application at the time of preloading (that is, the application interface is an application program in a landscape display mode).
The ordinate of the lower right corner is H, i.e. the height of the rectangle corresponding to the preloaded Stack is equal to the screen height, so as to preload the size of the Stack and be able to contain the vertical screen application at the time of preloading.
For the reasons described above, the inventors set the size of the preload Stack to (H, 0, 2H, H).
In addition, fig. 4 is a schematic application interface migration diagram provided in the embodiment of the present application, as shown in fig. 4, when an operation instruction of a target application program is received, an application interface 401 corresponding to the target application program included in a preloaded active window Stack is migrated to a display screen 201 to be displayed, specifically, a task to which the preloaded application interface belongs is migrated to the top of an application active window Stack, and size information, configuration information, and visibility of the task are updated, so that the application interface can be normally displayed on the display screen.
Fig. 5 is a schematic flowchart of another application preloading method according to an embodiment of the present application, where the method includes the following steps:
step 501, when detecting that an application preloading event is triggered, collecting a current sample.
And 502, inputting the current sample into a first class of prediction models based on the RNN, and determining a target candidate application set according to output results of the first class of prediction models.
Step 503, inputting the current sample into a second type of prediction model based on the DNN network corresponding to the target candidate application set, and determining a target application program to be preloaded included in the target candidate application set according to an output result of the second type of prediction model.
And step 504, preloading an application interface corresponding to the target application program based on a pre-created preloading active window stack, wherein the boundary coordinate corresponding to the preloading active window stack is located outside the coordinate range of the display screen.
And 505, when receiving an operation instruction of the target application program, migrating an application interface of the target application program corresponding to the operation instruction contained in the preloaded active window stack to a display screen for displaying.
The application program preloading method provided in the embodiment of the application can respectively train the RNN network and the DNN network by using the same training sample, when the RNN network is trained, the sample corresponding to the training sample is marked as a candidate application set, and when the DNN network is trained, the sample corresponding to the training sample is marked as a specific application program. This saves time for the training phase and the prediction phase sample acquisition. When an application preloading event is triggered, a current sample is firstly input into a first type of prediction model based on an RNN (radio network) to predict a target candidate application set, then the current sample is input into a second type of prediction model based on a DNN (digital noise network) to predict an application program to be preloaded, the interference of a preloading process on a foreground application program is avoided in an off-screen preloading mode, when a user really starts the target application program, an application interface preloaded on the off-screen can be directly migrated to a display screen to be displayed, and the starting speed of the target application program is effectively improved.
Fig. 6 is a schematic flowchart of another application preloading method according to an embodiment of the present application, where the method includes:
step 601, collecting a historical use time sequence correlation sequence of the sample application program in a preset time period to serve as a first training sample, and collecting historical state characteristic information of the terminal when the sample application program is used to serve as a second training sample.
Wherein the sample labels of the first training sample comprise a set of candidate applications to which an application that is used after the sample application belongs; the sample labels of the second training sample include an application that is used after the sample application.
For example, when the first training sample and the second training sample are collected, the candidate application sets to which the first training sample and the second training sample belong may be temporarily not distinguished, and only the sample mark of the second training sample, that is, the application program used after the sample application program, is recorded.
For example, the length of the preset time period may be 2 months, and after the training sample collection is finished, the applications are numbered and sorted according to the frequency of use of the applications in the 2 months. The application with the highest frequency, i.e., the most frequently used application, is assigned the largest ID number, and the application with the lowest frequency, i.e., the least frequently used application, is assigned the smallest ID number. Assuming that the number of the candidate application programs is 100, the final number is 1-100, and then dividing the 100 IDs into n types of applications, for example, dividing into 4 types: the most common, uncommon, and rare, 25 per category. That is, the division into 4 candidate application sets, each containing 25 candidate applications, is performed by frequency.
Step 602, inputting the first training sample and the corresponding sample label into a first preset model to train the first preset model, and taking the trained model as a first-class prediction model.
For example, the first pre-set model may be an RNN network based machine learning model.
Step 603, inputting a second training sample corresponding to the current candidate application set and a corresponding sample label into a second preset model for each candidate application set so as to train the second preset model, and taking the trained second preset model as a second type prediction model corresponding to the current candidate application set.
For example, the second preset model may be a DNN network-based machine learning model. In this step, as described above by way of example, 4 second-class prediction models are obtained, that is, each candidate application set in the 4 candidate application sets has its corresponding second-class prediction model.
Step 604, when detecting that the application preloading event is triggered, acquiring a first current sample and a second current sample.
Step 605, inputting the first current sample into the first class prediction model, and determining a target candidate application set according to an output result of the first class prediction model.
Illustratively, the determined target candidate application set is the most commonly used candidate application set.
Step 606, determining a corresponding second type prediction model according to the target candidate application set, inputting a second current sample into the second type prediction model, and determining a target application program to be preloaded according to an output result of the second type prediction model.
Illustratively, the second current sample is input into the second type of prediction model corresponding to the most frequently used candidate application set, and one or more target application programs are selected from the 25 application programs according to the model output result.
Step 607, preloading the application interface corresponding to the target application program based on the pre-created preloading active window stack.
And the boundary coordinate corresponding to the preloading active window stack is positioned outside the coordinate range of the display screen.
Step 608, when receiving the operation instruction of the target application program, migrating the application interface of the target application program corresponding to the operation instruction contained in the preloaded active window stack to a display screen for displaying.
According to the application program preloading method provided by the embodiment of the application program preloading method, the terminal collects the first training sample and the second training sample in a historical period, the first type of prediction model used for predicting the target candidate application set is obtained based on the training of the first training sample, and the second type of prediction model used for predicting the application program to be preloaded is obtained based on the training of the second training sample, so that the purposes of locally collecting samples and training models of the terminal are achieved, data transmission is reduced, the samples are collected and the prediction models are updated more timely, meanwhile, the flow can be saved, and the method is applicable to mobile terminals such as mobile phones. When the application preloading event is triggered, the two types of prediction models are utilized to perform sectional prediction, so that the prediction precision and accuracy of the application program are improved. After the application program to be preloaded is predicted, the interference of the preloading process on the foreground application program is avoided in an off-screen preloading mode, when a user really starts the target application program, the application interface preloaded on the outside of the screen can be directly transferred to a display screen to be displayed, and the starting speed of the target application program is effectively improved.
Fig. 7 is a block diagram of an application preloading device according to an embodiment of the present disclosure, which may be implemented by software and/or hardware, and is generally integrated in a terminal, and may perform preloading of an application by executing an application preloading method. As shown in fig. 7, the apparatus includes:
an application set determining module 701, configured to determine a target candidate application set by using a first-class prediction model when it is detected that an application preloading event is triggered;
a target application determining module 702, configured to determine, by using a second-class prediction model corresponding to the target candidate application set, a target application program to be preloaded included in the target candidate application set;
a preloading module 703, configured to preload the target application.
According to the application program preloading device provided in the embodiment of the application program preloading method, when an application preloading event is triggered, a target candidate application set is determined by adopting a first type of prediction model, then a target application program to be preloaded included in the target candidate application set is determined by adopting a second type of prediction model corresponding to the target candidate application set, and the target application program is preloaded. By adopting the technical scheme, two different prediction models can be adopted for carrying out staged prediction, and the accuracy of application program prediction is improved.
Optionally, the determining the target candidate application set by using the first-class prediction model includes:
acquiring a current use time sequence correlation sequence of a foreground application program, wherein the current use time sequence correlation sequence comprises a sequence formed by the foreground application program and at least one application program used before the foreground application program according to a time sequence;
and inputting the current use time sequence correlation sequence into a first class prediction model, and determining a target candidate application set according to an output result of the first class prediction model.
Optionally, the apparatus further comprises:
a first training sample acquisition module, configured to acquire, before the application preloading event is detected to be triggered, a historical usage time sequence correlation sequence of a sample application program within a preset time period as a first training sample, where a sample label of the first training sample includes a candidate application set to which an application program used after the sample application program belongs;
and the first model training module is used for inputting the first training sample and the corresponding sample mark into a first preset model so as to train the first preset model, and the trained model is used as a first-class prediction model.
Optionally, the determining, by using the second type of prediction model corresponding to the target candidate application set, a target application program to be preloaded included in the target candidate application set includes:
acquiring current state characteristic information of a terminal;
and inputting the current state feature information into a second type of prediction model corresponding to the target candidate application set, and determining a target application program to be preloaded contained in the target candidate application set according to an output result of the second type of prediction model.
Optionally, the apparatus further comprises:
a second training sample acquisition module, configured to acquire, before the application preloading event is triggered, historical state feature information of the terminal when a sample application program in a current candidate application set is used within a preset time period, as a second training sample, where a sample label of the second training sample includes an application program used after the sample application program;
and the second model training module is used for inputting the second training sample and the corresponding sample label into a second preset model so as to train the second preset model, and taking the trained second preset model as a second type prediction model corresponding to the current candidate application set.
Optionally, the dividing rule of the candidate application set includes dividing according to the type of the application or dividing according to the use frequency of the application in the historical use period.
Optionally, the preloading the target application includes:
and preloading an application interface corresponding to the target application program based on a pre-created pre-loaded active window stack, wherein the boundary coordinate corresponding to the pre-loaded active window stack is positioned outside the coordinate range of the display screen.
Embodiments of the present application also provide a storage medium containing computer-executable instructions, which when executed by a computer processor, perform a method for preloading applications, the method comprising:
when an application preloading event is triggered, determining a target candidate application set by adopting a first-class prediction model;
determining a target application program to be preloaded contained in the target candidate application set by adopting a second type of prediction model corresponding to the target candidate application set;
and preloading the target application program.
Storage medium-any of various types of memory devices or storage devices. The term "storage medium" is intended to include: mounting media such as CD-ROM, floppy disk, or tape devices; computer system memory or random access memory such as DRAM, DDRRAM, SRAM, EDORAM, Lanbas (Rambus) RAM, etc.; non-volatile memory such as flash memory, magnetic media (e.g., hard disk or optical storage); registers or other similar types of memory elements, etc. The storage medium may also include other types of memory or combinations thereof. In addition, the storage medium may be located in a first computer system in which the program is executed, or may be located in a different second computer system connected to the first computer system through a network (such as the internet). The second computer system may provide program instructions to the first computer for execution. The term "storage medium" may include two or more storage media that may reside in different locations, such as in different computer systems that are connected by a network. The storage medium may store program instructions (e.g., embodied as a computer program) that are executable by one or more processors.
Of course, the storage medium provided in the embodiments of the present application contains computer-executable instructions, and the computer-executable instructions are not limited to the application preloading operation described above, and may also perform related operations in the application preloading method provided in any embodiment of the present application.
The embodiment of the application provides a terminal, and the terminal can be integrated with the application preloading device provided by the embodiment of the application. Fig. 8 is a schematic structural diagram of a terminal according to an embodiment of the present application. The terminal 600 may include: the application preloading method comprises a memory 801, a processor 802 and a computer program which is stored on the memory 801 and can be run by the processor 802, wherein the processor 802 realizes the application preloading method according to the embodiment of the application when executing the computer program.
The terminal provided by the embodiment of the application can adopt two different prediction models to carry out staged prediction, so that the accuracy of application program prediction is improved.
Fig. 9 is a schematic structural diagram of another terminal provided in the embodiment of the present application, where the terminal may include: a casing (not shown), a memory 901, a Central Processing Unit (CPU) 902 (also called a processor, hereinafter referred to as CPU), a circuit board (not shown), and a power circuit (not shown). The circuit board is arranged in a space enclosed by the shell; the CPU902 and the memory 901 are disposed on the circuit board; the power supply circuit is used for supplying power to each circuit or device of the terminal; the memory 901 is used for storing executable program codes; the CPU902 executes a computer program corresponding to the executable program code by reading the executable program code stored in the memory 901, so as to implement the following steps:
when an application preloading event is triggered, determining a target candidate application set by adopting a first-class prediction model;
determining a target application program to be preloaded contained in the target candidate application set by adopting a second type of prediction model corresponding to the target candidate application set;
and preloading the target application program.
The terminal further comprises: peripheral interface 903, RF (Radio Frequency) circuitry 905, audio circuitry 906, speakers 911, power management chip 908, input/output (I/O) subsystems 909, other input/control devices 910, touch screen 912, other input/control devices 910, and external port 904, which communicate through one or more communication buses or signal lines 907.
It should be understood that the terminal 900 shown is only one example of a terminal and that the terminal 900 can have more or fewer components than shown, can combine two or more components, or can have a different configuration of components. The various components shown in the figures may be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and/or application specific integrated circuits.
The following describes in detail a terminal for preloading an application program provided in this embodiment, where the terminal is a mobile phone as an example.
Memory 901, the memory 901 being accessible by the CPU902, the peripheral interface 903, etc., the memory 901 may comprise high speed random access memory, and may also comprise non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other volatile solid state storage devices.
A peripheral interface 903, the peripheral interface 903 may connect input and output peripherals of the device to the CPU902 and the memory 901.
An I/O subsystem 909, which I/O subsystem 909 may connect input and output peripherals on the device, such as a touch screen 912 and other input/control devices 910, to the peripheral interface 903. The I/O subsystem 909 may include a display controller 9091 and one or more input controllers 9092 for controlling other input/control devices 910. Where one or more input controllers 9092 receive electrical signals from or send electrical signals to other input/control devices 910, the other input/control devices 910 may include physical buttons (push buttons, rocker buttons, etc.), dials, slide switches, joysticks, click wheels. It is worth noting that the input controller 9092 may be connected with any one of the following: a keyboard, an infrared port, a USB interface, and a pointing device such as a mouse.
A touch screen 912, which is an input interface and an output interface between the user terminal and the user, displays visual output to the user, which may include graphics, text, icons, video, and the like.
The display controller 9091 in the I/O subsystem 909 receives electrical signals from the touch screen 912 or transmits electrical signals to the touch screen 912. The touch screen 912 detects a contact on the touch screen, and the display controller 9091 converts the detected contact into an interaction with a user interface object displayed on the touch screen 912, that is, to implement a human-computer interaction, where the user interface object displayed on the touch screen 912 may be an icon for running a game, an icon networked to a corresponding network, or the like. It is worth mentioning that the device may also comprise a light mouse, which is a touch sensitive surface that does not show visual output, or an extension of the touch sensitive surface formed by the touch screen.
The RF circuit 905 is mainly used to establish communication between the mobile phone and the wireless network (i.e., network side), and implement data reception and transmission between the mobile phone and the wireless network. Such as sending and receiving short messages, e-mails, etc. In particular, RF circuitry 905 receives and transmits RF signals, also referred to as electromagnetic signals, through which RF circuitry 905 converts electrical signals to or from electromagnetic signals and communicates with a communication network and other devices. The RF circuitry 905 may include known circuitry for performing these functions including, but not limited to, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC (CODEC) chipset, a Subscriber Identity Module (SIM), and so forth.
The audio circuit 906 is mainly used to receive audio data from the peripheral interface 903, convert the audio data into an electric signal, and transmit the electric signal to the speaker 911.
The speaker 911 is used to convert the voice signal received by the mobile phone from the wireless network through the RF circuit 905 into sound and play the sound to the user.
And the power management chip 908 is used for supplying power and managing power to the hardware connected with the CPU902, the I/O subsystem and the peripheral interfaces.
The application preloading device, the storage medium and the terminal provided in the above embodiments can execute the application preloading method provided in any embodiment of the present application, and have corresponding functional modules and beneficial effects for executing the method. Technical details that are not described in detail in the above embodiments may be referred to an application preloading method provided in any embodiment of the present application.
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present application and the technical principles employed. It will be understood by those skilled in the art that the present application is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the application. Therefore, although the present application has been described in more detail with reference to the above embodiments, the present application is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present application, and the scope of the present application is determined by the scope of the appended claims.

Claims (13)

1. An application preloading method, comprising:
dividing candidate application programs installed in the terminal to obtain a plurality of candidate application program sets;
when an application preloading event is detected to be triggered, determining a target candidate application set by adopting a first-class prediction model, wherein the first-class prediction model is used for predicting which candidate application set an application program to be started by a user belongs to, and the output result of the first-class prediction model is the hit probability of each candidate application set;
determining a target application program to be preloaded contained in the target candidate application set by adopting a second type of prediction model corresponding to the target candidate application set, wherein the second type of prediction model is used for predicting the application program to be started by a user contained in the corresponding candidate application set;
preloading the target application program;
the first-class prediction model is a machine learning model based on an RNN (radio network node) network, the second-class prediction model is a machine learning model based on a DNN network, and the number of element types contained in a first training sample corresponding to the first-class prediction model is smaller than the number of element types contained in a second training sample corresponding to the second-class prediction model;
the preloading the target application program comprises the following steps:
preloading an application interface corresponding to the target application program based on a pre-created preloading active window stack, wherein a boundary coordinate corresponding to the preloading active window stack is located outside a coordinate range of a display screen, and when an operating system is an android system, the preloading active window stack is newly built based on a multi-window mechanism of the android system; the boundary coordinate corresponding to the preloading movable window stack is (H, 0, 2H, H), the coordinate system corresponding to the boundary coordinate is a system coordinate, the origin of the system coordinate is the upper left corner of the display screen, and H is the length of the long edge of the display area of the display screen;
and sending a fake focus notification to the target application program based on a Binder mechanism, so that the target application program has focus information, the focus information of a system end is kept correct, and continuous drawing and display updating of an application interface corresponding to the target application program are kept in a preset time period based on the fake focus notification.
2. The method of claim 1, further comprising:
and determining candidate application programs according to the use times and/or use duration of each application program in a preset time period before the current time.
3. The method according to claim 1, wherein the dividing manner for dividing the candidate applications installed in the terminal comprises any one of:
clustering training samples for model training, and dividing according to clustering results;
dividing according to folders;
and dividing the application programs corresponding to the application icons belonging to the same desktop interface into a candidate application program set corresponding to the desktop interface.
4. The method of claim 1, wherein determining the target set of candidate applications using the first type of predictive model comprises:
acquiring a current use time sequence correlation sequence of a foreground application program, wherein the current use time sequence correlation sequence comprises a sequence formed by the foreground application program and at least one application program used before the foreground application program according to a time sequence;
and inputting the current use time sequence correlation sequence into a first class prediction model, and determining a target candidate application set according to an output result of the first class prediction model.
5. The method of claim 4, prior to the detecting that an application preload event is triggered, further comprising:
acquiring a historical use time sequence correlation sequence of a sample application program within a preset time period to serve as a first training sample, wherein a sample mark of the first training sample comprises a candidate application set to which an application program used after the sample application program belongs;
and inputting the first training sample and the corresponding sample label into a first preset model to train the first preset model, and taking the trained model as a first-class prediction model.
6. The method according to claim 4, wherein the determining the target application program to be preloaded included in the target candidate application set by using the second type of prediction model corresponding to the target candidate application set comprises:
acquiring current state characteristic information of a terminal;
and inputting the current state feature information into a second type of prediction model corresponding to the target candidate application set, and determining a target application program to be preloaded contained in the target candidate application set according to an output result of the second type of prediction model.
7. The method of claim 6, prior to the detecting that an application preload event is triggered, further comprising:
acquiring historical state characteristic information of the terminal when a sample application program in a current candidate application set is used within a preset time period to serve as a second training sample, wherein a sample mark of the second training sample comprises the sample application program or an application program used after the sample application program;
and inputting the second training sample and the corresponding sample label into a second preset model to train the second preset model, and taking the trained second preset model as a second type prediction model corresponding to the current candidate application set.
8. The method of claim 1, wherein the rules for partitioning the set of candidate applications comprise partitioning by application type or partitioning by frequency of use of the application over historical periods of use.
9. The method of claim 1, wherein the length of the preset time period comprises a playing time of a start advertisement or a start animation in the target application.
10. The method of claim 1, further comprising, after preloading the application interface corresponding to the target application based on the pre-created preloaded active window stack:
when an operation instruction of the target application program is received, migrating a task stack which is contained in the preloading active window stack and corresponds to the target application program corresponding to the operation instruction to the top of an application active window stack; and updating the size information, the configuration information and the visibility of the task stack to realize that the application interface corresponding to the target application program is displayed on the display screen.
11. An application preloading device, comprising:
the application set determining module is used for dividing candidate application programs installed in the terminal to obtain a plurality of candidate application program sets, and when an application preloading event is triggered, determining a target candidate application set by adopting a first-class prediction model, wherein the first-class prediction model is used for predicting which candidate application set an application program to be started by a user belongs to, and the output result of the first-class prediction model is the hit probability of each candidate application set;
the target application determining module is used for determining a target application program to be preloaded contained in the target candidate application set by adopting a second type of prediction model corresponding to the target candidate application set, wherein the second type of prediction model is used for predicting the application program to be started by a user contained in the corresponding candidate application set;
the preloading module is used for preloading the target application program;
the first-class prediction model is a machine learning model based on an RNN (radio network node) network, the second-class prediction model is a machine learning model based on a DNN network, and the number of element types contained in a first training sample corresponding to the first-class prediction model is smaller than the number of element types contained in a second training sample corresponding to the second-class prediction model;
the preloading the target application program comprises the following steps:
preloading an application interface corresponding to the target application program based on a pre-created preloading active window stack, wherein a boundary coordinate corresponding to the preloading active window stack is located outside a coordinate range of a display screen, and when an operating system is an android system, the preloading active window stack is newly built based on a multi-window mechanism of the android system; the boundary coordinate corresponding to the preloading movable window stack is (H, 0, 2H, H), the coordinate system corresponding to the boundary coordinate is a system coordinate, the origin of the system coordinate is the upper left corner of the display screen, and H is the length of the long edge of the display area of the display screen;
and sending a fake focus notification to the target application program based on a Binder mechanism, so that the target application program has focus information, the focus information of a system end is kept correct, and continuous drawing and display updating of an application interface corresponding to the target application program are kept in a preset time period based on the fake focus notification.
12. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the method for preloading application programs according to any one of claims 1-10.
13. A terminal comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the application preloading method according to any of claims 1-10 when executing the computer program.
CN201810532724.9A 2018-05-29 2018-05-29 Application program preloading method and device, storage medium and terminal Expired - Fee Related CN108762844B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810532724.9A CN108762844B (en) 2018-05-29 2018-05-29 Application program preloading method and device, storage medium and terminal
PCT/CN2019/085506 WO2019228134A1 (en) 2018-05-29 2019-05-05 Application program pre-loading method and device, storage medium, and terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810532724.9A CN108762844B (en) 2018-05-29 2018-05-29 Application program preloading method and device, storage medium and terminal

Publications (2)

Publication Number Publication Date
CN108762844A CN108762844A (en) 2018-11-06
CN108762844B true CN108762844B (en) 2021-09-07

Family

ID=64003702

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810532724.9A Expired - Fee Related CN108762844B (en) 2018-05-29 2018-05-29 Application program preloading method and device, storage medium and terminal

Country Status (2)

Country Link
CN (1) CN108762844B (en)
WO (1) WO2019228134A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108762844B (en) * 2018-05-29 2021-09-07 Oppo广东移动通信有限公司 Application program preloading method and device, storage medium and terminal
CN110209435A (en) * 2019-04-28 2019-09-06 北京蓦然认知科技有限公司 A kind of application preloading method, apparatus
CN110457270A (en) * 2019-07-30 2019-11-15 惠州Tcl移动通信有限公司 A kind of method, apparatus and terminal of file load
CN111629052B (en) * 2020-05-26 2021-12-07 中国联合网络通信集团有限公司 Content caching method, node, equipment and storage medium based on MEC
CN111913759B (en) * 2020-07-31 2024-02-02 中国工商银行股份有限公司 Method, apparatus, computing device and medium for controlling execution of application program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106000A (en) * 2013-01-23 2013-05-15 东莞宇龙通信科技有限公司 Implementing method and communication terminal of multi-focus window
CN103376974A (en) * 2013-06-28 2013-10-30 广州市动景计算机科技有限公司 Window switching method and device
CN107783801A (en) * 2017-11-06 2018-03-09 广东欧珀移动通信有限公司 Application program forecast model is established, preloads method, apparatus, medium and terminal
CN107807935A (en) * 2016-09-09 2018-03-16 腾讯科技(深圳)有限公司 Using recommendation method and device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013078269A1 (en) * 2011-11-22 2013-05-30 Solano Labs, Inc. System of distributed software quality improvement
US9508040B2 (en) * 2013-06-12 2016-11-29 Microsoft Technology Licensing, Llc Predictive pre-launch for applications
CN105446988B (en) * 2014-06-30 2018-10-30 华为技术有限公司 The method and apparatus for predicting classification
CN105939416A (en) * 2016-05-30 2016-09-14 努比亚技术有限公司 Mobile terminal and application prestart method thereof
CN106406966B (en) * 2016-10-31 2020-04-07 维沃移动通信有限公司 Application program preloading method and mobile terminal
CN106919313A (en) * 2017-04-21 2017-07-04 维沃移动通信有限公司 The startup method and mobile terminal of a kind of application program
CN108762844B (en) * 2018-05-29 2021-09-07 Oppo广东移动通信有限公司 Application program preloading method and device, storage medium and terminal

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106000A (en) * 2013-01-23 2013-05-15 东莞宇龙通信科技有限公司 Implementing method and communication terminal of multi-focus window
CN103376974A (en) * 2013-06-28 2013-10-30 广州市动景计算机科技有限公司 Window switching method and device
CN107807935A (en) * 2016-09-09 2018-03-16 腾讯科技(深圳)有限公司 Using recommendation method and device
CN107783801A (en) * 2017-11-06 2018-03-09 广东欧珀移动通信有限公司 Application program forecast model is established, preloads method, apparatus, medium and terminal

Also Published As

Publication number Publication date
CN108762844A (en) 2018-11-06
WO2019228134A1 (en) 2019-12-05

Similar Documents

Publication Publication Date Title
CN108363593B (en) Application program preloading method and device, storage medium and terminal
CN108647052B (en) Application program preloading method and device, storage medium and terminal
CN108614722B (en) Application program preloading method and device, storage medium and terminal
CN108762843B (en) Application program preloading method and device, storage medium and intelligent terminal
CN108681475B (en) Application program preloading method and device, storage medium and mobile terminal
CN108647055B (en) Application program preloading method and device, storage medium and terminal
CN108829457B (en) Application program prediction model updating method and device, storage medium and terminal
CN108710513B (en) Application program starting method and device, storage medium and terminal
CN108958830B (en) Application program starting method and device, storage medium and terminal
CN108595224B (en) Application program prompting method and device, storage medium and terminal
CN108595230B (en) Application program preloading method and device, storage medium and terminal
EP3579104B1 (en) Method and apparatus for establishing an application prediction model, storage medium and terminal
US11467855B2 (en) Application preloading method and device, storage medium and terminal
CN108762831B (en) Application program preloading method and device, storage medium and terminal
CN108595231B (en) Application program preloading method and device, storage medium and intelligent terminal
CN108762844B (en) Application program preloading method and device, storage medium and terminal
CN108958828B (en) Application program preloading method and device, storage medium and terminal
US11099861B2 (en) Method for preloading application, storage medium, and terminal
CN108804153B (en) Application program preloading method and device, storage medium and terminal
CN108762837B (en) Application program preloading method and device, storage medium and terminal
CN108776599B (en) Management method and device for preloaded application, storage medium and intelligent terminal
CN108647056B (en) Application program preloading method and device, storage medium and terminal
CN108762836B (en) Management method and device for preloaded application, storage medium and intelligent terminal
CN108710512B (en) Application program preloading method and device, storage medium and intelligent terminal
CN108664286B (en) Application program preloading method and device, storage medium and mobile terminal

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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210907