Movatterモバイル変換


[0]ホーム

URL:


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

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

Info

Publication number
CN108762844B
CN108762844BCN201810532724.9ACN201810532724ACN108762844BCN 108762844 BCN108762844 BCN 108762844BCN 201810532724 ACN201810532724 ACN 201810532724ACN 108762844 BCN108762844 BCN 108762844B
Authority
CN
China
Prior art keywords
application
target
prediction model
preloading
type
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 LtdfiledCriticalGuangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201810532724.9ApriorityCriticalpatent/CN108762844B/en
Publication of CN108762844ApublicationCriticalpatent/CN108762844A/en
Priority to PCT/CN2019/085506prioritypatent/WO2019228134A1/en
Application grantedgrantedCritical
Publication of CN108762844BpublicationCriticalpatent/CN108762844B/en
Expired - Fee Relatedlegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Classifications

Landscapes

Abstract

Translated fromChinese

本申请实施例公开了应用程序预加载方法、装置、存储介质及终端。该方法包括:检测到应用预加载事件被触发时,采用第一类预测模型确定目标候选应用集合;采用所述目标候选应用集合对应的第二类预测模型确定所述目标候选应用集合中包含的待预加载的目标应用程序;对所述目标应用程序进行预加载。本申请通过采用上述技术方案,可以采用两类不同的预测模型进行分阶段预测,提高应用程序预测的准确度。

Figure 201810532724

The embodiments of the present application disclose an application preloading method, device, storage medium, and terminal. The method includes: when it is detected that an application preloading event is triggered, a first type of prediction model is used to determine a target candidate application set; and a second type of prediction model corresponding to the target candidate application set is used to determine the target candidate application set. The target application to be preloaded; the target application is preloaded. By adopting the above technical solution, the present application can use two types of different prediction models to perform staged prediction, thereby improving the accuracy of application prediction.

Figure 201810532724

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 thedisplay screen 201, the width direction of thedisplay 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 thedisplay screen 301, the height direction of thedisplay 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, anapplication interface 401 corresponding to the target application program included in a preloaded active window Stack is migrated to adisplay 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 determiningmodule 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 targetapplication 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;
apreloading 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 amemory 801, aprocessor 802 and a computer program which is stored on thememory 801 and can be run by theprocessor 802, wherein theprocessor 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), amemory 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 thememory 901 are disposed on the circuit board; the power supply circuit is used for supplying power to each circuit or device of the terminal; thememory 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 thememory 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, andexternal port 904, which communicate through one or more communication buses orsignal 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, thememory 901 being accessible by the CPU902, theperipheral interface 903, etc., thememory 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.
Aperipheral interface 903, theperipheral interface 903 may connect input and output peripherals of the device to the CPU902 and thememory 901.
An I/O subsystem 909, which I/O subsystem 909 may connect input and output peripherals on the device, such as atouch screen 912 and other input/control devices 910, to theperipheral interface 903. The I/O subsystem 909 may include adisplay controller 9091 and one ormore input controllers 9092 for controlling other input/control devices 910. Where one ormore 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 theinput 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.
Atouch 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.
Thedisplay controller 9091 in the I/O subsystem 909 receives electrical signals from thetouch screen 912 or transmits electrical signals to thetouch screen 912. Thetouch screen 912 detects a contact on the touch screen, and thedisplay controller 9091 converts the detected contact into an interaction with a user interface object displayed on thetouch screen 912, that is, to implement a human-computer interaction, where the user interface object displayed on thetouch 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.
TheRF 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 whichRF circuitry 905 converts electrical signals to or from electromagnetic signals and communicates with a communication network and other devices. TheRF 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.
Theaudio circuit 906 is mainly used to receive audio data from theperipheral 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 theRF circuit 905 into sound and play the sound to the user.
And thepower 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)

Translated fromChinese
1.一种应用程序预加载方法,其特征在于,包括:1. a method for preloading an application, comprising:对终端中安装的候选应用程序进行划分,得到多个候选应用程序集合;Divide the candidate applications installed in the terminal to obtain multiple candidate application sets;检测到应用预加载事件被触发时,采用第一类预测模型确定目标候选应用集合,其中,所述第一类预测模型用于预测即将被用户启动的应用程序属于哪个候选应用集合中,所述第一类预测模型的输出结果是每个候选应用集合的命中概率;When it is detected that the application preloading event is triggered, the first type of prediction model is used to determine the target candidate application set, wherein the first type of prediction model is used to predict which candidate application set the application to be started by the user belongs to, and the The output of the first type of prediction model is the hit probability of each candidate application set;采用所述目标候选应用集合对应的第二类预测模型确定所述目标候选应用集合中包含的待预加载的目标应用程序,其中,所述第二类预测模型用于预测所对应的候选应用集合中包含的即将被用户启动的应用程序;The target application to be preloaded contained in the target candidate application set is determined by using the second type prediction model corresponding to the target candidate application set, wherein the second type prediction model is used to predict the corresponding candidate application set the application that is about to be launched by the user;对所述目标应用程序进行预加载;preloading the target application;其中,所述第一类预测模型为基于RNN网络的机器学习模型,所述第二类预测模型为基于DNN网络的机器学习模型,第一类预测模型对应的第一训练样本中包含的元素种类数小于所述第二类预测模型对应的第二训练样本中包含的元素种类数;The first type of prediction model is a machine learning model based on an RNN network, the second type of prediction model is a machine learning model based on a DNN network, and the type of elements contained in the first training sample corresponding to the first type of prediction model The number is less than the number of element types contained in the second training sample corresponding to the second type of prediction model;所述对所述目标应用程序进行预加载,包括:The preloading of the target application includes:基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外,当操作系统为安卓系统时,所述预加载活动窗口堆栈基于安卓系统的多窗口机制新建;所述预加载活动窗口堆栈对应的边界坐标为(H,0,2H,H),所述边界坐标对应的坐标系为系统坐标,所述系统坐标的原点为所述显示屏幕的左上角,H为所述显示屏幕的显示区域的长边长度;The application interface corresponding to the target application is preloaded based on the preloaded active window stack created in advance, wherein the boundary coordinates corresponding to the preloaded active window stack are located outside the coordinate range of the display screen. When the operating system is the Android system , the preloaded active window stack is newly built based on the multi-window mechanism of the Android system; the boundary coordinates corresponding to the preloaded active window stack are (H, 0, 2H, H), and the coordinate system corresponding to the boundary coordinates is the system coordinate , the origin of the system coordinates is the upper left corner of the display screen, and H is the length of the long side of the display area of the display screen;基于Binder机制向所述目标应用程序发送伪造焦点通知,使得所述目标应用程序具有焦点信息,且系统端的焦点信息保持正确,基于所述伪造焦点通知在预设时间段内保持所述目标应用程序对应的应用界面的持续绘制以及显示更新。Send a fake focus notification to the target application based on the Binder mechanism, so that the target application has focus information, and the focus information on the system side remains correct, and the target application is kept within a preset period of time based on the fake focus notification The continuous drawing and display update of the corresponding application interface.2.根据权利要求1所述的方法,其特征在于,还包括:2. The method of claim 1, further comprising:根据当前时刻之前的预设时段内各应用程序的使用次数和/或使用时长确定候选应用程序。The candidate application program is determined according to the usage times and/or usage duration of each application program within a preset period before the current moment.3.根据权利要求1所述的方法,其特征在于,对终端中安装的候选应用程序进行划分的划分方式包括以下任意一种:3. The method according to claim 1, wherein the division mode for dividing the candidate applications installed in the terminal comprises any one of the following:对用于模型训练的训练样本进行聚类,根据聚类结果进行划分;Cluster the training samples used for model training, and divide them according to the clustering results;按照文件夹进行划分;Divide by folder;属于同一个桌面界面的应用图标对应的应用程序被划分至该桌面界面对应的候选应用程序集合中。Applications corresponding to application icons belonging to the same desktop interface are divided into candidate application sets corresponding to the desktop interface.4.根据权利要求1所述的方法,其特征在于,所述采用第一类预测模型确定目标候选应用集合,包括:4. The method according to claim 1, wherein the determining the target candidate application set using the first type prediction model comprises:获取前台应用程序的当前使用时序关联序列,所述当前使用时序关联序列包含所述前台应用程序以及在所述前台应用程序之前被使用的至少一个应用程序按照时间顺序形成的序列;Acquiring the current use timing association sequence of the foreground application, the current use timing association sequence including the sequence formed by the foreground application and at least one application used before the foreground application in chronological order;将所述当前使用时序关联序列输入至第一类预测模型中,根据所述第一类预测模型的输出结果确定目标候选应用集合。The currently used time series association sequence is input into the first type of prediction model, and the target candidate application set is determined according to the output result of the first type of prediction model.5.根据权利要求4所述的方法,其特征在于,在所述检测到应用预加载事件被触发之前,还包括:5. The method according to claim 4, wherein before the detecting that the application preloading event is triggered, the method further comprises:在预设时间段内采集样本应用程序的历史使用时序关联序列,作为第一训练样本,所述第一训练样本的样本标记包括在所述样本应用程序之后被使用的应用程序所属的候选应用集合;The historical usage time series correlation sequence of a sample application program is collected within a preset time period as a first training sample, and the sample mark of the first training sample includes the candidate application set to which the application program used after the sample application program belongs ;将所述第一训练样本和对应的样本标记输入至第一预设模型中,以对所述第一预设模型进行训练,将训练后的模型作为第一类预测模型。The first training sample and the corresponding sample label are input into the first preset model to train the first preset model, and the trained model is used as the first type of prediction model.6.根据权利要求4所述的方法,其特征在于,所述采用所述目标候选应用集合对应的第二类预测模型确定所述目标候选应用集合中包含的待预加载的目标应用程序,包括:6 . The method according to claim 4 , wherein determining the target application to be preloaded contained in the target candidate application set by using the second type prediction model corresponding to the target candidate application set, comprising: 6 . :获取终端的当前状态特征信息;Obtain the current state feature information of the terminal;将所述当前状态特征信息输入至所述目标候选应用集合对应的第二类预测模型中,根据所述第二类预测模型的输出结果确定所述目标候选应用集合中包含的待预加载的目标应用程序。Inputting the current state feature information into the second type prediction model corresponding to the target candidate application set, and determining the target to be preloaded in the target candidate application set according to the output result of the second type prediction model application.7.根据权利要求6所述的方法,其特征在于,在所述检测到应用预加载事件被触发之前,还包括:7. The method according to claim 6, wherein before the detecting that the application preloading event is triggered, the method further comprises:在预设时间段内采集当前候选应用集合中的样本应用程序被使用时所述终端的历史状态特征信息,作为第二训练样本,所述第二训练样本的样本标记包括所述样本应用程序或在所述样本应用程序之后被使用的应用程序;Collect historical state feature information of the terminal when a sample application in the current candidate application set is used within a preset time period, as a second training sample, and the sample tag of the second training sample includes the sample application or applications used after the sample application;将所述第二训练样本和对应的样本标记输入至第二预设模型中,以对所述第二预设模型进行训练,将训练后的第二预设模型作为所述当前候选应用集合对应的第二类预测模型。Input the second training sample and the corresponding sample label into the second preset model to train the second preset model, and use the trained second preset model as the current candidate application set corresponding to The second type of forecasting model.8.根据权利要求1所述的方法,其特征在于,候选应用集合的划分规则包括按照应用程序类型划分或按照历史使用期间内应用程序的使用频次划分。8 . The method according to claim 1 , wherein the division rule of the candidate application set comprises division according to the application type or division according to the usage frequency of the application in a historical usage period. 9 .9.根据权利要求1所述的方法,其特征在于,所述预设时间段的长度包括所述目标应用程序中启动广告或启动动画的播放时长。9 . The method according to claim 1 , wherein the length of the preset time period includes the playing time of starting an advertisement or starting an animation in the target application. 10 .10.根据权利要求1所述的方法,其特征在于,在基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面之后,还包括:10. The method according to claim 1, wherein after preloading an application interface corresponding to the target application based on a pre-created preloading active window stack, the method further comprises:在接收到所述目标应用程序的运行指令时,将所述预加载活动窗口堆栈中包含的与所述运行指令对应的目标应用程序对应的任务栈迁移至应用活动窗口堆栈的顶部;更新所述任务栈的尺寸信息、配置信息和可见性,以实现所述目标应用程序对应的应用界面在所述显示屏幕进行显示。When receiving the running instruction of the target application, migrate the task stack corresponding to the target application corresponding to the running instruction contained in the preloaded active window stack to the top of the application active window stack; update the The size information, configuration information and visibility of the task stack are used to display the application interface corresponding to the target application program on the display screen.11.一种应用程序预加载装置,其特征在于,包括:11. An application preloading device, characterized in that, comprising:应用集合确定模块,用于对终端中安装的候选应用程序进行划分,得到多个候选应用程序集合,在检测到应用预加载事件被触发时,采用第一类预测模型确定目标候选应用集合,其中,所述第一类预测模型用于预测即将被用户启动的应用程序属于哪个候选应用集合中,所述第一类预测模型的输出结果是每个候选应用集合的命中概率;The application set determination module is used to divide the candidate application programs installed in the terminal to obtain multiple candidate application program sets. When detecting that the application preloading event is triggered, the first type of prediction model is used to determine the target candidate application set, wherein , the first type of prediction model is used to predict which candidate application set the application to be launched by the user belongs to, and the output result of the first type of prediction model is the hit probability of each candidate application set;目标应用确定模块,用于采用所述目标候选应用集合对应的第二类预测模型确定所述目标候选应用集合中包含的待预加载的目标应用程序,其中,所述第二类预测模型用于预测所对应的候选应用集合中包含的即将被用户启动的应用程序;A target application determination module, configured to use the second type prediction model corresponding to the target candidate application set to determine the target application to be preloaded contained in the target candidate application set, wherein the second type prediction model is used for Predict the applications that are about to be launched by the user contained in the candidate application set corresponding to the prediction;预加载模块,用于对所述目标应用程序进行预加载;a preloading module for preloading the target application;其中,所述第一类预测模型为基于RNN网络的机器学习模型,所述第二类预测模型为基于DNN网络的机器学习模型,第一类预测模型对应的第一训练样本中包含的元素种类数小于所述第二类预测模型对应的第二训练样本中包含的元素种类数;The first type of prediction model is a machine learning model based on an RNN network, the second type of prediction model is a machine learning model based on a DNN network, and the type of elements contained in the first training sample corresponding to the first type of prediction model The number is less than the number of element types contained in the second training sample corresponding to the second type of prediction model;所述对所述目标应用程序进行预加载,包括:The preloading of the target application includes:基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外,当操作系统为安卓系统时,所述预加载活动窗口堆栈基于安卓系统的多窗口机制新建;所述预加载活动窗口堆栈对应的边界坐标为(H,0,2H,H),所述边界坐标对应的坐标系为系统坐标,所述系统坐标的原点为所述显示屏幕的左上角,H为所述显示屏幕的显示区域的长边长度;The application interface corresponding to the target application is preloaded based on the preloaded active window stack created in advance, wherein the boundary coordinates corresponding to the preloaded active window stack are located outside the coordinate range of the display screen. When the operating system is the Android system , the preloaded active window stack is newly built based on the multi-window mechanism of the Android system; the boundary coordinates corresponding to the preloaded active window stack are (H, 0, 2H, H), and the coordinate system corresponding to the boundary coordinates is the system coordinate , the origin of the system coordinates is the upper left corner of the display screen, and H is the length of the long side of the display area of the display screen;基于Binder机制向所述目标应用程序发送伪造焦点通知,使得所述目标应用程序具有焦点信息,且系统端的焦点信息保持正确,基于所述伪造焦点通知在预设时间段内保持所述目标应用程序对应的应用界面的持续绘制以及显示更新。Send a fake focus notification to the target application based on the Binder mechanism, so that the target application has focus information, and the focus information on the system side remains correct, and the target application is kept within a preset period of time based on the fake focus notification The continuous drawing and display update of the corresponding application interface.12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-10中任一所述的应用程序预加载方法。12. A computer-readable storage medium on which a computer program is stored, characterized in that, when the program is executed by a processor, the method for preloading an application program according to any one of claims 1-10 is implemented.13.一种终端,其特征在于,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-10任一所述的应用程序预加载方法。13. A terminal, characterized in that it comprises a memory, a processor and a computer program stored on the memory and running on the processor, and when the processor executes the computer program, any one of claims 1-10 is implemented. the application preloading method described above.
CN201810532724.9A2018-05-292018-05-29 Application preloading method, device, storage medium and terminalExpired - Fee RelatedCN108762844B (en)

Priority Applications (2)

Application NumberPriority DateFiling DateTitle
CN201810532724.9ACN108762844B (en)2018-05-292018-05-29 Application preloading method, device, storage medium and terminal
PCT/CN2019/085506WO2019228134A1 (en)2018-05-292019-05-05Application program pre-loading method and device, storage medium, and terminal

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN201810532724.9ACN108762844B (en)2018-05-292018-05-29 Application preloading method, device, storage medium and terminal

Publications (2)

Publication NumberPublication Date
CN108762844A CN108762844A (en)2018-11-06
CN108762844Btrue CN108762844B (en)2021-09-07

Family

ID=64003702

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CN201810532724.9AExpired - Fee RelatedCN108762844B (en)2018-05-292018-05-29 Application preloading method, device, storage medium and terminal

Country Status (2)

CountryLink
CN (1)CN108762844B (en)
WO (1)WO2019228134A1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN108762844B (en)*2018-05-292021-09-07Oppo广东移动通信有限公司 Application preloading method, device, storage medium and terminal
CN110209435A (en)*2019-04-282019-09-06北京蓦然认知科技有限公司A kind of application preloading method, apparatus
CN110457270A (en)*2019-07-302019-11-15惠州Tcl移动通信有限公司A kind of method, apparatus and terminal of file load
CN113448481A (en)*2020-03-252021-09-28北京小米移动软件有限公司Event processing method and device and storage medium
CN111629052B (en)*2020-05-262021-12-07中国联合网络通信集团有限公司 MEC-based content caching method, node, device and storage medium
CN111913759B (en)*2020-07-312024-02-02中国工商银行股份有限公司Method, apparatus, computing device and medium for controlling execution of application program
CN114116107A (en)*2021-11-292022-03-01维沃移动通信有限公司Control display method and device
CN114662583B (en)*2022-03-152025-09-26北京金山云网络技术有限公司 Emergency event prevention and control dispatch method, device, electronic device and storage medium
CN119376871A (en)*2023-12-252025-01-28迈特创新私人有限公司 Application program calling method, device, computer equipment and storage medium

Citations (4)

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

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
EP2783284B1 (en)*2011-11-222019-03-13Solano Labs, Inc.System of distributed software quality improvement
US9508040B2 (en)*2013-06-122016-11-29Microsoft Technology Licensing, LlcPredictive pre-launch for applications
CN105446988B (en)*2014-06-302018-10-30华为技术有限公司The method and apparatus for predicting classification
CN105939416A (en)*2016-05-302016-09-14努比亚技术有限公司Mobile terminal and application prestart method thereof
CN106406966B (en)*2016-10-312020-04-07维沃移动通信有限公司Application program preloading method and mobile terminal
CN106919313A (en)*2017-04-212017-07-04维沃移动通信有限公司The startup method and mobile terminal of a kind of application program
CN108762844B (en)*2018-05-292021-09-07Oppo广东移动通信有限公司 Application preloading method, device, storage medium and terminal

Patent Citations (4)

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

Also Published As

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

Similar Documents

PublicationPublication DateTitle
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
CN108958830B (en)Application program starting method and device, storage medium and terminal
CN108762844B (en) Application preloading method, device, storage medium and terminal
CN108647055B (en)Application program preloading method and device, storage medium and terminal
CN108595230B (en) Application preloading method, device, storage medium and terminal
CN108762831B (en)Application program preloading method and device, storage medium and terminal
EP3575961B1 (en)Method and apparatus for updating application prediction model, storage medium, and terminal
CN108595224B (en) Application program prompting method, device, storage medium and terminal
CN108595231B (en) Application preloading method, device, storage medium and smart terminal
CN108958828B (en)Application program preloading method and device, storage medium and terminal
US11099861B2 (en)Method for preloading application, storage medium, and terminal
EP3726378A1 (en)Application program pre-loading method and apparatus, and storage medium and terminal
EP3579105A1 (en)Application preloading method and device, storage medium and terminal
CN108804153B (en)Application program preloading method and device, storage medium and terminal
CN108647056B (en)Application program preloading method and device, storage medium and terminal
CN108664286B (en) Application preloading method, device, storage medium and mobile terminal
CN108762838B (en)Application program preloading method and device, storage medium and terminal
CN108647059A (en)Application program prediction method and device, storage medium and mobile terminal
HK1259858A1 (en)Application preloading method, device, storage medium and terminal
HK1260492A1 (en)Application startup method, apparatus, storage medium, and terminal
HK1260492B (en)Application startup method, apparatus, storage medium, and terminal
HK1257054A1 (en)Preloading method, device, storage medium and intelligent terminal of an application program
HK1257054B (en)Preloading method, device, storage medium and intelligent terminal of an application program
HK1260591A1 (en)Application program pre-loading method, device, storage medium and terminal

Legal Events

DateCodeTitleDescription
PB01Publication
PB01Publication
SE01Entry into force of request for substantive examination
SE01Entry into force of request for substantive examination
GR01Patent grant
GR01Patent grant
CF01Termination of patent right due to non-payment of annual fee

Granted publication date:20210907


[8]ページ先頭

©2009-2025 Movatter.jp