WO2019228134A1 - Application program pre-loading method and device, storage medium, and terminal - Google Patents

Application program pre-loading method and device, storage medium, and terminal Download PDF

Info

Publication number
WO2019228134A1
WO2019228134A1 PCT/CN2019/085506 CN2019085506W WO2019228134A1 WO 2019228134 A1 WO2019228134 A1 WO 2019228134A1 CN 2019085506 W CN2019085506 W CN 2019085506W WO 2019228134 A1 WO2019228134 A1 WO 2019228134A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
target
sample
preloaded
prediction model
Prior art date
Application number
PCT/CN2019/085506
Other languages
French (fr)
Chinese (zh)
Inventor
陈岩
Original Assignee
Oppo广东移动通信有限公司
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 Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Publication of WO2019228134A1 publication Critical patent/WO2019228134A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Definitions

  • the embodiments of the present application relate to the technical field of application program loading, for example, to a method, a device, a storage medium, and a terminal for preloading an application program.
  • terminals such as smart phones, tablet computers, laptops, and smart home appliances have become essential electronic devices in people's daily lives.
  • terminal devices With the continuous intelligentization of terminal devices, most terminal devices are loaded with operating systems, enabling terminal devices to install a variety of applications to meet different needs of users.
  • the embodiments of the present application provide a method, a device, a storage medium, and a terminal for preloading an application program, which can optimize a preloading solution for the application program.
  • an embodiment of the present application provides a method for preloading an application program, including:
  • the first type of prediction model is used to determine the target candidate application set
  • an application preloading device including:
  • the application set determination module is configured to determine a target candidate application set by using a first-type prediction model when an application preload event is detected to be triggered;
  • a target application determination module configured to determine a target application to be preloaded in the target candidate application set by using a second type prediction model corresponding to the target candidate application set;
  • the preloading module is configured to preload the target application.
  • a computer-readable storage medium in an embodiment of the present application.
  • the storage medium stores a computer program, and when the computer program is executed by a processor, the application program according to the embodiment of the present application is preloaded. method.
  • an embodiment of the present application provides a terminal, including a memory, a processor, and a computer program stored in the memory and executable by the processor.
  • the processor executes the computer program, the implementation is as in the present application.
  • FIG. 1 is a schematic flowchart of an application preloading method according to an embodiment of the present application
  • FIG. 2 is a schematic diagram of a relative position relationship between a preloaded active window stack and a display screen display area according to an embodiment of the present application
  • FIG. 3 is a schematic diagram of a relative position relationship between another preloaded active window stack and a display screen display area according to an embodiment of the present application
  • FIG. 4 is a schematic diagram of application interface migration provided by an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of another application preloading method according to an embodiment of the present application.
  • FIG. 6 is a schematic flowchart of another application preloading method according to an embodiment of the present application.
  • FIG. 7 is a structural block diagram of an application preloading device 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 according to an embodiment of the present application.
  • FIG. 1 is a schematic flowchart of an application preloading method according to an embodiment of the present application.
  • the method may be executed by an application preloading device, where the device may be implemented by software and / or hardware, and may generally be integrated in a terminal.
  • the method includes:
  • Step 110 When it is detected that an application preloading event is triggered, a first type prediction model is used to determine a target candidate application set.
  • the terminal in the embodiments of the present application may include terminal devices such as a mobile phone, a tablet computer, a notebook computer, and smart home appliances.
  • the terminal is loaded with an operating system.
  • the triggering condition of the application preload event can be set according to the actual situation, which is not specifically limited in the embodiment of the present application.
  • an application preload event can be triggered when it is detected that a user's action meets a preset condition (such as picking up a terminal, entering a screen to unlock an operation, or inputting a terminal to unlock an operation, etc.); or when a change to a foreground application is detected, Trigger an application preload event; or you can trigger an application preload event immediately (or after a preset time period has elapsed) after the prediction process of the preloaded application ends; or you can trigger at regular intervals.
  • the system can detect that the application preload event has been triggered by reading a flag bit or receiving a trigger instruction, and the specific detection method is not limited in this embodiment of the present application.
  • a candidate application installed in a terminal may be divided to obtain multiple candidate application sets.
  • Candidate applications can include all applications installed in the terminal, or they can include some applications. Some applications may include applications that are frequently used by users, and may also include third-party applications, that is, some applications may not include applications that are rarely used by users, or may not include system applications. This embodiment of the present application does not limit the manner and quantity of candidate application programs.
  • the candidate application can be determined according to the number of times and / or the use time of one or more applications in a preset period before the current time.
  • the preset period is, for example, 1 month, when the number of uses and / or When the usage time exceeds the corresponding threshold, the corresponding application is determined as a candidate application, or multiple applications are sorted according to the number of uses and / or the length of use, and the top-ranked application is determined as a candidate application .
  • the division manner of the candidate application set is not limited.
  • it can be divided according to application types, that is, applications that belong to the same type are divided into candidate application sets corresponding to the type, and the application rules for dividing application types are not limited, for example, according to the user ’s Personal needs or the default classification in the app store are divided into social, office, game, shopping, property, photography and video, and education; etc .; also according to the frequency of application use during the historical use period For example, if multiple use frequency intervals are set, they are classified into a certain frequency interval according to the application frequency of the application in the historical period (for example, in the past month), and each frequency interval corresponds to a candidate application set; The training samples used for model training are clustered.
  • KNN K-NearestNeighbor
  • the candidate application set is divided according to the clustering result. It can also be divided according to folders, that is, belong to the same An application in a folder is divided into a set of candidate applications corresponding to the folder.
  • the name is the corresponding candidate application set; it can also be divided by the desktop interface, that is, the application corresponding to the application icon belonging to the same desktop interface is divided into the candidate application set corresponding to the desktop interface, which can be based on the desktop.
  • the sequence number names the corresponding candidate application set.
  • the division method of the candidate application set can also be freely set by the user. For example, a division list is maintained in the terminal, and the user can add applications for each candidate application set according to his actual needs.
  • the first type of prediction model is set to predict which candidate application set the application program to be started by the user belongs to.
  • the first type of prediction model can be a machine learning model.
  • the algorithms used can include Recurrent Neural Networks (RNN), Long Short-Term Memory (LSTM) networks, and Deep Neural Networks. (DNN), threshold loop unit, simple loop unit, autoencoder, decision tree, random forest, feature mean classification, classification regression tree, hidden Markov, K-Nearest Neighbor (KNN) algorithm, logistic regression model, Bayesian model, Gaussian model, KLback-Leibler divergence, etc.
  • a first training sample may be collected, and a sample mark corresponding to the first training sample may be recorded.
  • the sample mark is a candidate application set to which the application program opened at the time of collecting the training sample, Or after the sample collection time (can be within a set time period, such as within 10 minutes), the candidate application set to which the opened application belongs, uses the first training sample and the corresponding sample mark to train the preset initial model, and finally gets used for The first type of prediction model that predicts which candidate application set the application to be preloaded belongs to.
  • the elements included in the first training sample may include the time, place, and frequency of the application being opened; and may include the operating status of the terminal, such as the on / off status of the mobile data network, the connection status of the wireless hotspot, and the connected Wireless hotspot identity information, currently running application, previous foreground application, the length of time the current application stays in the background, the time when the current application was last switched to the background, the plugging state of the headphone jack, the charging status, Battery power information and screen display time; it can also include data collected by sensors integrated in the terminal, such as motion sensors, light sensors, temperature sensors, and humidity sensors.
  • the appropriate sample elements can be selected according to the selected machine learning model, and the selected machine learning model can be determined according to the selected sample elements.
  • the model can also be combined with the needs for prediction accuracy and prediction speed.
  • the selection of sample elements are not limited in the embodiments of the present application.
  • the first current sample may be collected according to the sample elements included in the first training sample, the first current sample is input into the first type prediction model, and the target candidate application is determined according to the output result of the first type prediction model. set.
  • the output result of the first type of prediction model may be the hit probability of each candidate application set, and the candidate application set with the higher or highest hit probability is determined as the target candidate application set.
  • the target candidate application set may be one or more, which is not limited in the embodiment of the present application.
  • Step 120 Use a second-type prediction model corresponding to the target candidate application set to determine a target application to be preloaded included in the target candidate application set.
  • model training is performed for each candidate application set to obtain a second corresponding to each candidate application set.
  • a class prediction model, and the second type of prediction model is set to predict an application program to be started by a user included in a corresponding candidate application set (that is, a target candidate application set).
  • the second type of prediction model can be a machine learning model.
  • the algorithms used can include Recurrent Neural Networks (RNN), Deep Neural Network (DNN), Long Short-Term Memory (LSTM) ) Network, threshold loop unit, simple loop unit, autoencoder, decision tree, random forest, feature mean classification, classification regression tree, hidden Markov, K-Nearest Neighbor (KNN) algorithm, logistic regression model, Bayesian model, Gaussian model, KLback-Leibler divergence, etc.
  • the algorithm used for the second type of prediction model may be the same as or different from the first type of prediction model, which is not limited in the embodiment of the present application.
  • a second training sample may be collected and a sample mark corresponding to the second training sample may be recorded.
  • the sample mark is an application program opened at the time of training sample collection, or after the time of sample collection (Can be within a set period of time, such as within 10 minutes) for an open application (the opened application belongs to the corresponding candidate application set), the first training sample and the corresponding sample mark are used to predict the current candidate application set corresponding to the current candidate application set.
  • the initial model is set for training, and finally a second type of prediction model for predicting the application to be preloaded is obtained.
  • the elements included in the second training sample may include the time, place, and frequency of the application being opened; and may include the operating status of the terminal, the on / off status of the mobile data network, the connection status of the wireless hotspot, and the connected wireless Hotspot identity information, currently running application, previous foreground application, length of time the current application stays in the background, time when the current application was last switched to the background, plug and unplug status of the headphone jack, charging status, battery Power information and screen display time; it can also include data collected by sensors integrated in the terminal, such as motion sensors, light sensors, temperature sensors, and humidity sensors.
  • the elements included in the second training sample may be the same as or different from the elements included in the first training sample.
  • the number of element types included in the first training sample is less than the number of element types included in the second training sample.
  • the advantage of this setting is that because the first type prediction model is used for rough prediction, the number of sample bodies can be reduced. To reduce the time cost of model training and applying the model to make predictions, and improve the prediction speed.
  • the second current sample may be collected according to the sample elements included in the second training sample, and the second current sample may be input into a second type prediction model corresponding to the target candidate application set.
  • the output determines the target application to be preloaded.
  • the output result of the second type of prediction model may be the startup probability of each application corresponding to the candidate application set (ie, the target candidate application set), and the application with the higher or highest startup probability is determined as the target application. program.
  • the startup probability includes a probability that an application program is about to be opened.
  • Step 130 Preload the target application program.
  • multiple target applications may be determined one by one as the current to-be-loaded application, Pre-loading operations are performed in sequence, or more than two target applications can be determined as the current to-be-pre-loaded applications, and pre-loading operations are performed simultaneously, that is, the pre-loading process of multiple applications can be performed in parallel.
  • the specific process of preloading and the resources loaded are not limited.
  • a corresponding hardware resource may be allocated to a target application to be preloaded, and related data required for startup may be loaded based on the allocated hardware resources.
  • it may include application process startup, application service startup, memory allocation, file content reading, network data acquisition, and interface rendering.
  • pre-loaded resources can be determined according to the specific type of application to be pre-loaded. For example, if the application to be preloaded is a social software, you can preload the startup screen, contact list, and recent message records in the application; if the application to be preloaded is a game, you can preload the application Game background-related data in the app.
  • the target application corresponding to the running instruction is started based on the preloaded resource.
  • the first type of prediction model is used to determine the target candidate application set, and then the second type of prediction model corresponding to the target candidate application set is used to determine the target.
  • the target application to be preloaded included in the candidate application set is used to preload the target application.
  • the determining a target candidate application set by using the first type of prediction model includes: obtaining a current use time-series association sequence of a foreground application, the current use time-series association sequence including the foreground application and the A sequence formed by at least one application previously used by the foreground application in chronological order; inputting the currently used time-series correlation sequence into a first-type prediction model, and determining a target candidate application according to an output result of the first-type prediction model set.
  • the application B when detecting that the application B is switched to the application A, it indicates that the switching operation of the application running in the foreground is detected.
  • the first application currently running is the application A
  • the application running at the last moment is Application B
  • the currently used time-series association sequence of the currently running first application A is: application B-application A
  • the first application currently running is application C
  • the application running at the last moment is application D
  • the application running at the moment before the last moment is application E.
  • the application E is switched to the application D
  • the application D is switched to the application C
  • the currently used time sequence correlation sequence of the currently running application C can be expressed as: application E-application D-Application C.
  • the embodiment of the present application does not limit the number of applications included in the current usage time-series association sequence of the foreground application.
  • the advantage of this setting is that each time the current application changes, the pre-sequence usage sequence corresponding to the current foreground application changes, and based on the order in which the applications are opened, the application that the user will use quickly and accurately can be predicted The set of candidate applications to which the program belongs.
  • the method before the detecting that an application preload event is triggered, the method further includes: collecting a historical use time-series correlation sequence of the sample application within a first preset time period, as the first training sample, the first A sample tag of a training sample includes a candidate application set to which an application program used after the sample application program belongs; and inputting the first training sample and a corresponding sample tag into a first preset model to the The first preset model is trained, and the trained model is used as the first type of prediction model.
  • the order in which multiple applications are opened in the terminal may be recorded in a preset history period, that is, when the foreground application is switched, the switched application is recorded to obtain an application sequence.
  • the RNN network is used as an example for illustration, and the step size used is 2, so when the sample is extracted, every 2 applications can form a training sample, and the following application labels the sample of the training sample.
  • the stored application sequence is 1,2,2,5,3 ..., where the numbers represent the application's number, which 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 number after the ⁇ symbol is the corresponding sample label.
  • the training samples are sequentially input into a preset RNN network to obtain a first-type prediction model.
  • the determining a target application to be preloaded included in the target candidate application set by using a second type prediction model corresponding to the target candidate application set includes: obtaining current state characteristic information of the terminal; Inputting the current state characteristic information into a second type prediction model corresponding to the target candidate application set, and determining a target to be preloaded in the target candidate application set according to an output result of the second type prediction model application.
  • the current state characteristic information may include the time, place, and frequency of the application being opened; it may include the operating state of the terminal, such as the on / off state of the mobile data network, the connection status of the wireless hotspot, the identity information of the connected wireless hotspot, The plugging and unplugging status, charging status, battery power information, and screen display duration of the headphone jack; it can also include data collected by sensors integrated in the terminal, such as motion sensors, light sensors, temperature sensors, and humidity sensors.
  • the method before the detecting that an application preload event is triggered, the method further includes: collecting a historical state characteristic of the terminal when a sample application in a current candidate application set is used in a second preset time period.
  • Information, as the second training sample, the sample tag of the second training sample includes the sample application or an application program used after the sample application; inputting the second training sample and a corresponding sample tag
  • the second preset model is trained, and the trained second preset model is used as a second type prediction model corresponding to the current candidate application set.
  • the training process of the first type prediction model and the second type prediction model may be performed locally on the terminal, or may be performed on other devices such as a server, which is not limited in the embodiment of the present application.
  • the first preset time period and the second preset time period may be the same or different.
  • the pre-loading the target application includes pre-loading an application interface corresponding to the target application based on a pre-created pre-loading active window stack, wherein the pre-loading active window stack The corresponding boundary coordinates are outside the coordinate range of the display screen.
  • the active window may be understood as an independent interface that directly provides users with interaction and operation, and different terms may be used to name the interface in different operating systems.
  • the following description is made by taking an Android operating system as an example.
  • the active window is called Activity.
  • Activity is a component responsible for interacting with the user. It provides a screen (which can be understood as a screen interface instead of a physical display screen) for the user to interactively complete a certain task.
  • an Activity is usually a separate screen, which can display some controls or listen to and handle user events.
  • Task stack Task stack
  • Stack activity window stack
  • Task corresponds to an application. Task is set to store Activity. One Task can store one or more Activities, and these Activities follow the principle of "first in, first out, last in, first out”.
  • the Stack is set to manage Tasks.
  • a Stack manages the Tasks belonging to one or more Activities that need to be displayed on a screen.
  • a Stack can manage one or more Tasks.
  • the Stack also follows the basics of the Stack. Management principles.
  • the screens described here are not necessarily complete and independent display screens. Taking “two screens" as an example, these two screens may be just two areas in a complete display screen that independently display their respective display contents. Of course, if the terminal has two or more independent display screens, the "two screens" may also be two independent display screens.
  • multi-window mode is supported, which can include split-screen mode, picture-in-picture mode, and FreeForm.
  • the stack where the application is located can have its own size, which can include the upper, lower, left, and right coordinates in a coordinate system with the upper left corner of the terminal screen as the origin.
  • (a, b, c, d) generally describes a rectangular boundary, which can be expressed by the coordinates of the upper left corner and the lower right corner of the rectangle, that is, the upper left corner of the rectangle is (a, b), right The lower corner coordinate is (c, d), and such a rectangular area corresponds to the size of the Stack.
  • the layout of the application in the stack is based on the size of the stack, which means that the application interface corresponding to the activity is displayed within the boundary of the size.
  • pre-loading the application interface of the target application program outside the display screen can be implemented based on the multi-window mechanism of the operating system, and the size corresponding to the application program is set outside the display screen through the multi-window mechanism to achieve The purpose is not visible to the user, so that it does not affect the display of the foreground application display content on the display screen.
  • Home Stack represents the stack displayed by desktop applications
  • App Stack represents the stack displayed by third-party applications
  • the contained content can be displayed on a display screen, which is collectively referred to as an application active window stack in the embodiments of the present application.
  • a preloaded active window stack (preloaded stack) is added, which is set to represent the stack displayed by the preloaded application, and the boundary coordinates of the preloaded stack are set outside the coordinate range of the display screen, to be preloaded
  • the application can be displayed on that Stack.
  • a new Stack dedicated to displaying preloaded applications can be created.
  • a new stack is created because the newly created preloaded stack can have its own size and visibility, thereby achieving the purpose of preloading outside the display screen.
  • the creation timing of the preloaded stack is not limited.
  • the preloaded stack is set to the resident state by default before the terminal leaves the factory, that is, the preloaded stack always exists; the terminal can also be successfully opened when the terminal is powered on or the terminal is unlocked successfully Create later; it can also be created after the application preload event is triggered (before the target application is determined) and so on.
  • pre-loading an application interface corresponding to the target application based on a pre-created pre-loaded active window stack includes: determining whether a pre-created pre-loaded active window stack exists; if not, according to the pre-built Set a rule to create a preloaded active window stack; preload an application interface corresponding to the target application based on the created preloaded active window stack.
  • the target application contains multiple, that is, when multiple applications need to be preloaded continuously in a short period of time, before the first target application starts to load, the preloading Stack has been created, then the first Before the two target applications start to load, the pre-loaded stack exists, so you don't need to make the above judgment.
  • the specific process of the application interface corresponding to the preload target application based on the preloaded stack is not limited.
  • the application interface may be drawn and displayed based on the size of the preloaded stack.
  • pre-loading an application interface corresponding to the target application based on a pre-created pre-loaded active window stack includes: creating a target process corresponding to the target application; in a pre-created pre-loaded active window A task stack corresponding to the target application is created in the stack; an active window corresponding to the target application is started in the task stack based on the target process; and a target application corresponding to the target application is drawn and displayed based on the started active window.
  • Application interface is that it can draw and display the application interface of the target application based on the preloaded active window stack outside the screen coordinate range, without interfering with the operation and display of the foreground application, ensuring system stability, and effectively improving The speed at which the target application starts.
  • the initialization process of the target process can also be included.
  • pre-loading of other resources may also be involved, such as application service startup, memory allocation, file content reading, and network data acquisition.
  • the embodiments of this application do not limit the pre-loading process of other resources.
  • the method further includes: sending a fake focus notification to the target application, and maintaining a continuous drawing and display of an application interface corresponding to the target application within a third preset time period based on the fake focus notification.
  • Update The advantage of this setting is that it can complete the drawing and display of the application interface when the target application obtains focus and is visible to the system, improving the completion of preloading without affecting the focus of the foreground application.
  • the focus in the embodiments of the present application is also referred to as input focus, and the fake focus and the focus corresponding to the foreground application are independent of each other.
  • the focus is unique. For example, input operations such as touch only take effect on the focus.
  • the system and the application are consistent.
  • the system will Send information to the application that the input focus information has changed, this way to ensure that the system and application side input focus information is consistent.
  • the purpose of falsifying the focus on the application side is achieved by separating the system side and the application side from inputting focus information.
  • the focus notification for the preloaded application is forged, so that the preloaded application has focus information, but the focus information on the system side is still correct. Such processing can enable the preloaded application to draw normally and achieve the purpose of all loading.
  • the focus exists on the system side and the application side. It can be considered as the server and the client.
  • the system side records the application that has the focus, and the application side saves a flag to indicate whether it has focus.
  • the timing of falsifying the input focus may be that when the Android window system adds a new window and the focus needs to be updated, a fake focus notification is generated and sent.
  • the method of falsifying the focus may be a method of calling the client side of the window to change the focus of the window, so that the window acquires focus.
  • a fake focus notification can be sent based on the Binder mechanism.
  • the Binder mechanism is the most commonly used method for inter-process communication of the Android system, and adopts a c / s architecture, that is, a client / service architecture.
  • the first preset time period, the second preset time period, and the third preset time period may be designed according to actual conditions.
  • the third preset time period may be within a fixed time range after starting preloading. , It can also be the period from the start of preloading to the completion of preloading.
  • the length of the third preset time period includes a playing time of starting an advertisement or starting an animation in the target application. During the startup of some applications, some advertisements or animations are usually played. The duration of advertisements or animations usually ranges from 3 seconds to more than ten seconds.
  • the user may not be able to perform any operation, only Can wait for the playback to finish, wasting valuable time of the user.
  • the advantage of this embodiment of the present application is that it can play the startup advertisement or startup animation off the screen before the target application is launched. When the target application is launched, it can directly enter the main page of the application or other user-operable Interface to further advance the operable time point of the target application and reduce waiting time.
  • the method further includes: when receiving a running instruction of the target application, loading the pre-load An application interface corresponding to a target application corresponding to the running instruction included in the active window stack is migrated to the display screen for display.
  • the migrating an application interface corresponding to a target application corresponding to the running instruction included in the preloading activity window stack to the display screen for display includes: moving the preloading activity
  • the task stack corresponding to the target application corresponding to the run instruction included in the window stack is migrated to the top of the application active window stack; the size information, configuration information, and visibility of the task stack are updated to achieve the target application
  • the corresponding application interface is displayed on the display screen.
  • the display mode of the display screen usually includes vertical screen display and horizontal screen display.
  • Many applications use vertical screen display by default, and some applications By default, the program is displayed in landscape mode (such as some online games). During the use of the terminal, some applications will switch between horizontal and vertical display as the user holds the terminal.
  • 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 In the upper left corner of the display screen
  • H is the length of the long side of the display area of the display screen.
  • FIG. 2 is a schematic diagram of a relative position relationship between a preloaded active window stack and a display screen display area according to an embodiment of the present application.
  • the display screen is in the vertical screen mode
  • the origin of the terminal system coordinates is the left vertex (0,0) of the display screen 201
  • the width direction of the display screen 201 is the X axis
  • the height direction is the Y axis.
  • FIG. 3 is a schematic diagram of a relative position relationship between another preloaded active window stack and a display screen display area according to an embodiment of the present application.
  • the display screen is in landscape mode
  • the origin of the terminal system coordinates is the left vertex (0,0) of the display screen 301
  • the height direction of the display screen 301 is the X axis
  • the width direction is the Y axis.
  • the boundary coordinates corresponding to loading Stack202 are (H, 0, 2H, H), where H is the screen height, that is, the area within the solid rectangle on the left is the main screen display area, and the area within the rectangle on the right dashed line is the preload display area.
  • the horizontal axis of the upper left corner is H, which is to prevent the display screen (also called the home screen) from being displayed on the pre-loaded application interface when the screen is horizontal, because the home screen has a horizontal screen mode in addition to the vertical screen mode.
  • the horizontal coordinate of the upper left corner of the rectangular area corresponding to the preloaded stack is set to the screen height.
  • the vertical coordinate of the upper left corner is 0, so that the preloaded application can correctly calculate the height of the status bar.
  • the Android application will customize the top status bar. If the corresponding vertical coordinate is not equal to 0, the height of the status bar may be wrong.
  • the size of the preloaded stack is set to (H, 0, 2H, H).
  • FIG. 4 is a schematic diagram of an application interface migration provided by an embodiment of the present application.
  • an application corresponding to the target application included in the active window stack is preloaded.
  • the interface 401 is migrated to the display screen 201 for display.
  • the task to which the preloaded application interface belongs is migrated to the top of the application activity window Stack, and the size information, configuration information, and visibility of the task are updated to thereby apply the interface. Able to display normally on the display screen.
  • FIG. 5 is a schematic flowchart of another application preloading method according to an embodiment of the present application. The method includes the following steps:
  • Step 501 Collect a current sample when it is detected that an application preload event is triggered.
  • Step 502 Input the current sample into a first-type prediction model based on an RNN network, and determine a target candidate application set according to an output result of the first-type prediction model.
  • Step 503 Input the current sample into a second type prediction model based on the DNN network corresponding to the target candidate application set, and determine a target application to be preloaded in the target candidate application set according to an output result of the second type prediction model program.
  • Step 504 Pre-load an application interface corresponding to the target application based on a pre-created pre-loaded active window stack, wherein a boundary coordinate corresponding to the pre-loaded active window stack is outside a coordinate range of the display screen.
  • Step 505 When the running instruction of the target application is received, the application interface of the target application corresponding to the running instruction contained in the preloaded active window stack is migrated to a display screen for display.
  • the application preloading method provided in the embodiment of the present application can use the same training samples to separately train the RNN network and the DNN network.
  • the samples corresponding to the training samples are labeled as candidate application sets, and in When training a DNN network, the samples corresponding to the training samples are labeled as specific applications. This saves time during the training and sample collection stages.
  • the application preload event is triggered, the current sample is first input into the first type of prediction model based on the RNN network, the target candidate application set is predicted, and then the current sample is input into the second type of prediction model based on the DNN network.
  • the application to be preloaded is predicted, and the off-screen preloading method is used to avoid the interference of the preloading process on the foreground application.
  • the application interface that is preloaded offscreen can be directly migrated. Go to the display screen for display, effectively improving the startup speed of the target application.
  • FIG. 6 is a schematic flowchart of another application preloading method according to an embodiment of the present application. The method includes:
  • Step 601 Collect the historical use time-series correlation sequence of the sample application in the first preset time period as the first training sample, and collect historical state characteristic information of the terminal when the sample application is used as the second training sample.
  • the sample mark of the first training sample includes a candidate application set to which an application used after the sample application belongs; the sample mark of the second training sample includes a candidate used after the sample application application.
  • the candidate application set to which they belong may not be distinguished temporarily, and only the sample mark of the second training sample is recorded, that is, the application used after the sample application is recorded. program.
  • the length of the first preset time period may be, for example, 2 months.
  • the numbers are sorted according to the frequency of each application used within the 2 months. Assign the highest ID number to the most frequently used application, and the lowest ID number to the least frequently used application. Assuming a total of 100 candidate applications, the final number is 1 to 100, and then the 100 IDs are divided into n types of applications, such as 4 categories: most commonly used, commonly used, infrequently used, rarely used, 25 in each category . That is, it is divided into 4 candidate application sets according to frequency, and each candidate application set contains 25 candidate application programs.
  • Step 602 Input a first training sample and a corresponding sample mark into a first preset model to train the first preset model, and use the trained model as a first-type prediction model.
  • the first preset model may be a machine learning model based on an RNN network.
  • Step 603 For each candidate application set, input a second training sample corresponding to the current candidate application set and a corresponding sample tag into a second preset model to train the second preset model, and train the The second preset model is used as a second type prediction model corresponding to the current candidate application set.
  • the second preset model may be a machine learning model based on a DNN network.
  • the above example is used as an example for illustration.
  • Four second-type prediction models are obtained, that is, each of the four candidate application sets has its own corresponding second-type prediction model.
  • Step 604 Collect the first current sample and the second current sample when it is detected that the application preload event is triggered.
  • Step 605 The first current sample is input to a first-type prediction model, and a target candidate application set is determined according to an output result of the first-type prediction model.
  • the determined target candidate application set is the most commonly used candidate application set.
  • Step 606 Determine the corresponding second-type prediction model according to the target candidate application set, input the second current sample to the second-type prediction model, and determine the target application to be preloaded according to the output result of the second-type prediction model.
  • the second current sample is input into a second-type prediction model corresponding to the most commonly used candidate application set, and one or more target applications are selected from 25 applications according to the model output result.
  • Step 607 Pre-load an application interface corresponding to the target application based on a pre-created pre-loaded active window stack.
  • the boundary coordinates corresponding to the preloaded active window stack are located outside the coordinate range of the display screen.
  • Step 608 When the running instruction of the target application is received, the application interface of the target application corresponding to the running instruction contained in the preloaded active window stack is migrated to a display screen for display.
  • a terminal collects a first training sample and a second training sample in a historical period, and trains a first type prediction model for predicting a target candidate application set based on the first training sample.
  • the second training sample is trained to obtain the second type of prediction model used to predict the application to be preloaded, so as to achieve the purpose of sample collection and model training locally at the terminal, and reduce data transmission, making the sample collection and prediction model update more timely.
  • it can save traffic and can be applied to mobile terminals such as mobile phones.
  • two types of prediction models are used to perform segmented prediction to improve the prediction accuracy and accuracy of the application.
  • the off-screen preloading method is used to avoid the interference of the preloading process to the foreground application.
  • the preloaded application can be directly preloaded offscreen.
  • the interface is migrated to the display screen for display, which effectively improves the startup speed of the target application.
  • FIG. 7 is a structural block diagram of an application preloading device according to an embodiment of the present application.
  • the device may be implemented by software and / or hardware, and is generally integrated in a terminal.
  • the application preloading method may be performed to perform application preloading. load.
  • the device includes:
  • An application set determining module 701 configured to determine a target candidate application set by using a first-type prediction model when an application preload event is detected to be triggered;
  • a target application determining module 702 configured to determine a target application to be preloaded in the target candidate application set by using a second type prediction model corresponding to the target candidate application set;
  • the preloading module 703 is configured to preload the target application program.
  • the application preloading device when detecting that an application preloading event is triggered, uses a first type prediction model to determine a target candidate application set, and then uses a second type prediction model corresponding to the target candidate application set to determine a target.
  • the target application to be preloaded included in the candidate application set is used to preload the target application.
  • the application set determination module 701 is configured to:
  • Obtaining a current use time-series association sequence of a foreground application where the current use time-series association sequence includes a sequence formed by the foreground application and at least one application used before the foreground application in chronological order;
  • the current used time-series correlation sequence is input into a first-type prediction model, and a target candidate application set is determined according to an output result of the first-type prediction model.
  • the device further includes:
  • a first training sample acquisition module is configured to collect a history of a sample application in a first preset time period using a time-series association sequence as a first training sample before the detection that an application preload event is triggered.
  • a sample tag of a training sample includes a candidate application set to which an application program used after the sample application program belongs;
  • a first model training module configured to input the first training sample and a corresponding sample marker into a first preset model to train the first preset model, and use the trained model as a first class Forecasting model.
  • the target application determination module 702 is configured to:
  • the device further includes:
  • a second training sample acquisition module is configured to collect historical state characteristics of the terminal when a sample application in a current candidate application set is used within a second preset time period before the detection that an application preload event is triggered Information as the second training sample, and the sample tag of the second training sample includes an application program used after the sample application program;
  • a second model training module configured to input the second training sample and a corresponding sample marker into a second preset model to train the second preset model and to train the second preset model after training As a second type prediction model corresponding to the current candidate application set.
  • the division rule of the candidate application set includes division according to an application type or division according to a usage frequency of an application during a historical usage period.
  • the preloading module 703 is configured to:
  • An application interface corresponding to the target application is preloaded based on a pre-created preloaded active window stack, wherein a boundary coordinate corresponding to the preloaded active window stack is outside a coordinate range of a display screen.
  • the preloading module 703 is configured to:
  • An application interface corresponding to the target application is drawn and displayed based on the activated active window.
  • the device is further configured to:
  • an application interface corresponding to the target application corresponding to the running instruction included in the preloaded active window stack is migrated to the display screen for display.
  • the device is further configured to:
  • the device is further configured to:
  • the preloading module 703 is configured to:
  • At least two target applications among the multiple target applications are preloaded simultaneously.
  • An embodiment of the present application further provides a storage medium including computer-executable instructions, where the computer-executable instructions are used to execute an application program preloading method when executed by a computer processor, the method includes:
  • the first type of prediction model is used to determine the target candidate application set
  • Storage medium any one or more types of memory devices or storage devices.
  • the term "storage medium” is intended to include: installation media, such as Compact Disc Read-Only Memory (CD-ROM), floppy disks, or magnetic tape devices; computer system memory or random access memory, such as dynamic random access memory Access Memory (Dynamic Random Access Memory, DRAM), Double Rate Random Access Memory (DDR Random Access Memory, DDR RAM), Static Random Access Memory (Static Random Access Memory, SRAM), and extended data output random storage Access Memory (Extended Data, Random-Access Memory, EDO, RAM), Rambus Random-Access Memory (Random-Access Memory, RAM), etc .; Non-volatile memory, such as flash memory, magnetic media (such as hard disk or Optical storage); registers or other similar types of memory elements, etc.
  • installation media such as Compact Disc Read-Only Memory (CD-ROM), floppy disks, or magnetic tape devices
  • computer system memory or random access memory such as dynamic random access memory Access Memory (Dynamic Random Access Memory,
  • the storage medium may further include other types of memory or a combination thereof.
  • 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 system, and the first computer system is configured to execute the program instructions.
  • the term "storage medium" may include two or more storage media that may reside in different locations, such as in different computer systems connected through a network.
  • the storage medium may store program instructions (for example, embodied as a computer program) executable by one or more processors.
  • a storage medium including computer-executable instructions provided in the embodiments of the present application is not limited to the application preloading operation described above, and may also execute the application provided by any embodiment of the present application Related operations in the preload method.
  • FIG. 8 is a schematic structural diagram of a terminal according to an embodiment of the present application.
  • the terminal 800 may include: a memory 801, a processor 802, and a computer program stored on the memory 801 and executable by the processor 802. When the processor 802 executes the computer program, the application program according to the embodiment of the present application is implemented. Preload method.
  • the terminal provided in the embodiment of the present application can use two different types of prediction models to perform staged prediction, thereby improving the accuracy of application prediction.
  • FIG. 9 is a schematic structural diagram of another terminal according to an embodiment of the present application.
  • the terminal may include: a housing (not shown in the figure), a memory 901, a central processing unit (CPU) 902 (also referred to as processing). Device), a circuit board (not shown in the figure), and a power supply circuit (not shown in the figure).
  • the circuit board is disposed in a space surrounded by the housing; the CPU 902 and the memory 901 are provided on the circuit board; and the power supply circuit is provided as a plurality of circuits or devices of the terminal
  • the memory 901 is configured to store executable program code; the CPU 902 reads the executable program code stored in the memory 901 to run a computer program corresponding to the executable program code to implement the following step:
  • the first type of prediction model is used to determine the target candidate application set
  • the terminal further includes: a peripheral interface 903, a radio frequency (RF) circuit 905, an audio circuit 906, a speaker 911, a power management chip 908, an input / output (I / O) subsystem 909, and other
  • RF radio frequency
  • the input / control device 910, the touch screen 912, other input / control devices 910, and the external port 904, these components communicate through one or more communication buses or signal lines 907.
  • the illustrated terminal 900 is only an example of the terminal, and the terminal 900 may have more or fewer components than those shown in the figure, may combine two or more components, or may have Different component configurations.
  • the one or more 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 terminal uses a mobile phone as an example.
  • Memory 901 which can be accessed by CPU 902, peripheral interface 903, etc.
  • the memory 901 can include high-speed random access memory, and can also include non-volatile memory, such as one or more disk storage devices, flash memory Devices, or other volatile solid-state storage devices.
  • the I / O subsystem 909 which can connect input / output peripherals on the device, such as touch screen 912 and other input / control devices 910, to peripheral interface 903.
  • the I / O subsystem 909 may include a display controller 9091 and one or more input controllers 9092 for controlling other input / control devices 910. Among them, one or more input controllers 9092 receive electrical signals from or send electrical signals to other input / control devices 910.
  • Other input / control devices 910 may include physical buttons (press buttons, rocker buttons, etc.) ), Dial, slide switch, joystick, click wheel. It is worth noting that the input controller 9092 may be connected to any of the following: a keyboard, an infrared port, a universal serial bus (Universal Serial Bus, USB) interface, and a pointing device such as a mouse.
  • USB Universal Serial Bus
  • a touch screen 912 which is an input interface and an output interface between a user terminal and a user, and displays a visual output to the user.
  • the visual output may include graphics, text, icons, videos, and the like.
  • the display controller 9091 in the I / O subsystem 909 receives an electric signal from the touch screen 912 or sends an electric signal to the touch screen 912.
  • the touch screen 912 detects a contact on the touch screen, and the display controller 9091 converts the detected contact into interaction with a user interface object displayed on the touch screen 912, that is, realizes human-computer interaction.
  • the user interface object displayed on the touch screen 912 may be running Icons for games, icons connected to the appropriate network, etc. It is worth noting that the device may also include a light mouse, which is a touch-sensitive surface that does not display visual output, or an extension of the touch-sensitive surface formed by a touch screen.
  • the RF circuit 905 is configured to establish communication between a mobile phone and a wireless network (that is, a network side), and realize data reception and transmission of the mobile phone and the wireless network. For example, send and receive text messages, e-mail, and so on.
  • the RF circuit 905 receives and sends RF signals.
  • the RF signals are also referred to as electromagnetic signals.
  • the RF circuit 905 converts electrical signals into electromagnetic signals or converts electromagnetic signals into electrical signals, and communicates with the communication network through the electromagnetic signals. As well as other devices.
  • RF circuit 905 may include known circuits for performing these functions, including, but not limited to, antenna systems, RF transceivers, one or more amplifiers, tuners, one or more oscillators, digital signal processors, codecs (COder-DECoder, CODEC) chipset, Subscriber Identity Module (SIM), and so on.
  • antenna systems including, but not limited to, antenna systems, RF transceivers, one or more amplifiers, tuners, one or more oscillators, digital signal processors, codecs (COder-DECoder, CODEC) chipset, Subscriber Identity Module (SIM), and so on.
  • CODEC codecs
  • SIM Subscriber Identity Module
  • the audio circuit 906 is configured to receive audio data from the peripheral interface 903, convert the audio data into an electrical signal, and send the electrical signal to the speaker 911.
  • the speaker 911 is configured to restore a voice signal received by the mobile phone from the wireless network through the RF circuit 905 to a sound and play the sound to a user.
  • the power management chip 908 is configured to provide power and power management for the hardware connected to the CPU 902, the I / O subsystem, and peripheral interfaces.
  • the application preloading device, storage medium, and terminal provided in the foregoing embodiments can execute the application preloading method provided in any embodiment of the present application, and have corresponding function modules and effects for executing the method.
  • application preloading method provided in any embodiment of the present application.

Abstract

Disclosed is an application program pre-loading method, comprising: when it is detected that an application pre-loading event is triggered, determining a target candidate application set by using a first type of prediction model; determining a target application program to be pre-loaded comprised in the target candidate application set by using a second type of prediction model corresponding to the target candidate application set; and pre-loading the target application program. Also disclosed are an application program pre-loading device, a storage medium, and a terminal.

Description

应用程序预加载方法、装置、存储介质及终端Application program preloading method, device, storage medium and terminal
本申请要求在2018年05月29日提交中国专利局、申请号为201810532724.9的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。This application claims priority from a Chinese patent application filed with the Chinese Patent Office on May 29, 2018 with application number 201810532724.9, the entire contents of which are incorporated herein by reference.
技术领域Technical field
本申请实施例涉及应用程序加载技术领域,例如涉及应用程序预加载方法、装置、存储介质及终端。The embodiments of the present application relate to the technical field of application program loading, for example, to a method, a device, a storage medium, and a terminal for preloading an application program.
背景技术Background technique
目前,诸如智能手机、平板电脑、笔记本电脑以及智能家电等终端已成为人们日常生活中必不可少的电子设备。随着终端设备不断地智能化,多数终端设备中都装载有操作系统,使得终端设备能够安装丰富多样的应用程序,满足用户不同的需求。At present, terminals such as smart phones, tablet computers, laptops, and smart home appliances have become essential electronic devices in people's daily lives. With the continuous intelligentization of terminal devices, most terminal devices are loaded with operating systems, enabling terminal devices to install a variety of applications to meet different needs of users.
随着终端设备的配置不断提升,多数终端设备中可以安装几十甚至上百个应用程序,而随着应用程序的功能日益丰富,应用程序运行时所需加载的资源也越来越多。当用户选择启动一个应用程序时,终端会对该应用程序启动所需的资源进行加载,待加载完毕后,进入应用程序的初始界面,整个过程通常要花费数秒甚至十几秒的时间,导致应用程序的启动效率较低,亟需改进。With the continuous improvement of the configuration of terminal devices, dozens or even hundreds of applications can be installed in most terminal devices, and as the functions of applications become more and more abundant, more resources need to be loaded when the applications run. When the user chooses to start an application, the terminal will load the resources required for the application to start. After loading, the initial interface of the application is entered. The entire process usually takes several seconds or even ten seconds, resulting in the application. The start-up efficiency of the program is low and urgently needs improvement.
发明内容Summary of the invention
本申请实施例提供一种应用程序预加载方法、装置、存储介质及终端,可以优化应用程序的预加载方案。The embodiments of the present application provide a method, a device, a storage medium, and a terminal for preloading an application program, which can optimize a preloading solution for the application program.
在一实施例中,本申请实施例提供了一种应用程序预加载方法,包括:In an embodiment, an embodiment of the present application provides a method for preloading an application program, including:
检测到应用预加载事件被触发时,采用第一类预测模型确定目标候选应用集合;When it is detected that the application preload event is triggered, the first type of prediction model is used to determine the target candidate application set;
采用所述目标候选应用集合对应的第二类预测模型确定所述目标候选应用集合中包含的待预加载的目标应用程序;Determining a target application to be preloaded included in the target candidate application set by using a second type prediction model corresponding to the target candidate application set;
对所述目标应用程序进行预加载。Pre-load the target application.
在一实施例中,本申请实施例提供了一种应用程序预加载装置,包括:In an embodiment, an embodiment of the present application provides an application preloading device, including:
应用集合确定模块,设置为在检测到应用预加载事件被触发时,采用第一类预测模型确定目标候选应用集合;The application set determination module is configured to determine a target candidate application set by using a first-type prediction model when an application preload event is detected to be triggered;
目标应用确定模块,设置为采用所述目标候选应用集合对应的第二类预测模型确定所述目标候选应用集合中包含的待预加载的目标应用程序;A target application determination module configured to determine a target application to be preloaded in the target candidate application set by using a second type prediction model corresponding to the target candidate application set;
预加载模块,设置为对所述目标应用程序进行预加载。The preloading module is configured to preload the target application.
在一实施例中,本申请实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如本申请实施例所述的应用程序预加载方法。In an embodiment, a computer-readable storage medium is provided in an embodiment of the present application. The storage medium stores a computer program, and when the computer program is executed by a processor, the application program according to the embodiment of the present application is preloaded. method.
在一实施例中,本申请实施例提供了一种终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所 述的应用程序预加载方法。In an embodiment, an embodiment of the present application provides a terminal, including a memory, a processor, and a computer program stored in the memory and executable by the processor. When the processor executes the computer program, the implementation is as in the present application. The application preloading method described in the embodiment.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1为本申请实施例提供的一种应用程序预加载方法的流程示意图;FIG. 1 is a schematic flowchart of an application preloading method according to an embodiment of the present application; FIG.
图2为本申请实施例提供的一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图;2 is a schematic diagram of a relative position relationship between a preloaded active window stack and a display screen display area according to an embodiment of the present application;
图3为本申请实施例提供的另一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图;3 is a schematic diagram of a relative position relationship between another preloaded active window stack and a display screen display area according to an embodiment of the present application;
图4为本申请实施例提供的一种应用界面迁移示意图;4 is a schematic diagram of application interface migration provided by an embodiment of the present application;
图5为本申请实施例提供的另一种应用程序预加载方法的流程示意图;5 is a schematic flowchart of another application preloading method according to an embodiment of the present application;
图6为本申请实施例提供的又一种应用程序预加载方法的流程示意图;6 is a schematic flowchart of another application preloading method according to an embodiment of the present application;
图7为本申请实施例提供的一种应用程序预加载装置的结构框图;FIG. 7 is a structural block diagram of an application preloading device according to an embodiment of the present application; FIG.
图8为本申请实施例提供的一种终端的结构示意图;8 is a schematic structural diagram of a terminal according to an embodiment of the present application;
图9为本申请实施例提供的另一种终端的结构示意图。FIG. 9 is a schematic structural diagram of another terminal according to an embodiment of the present application.
具体实施方式Detailed ways
下面结合附图并通过实施方式来说明本申请的技术方案。可以理解的是,此处所描述的实施例仅仅用于解释本申请,而非对本申请的限定。为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。The technical solution of the present application will be described below with reference to the drawings and embodiments. It can be understood that the embodiments described herein are only used to explain the present application, rather than limiting the present application. For ease of description, only some, but not all, structures related to the present application are shown in the drawings.
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将多个步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,一个或多个步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。Before discussing the exemplary embodiments in more detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although flowcharts describe multiple steps as sequential processing, many of these steps can be performed in parallel, concurrently, or simultaneously. In addition, the order of one or more steps may be rearranged. The process may be terminated when its operation is completed, but may also have additional steps not included in the drawings. The processing may correspond to methods, functions, procedures, subroutines, subroutines, and so on.
图1为本申请实施例提供的一种应用程序预加载方法的流程示意图,该方法可以由应用程序预加载装置执行,其中该装置可由软件和/或硬件实现,一般可集成在终端中。如图1所示,该方法包括:FIG. 1 is a schematic flowchart of an application preloading method according to an embodiment of the present application. The method may be executed by an application preloading device, where the device may be implemented by software and / or hardware, and may generally be integrated in a terminal. As shown in Figure 1, the method includes:
步骤110、检测到应用预加载事件被触发时,采用第一类预测模型确定目标候选应用集合。Step 110: When it is detected that an application preloading event is triggered, a first type prediction model is used to determine a target candidate application set.
示例性的,本申请实施例中的终端可包括手机、平板电脑、笔记本电脑以及智能家电等终端设备。终端中装载有操作系统。Exemplarily, the terminal in the embodiments of the present application may include terminal devices such as a mobile phone, a tablet computer, a notebook computer, and smart home appliances. The terminal is loaded with an operating system.
示例性的,应用预加载事件的触发条件可以根据实际情况设置,本申请实施例不作具体限定。例如,可以在检测到用户的动作满足预设条件(如拿起终端、输入屏幕解锁操作或输入终端解锁操作等)时,触发应用预加载事件;或者可以在检测到前台应用程序发生变更时,触发应用预加载事件;或者可以在预加载应用的预测流程结束后,立即(或经过预设时长后)触发应用预加载事件;或者可以定时间隔触发等等。当应用预加载事件被触发后,系统可以通过读取标志位或接收触发指令等方式检测到应用预加载事件已被触发,具体的检测方式本申请实施例也不做限定。Exemplarily, the triggering condition of the application preload event can be set according to the actual situation, which is not specifically limited in the embodiment of the present application. For example, an application preload event can be triggered when it is detected that a user's action meets a preset condition (such as picking up a terminal, entering a screen to unlock an operation, or inputting a terminal to unlock an operation, etc.); or when a change to a foreground application is detected, Trigger an application preload event; or you can trigger an application preload event immediately (or after a preset time period has elapsed) after the prediction process of the preloaded application ends; or you can trigger at regular intervals. After the application preload event is triggered, the system can detect that the application preload event has been triggered by reading a flag bit or receiving a trigger instruction, and the specific detection method is not limited in this embodiment of the present application.
本申请实施例中,在检测到应用预加载事件被触发之前,或者在检测应用预加载事件是否被触发之前,可对终端中安装的候选应用程序进行划分,得到多个候选应用程序集合。候选应用程序可包括终端中安装的所有应用程序,也可包括部分应用程序。部分应用程序可包括用户经常使用的应用程序,也可包括第三方应用程序,也就是说,部分应用程序可以不包含用户很少使用的应用程序,也可以不包含系统应用程序。本申请实施例对候选应用程序的确定方式以及数量不做限定。在一实施例中,可根据当前时刻之前的预设时段内一个或多个应用程序的使用次数和/或使用时长确定候选应用程序,预设时段例如是1个月,当使用次数和/或使用时长超过相应的阈值时,将所对应的应用程序确定为候选应用程序,或者,按照使用次数和/或使用时长对多个应用程序进行排序,将排名靠前的应用程序确定为候选应用程序。In the embodiment of the present application, before detecting that an application preload event is triggered, or before detecting whether an application preload event is triggered, a candidate application installed in a terminal may be divided to obtain multiple candidate application sets. Candidate applications can include all applications installed in the terminal, or they can include some applications. Some applications may include applications that are frequently used by users, and may also include third-party applications, that is, some applications may not include applications that are rarely used by users, or may not include system applications. This embodiment of the present application does not limit the manner and quantity of candidate application programs. In an embodiment, the candidate application can be determined according to the number of times and / or the use time of one or more applications in a preset period before the current time. The preset period is, for example, 1 month, when the number of uses and / or When the usage time exceeds the corresponding threshold, the corresponding application is determined as a candidate application, or multiple applications are sorted according to the number of uses and / or the length of use, and the top-ranked application is determined as a candidate application .
本申请实施例中,对候选应用集合的划分方式不做限定。例如,可按照应用程序类型划分,即属于同一类型的应用程序被划分至该类型对应的候选应用程序集合中,其中,本申请对应用程序类型的划分规则也不做限定,例如可根据用户的个人需求或应用商店中的默认分类分为如社交类、办公类、游戏类、购物类、财产类、摄影与录像类以及教育类等等;也可按照历史使用期间内应用程序的使用频次划分,如设置多个使用频次区间,按照应用程序在历史时段(如近1个月内)内的使用频次划入某个频次区间内,每个频次区间对应一个候选应用程序集合;还可以对用于模型训练的训练样本进行聚类,如采用K最近邻(k-NearestNeighbor,KNN)算法进行聚类,根据聚类结果进行候选应用集合的划分;也可以是按照文件夹进行划分,即属于同一个文件夹内的应用程序被划分至该文件夹对应的候选应用程序集合中,可以以文件夹的名称为对应的候选应用程序集合命名;也可以是桌面界面进行划分,即属于同一个桌面界面的应用图标对应的应用程序被划分至该桌面界面对应的候选应用程序集合中,可以以桌面的序号为对应的候选应用程序集合命名。此外,候选应用程序集合的划分方式也可以由用户自由设置,例如在终端中维护一个划分列表,用户可根据自己的实际需求为每个候选应用程序集合添加应用程序。In the embodiment of the present application, the division manner of the candidate application set is not limited. For example, it can be divided according to application types, that is, applications that belong to the same type are divided into candidate application sets corresponding to the type, and the application rules for dividing application types are not limited, for example, according to the user ’s Personal needs or the default classification in the app store are divided into social, office, game, shopping, property, photography and video, and education; etc .; also according to the frequency of application use during the historical use period For example, if multiple use frequency intervals are set, they are classified into a certain frequency interval according to the application frequency of the application in the historical period (for example, in the past month), and each frequency interval corresponds to a candidate application set; The training samples used for model training are clustered. For example, K-NearestNeighbor (KNN) algorithm is used for clustering, and the candidate application set is divided according to the clustering result. It can also be divided according to folders, that is, belong to the same An application in a folder is divided into a set of candidate applications corresponding to the folder. The name is the corresponding candidate application set; it can also be divided by the desktop interface, that is, the application corresponding to the application icon belonging to the same desktop interface is divided into the candidate application set corresponding to the desktop interface, which can be based on the desktop. The sequence number names the corresponding candidate application set. In addition, the division method of the candidate application set can also be freely set by the user. For example, a division list is maintained in the terminal, and the user can add applications for each candidate application set according to his actual needs.
本申请实施例中,第一类预测模型设置为预测即将被用户启动的应用程序属于哪个候选应用集合中。第一类预测模型可以是机器学习模型,所采用的算法可以包括循环神经网络(Recurrent neural networks,RNN)、长短期记忆(Long Short-Term Memory,LSTM)网络、深度神经网络(Deep Neural Network,DNN)、门限循环单元、简单循环单元、自动编码器、决策树、随机森林、特征均值分类、分类回归树、隐马尔科夫、K最近邻(k-NearestNeighbor,KNN)算法、逻辑回归模型、贝叶斯模型、高斯模型以及KL散度(Kullback–Leibler divergence)等等。In the embodiment of the present application, the first type of prediction model is set to predict which candidate application set the application program to be started by the user belongs to. The first type of prediction model can be a machine learning model. The algorithms used can include Recurrent Neural Networks (RNN), Long Short-Term Memory (LSTM) networks, and Deep Neural Networks. (DNN), threshold loop unit, simple loop unit, autoencoder, decision tree, random forest, feature mean classification, classification regression tree, hidden Markov, K-Nearest Neighbor (KNN) algorithm, logistic regression model, Bayesian model, Gaussian model, KLback-Leibler divergence, etc.
在一实施例中,可在用户使用终端的过程中,采集第一训练样本,并记录第一训练样本对应的样本标记,样本标记即为训练样本采集时刻打开的应用程序所属的候选应用集合,或样本采集时刻之后(可以是设定时长内,如10分钟内)打开的应用程序所属的候选应用集合,采用第一训练样本和对应的样本标记对预设初始模型进行训练,最终得到用于预测待预加载应用程序属于哪个候选应用集合的第一类预测模型。示例性的,第一训练样本中包含的元素可包括应用程序被打开的时间、地点以及频次等;可包括终端的运行状态,如移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、当前运行的应用程序、上一个前景应用程序、当前应用程序在后台停留的时长、当前应用程序最近一次被切换至后台的时间、耳机插孔的插拔状态、充电状态、电池电量信息以及屏幕显示时长等等;还可包括终端中集成的传感器采集到的数据,如运动传感器、光线传感器、温度传感器以及湿度传感器等等。In an embodiment, during the process of using the terminal by the user, a first training sample may be collected, and a sample mark corresponding to the first training sample may be recorded. The sample mark is a candidate application set to which the application program opened at the time of collecting the training sample, Or after the sample collection time (can be within a set time period, such as within 10 minutes), the candidate application set to which the opened application belongs, uses the first training sample and the corresponding sample mark to train the preset initial model, and finally gets used for The first type of prediction model that predicts which candidate application set the application to be preloaded belongs to. Exemplarily, the elements included in the first training sample may include the time, place, and frequency of the application being opened; and may include the operating status of the terminal, such as the on / off status of the mobile data network, the connection status of the wireless hotspot, and the connected Wireless hotspot identity information, currently running application, previous foreground application, the length of time the current application stays in the background, the time when the current application was last switched to the background, the plugging state of the headphone jack, the charging status, Battery power information and screen display time; it can also include data collected by sensors integrated in the terminal, such as motion sensors, light sensors, temperature sensors, and humidity sensors.
示例性的,可根据所选用的机器学习模型选择合适的样本元素,也可根据所选的样本元素确定所选用的机器学习模型,还可结合对预测准确度以及预测速度等方面的需求进行模型及样本元素的选择等,本申请实施例不做限定。For example, the appropriate sample elements can be selected according to the selected machine learning model, and the selected machine learning model can be determined according to the selected sample elements. The model can also be combined with the needs for prediction accuracy and prediction speed. And the selection of sample elements are not limited in the embodiments of the present application.
示例性的,可按照第一训练样本中包含的样本元素进行第一当前样本的采集,将第一当前样本输入至第一类预测模型中,根据第一类预测模型的输出结果确定目标候选应用集合。在一实施例中,第一类预测模型的输出结果可以是每个候选应用集合的命中概率,将命中概率较高或最高的候选应用集合确定为目标候选应用集合。目标候选应用集合可以是一个或多个,本申请实施例不做限定。Exemplarily, the first current sample may be collected according to the sample elements included in the first training sample, the first current sample is input into the first type prediction model, and the target candidate application is determined according to the output result of the first type prediction model. set. In an embodiment, the output result of the first type of prediction model may be the hit probability of each candidate application set, and the candidate application set with the higher or highest hit probability is determined as the target candidate application set. The target candidate application set may be one or more, which is not limited in the embodiment of the present application.
步骤120、采用所述目标候选应用集合对应的第二类预测模型确定所述目标候选应用集合中包含的待预加载的目标应用程序。Step 120: Use a second-type prediction model corresponding to the target candidate application set to determine a target application to be preloaded included in the target candidate application set.
本申请实施例中,在检测到应用预加载事件被触发之前,或者在检测应用预加载事件是否被触发之前,针对每个候选应用集合进行模型训练,得到每个候选应用集合分别对应的第二类预测模型,第二类预测模型设置为预测所对应的候选应用集合(即目标候选应用集合)中包含的即将被用户启动的应用程序。第二类预测模型可以是机器学习模型,所采用的算法可以包括循环神经网络(Recurrent neural networks,RNN)、深度神经网络(Deep Neural Network,DNN)、长短期记忆(Long Short-Term Memory,LSTM)网络、门限循环单元、简单循环单元、自动编码器、决策树、随机森林、特征均值分类、分类回归树、隐马尔科夫、K最近邻(k-NearestNeighbor,KNN)算法、逻辑回归模型、贝叶斯模型、高斯模型以及KL散度(Kullback–Leibler divergence)等等。第二类预测模型所采用的算法可以与第一类预测模型相同,也可不同,本申请实施例不做限定。In the embodiment of the present application, before detecting that an application preload event is triggered, or before detecting whether an application preload event is triggered, model training is performed for each candidate application set to obtain a second corresponding to each candidate application set. A class prediction model, and the second type of prediction model is set to predict an application program to be started by a user included in a corresponding candidate application set (that is, a target candidate application set). The second type of prediction model can be a machine learning model. The algorithms used can include Recurrent Neural Networks (RNN), Deep Neural Network (DNN), Long Short-Term Memory (LSTM) ) Network, threshold loop unit, simple loop unit, autoencoder, decision tree, random forest, feature mean classification, classification regression tree, hidden Markov, K-Nearest Neighbor (KNN) algorithm, logistic regression model, Bayesian model, Gaussian model, KLback-Leibler divergence, etc. The algorithm used for the second type of prediction model may be the same as or different from the first type of prediction model, which is not limited in the embodiment of the present application.
在一实施例中,可在用户使用终端的过程中,采集第二训练样本,并记录第二训练样本对应的样本标记,样本标记即为训练样本采集时刻打开的应用程序,或样本采集时刻之后(可以是设定时长内,如10分钟内)打开的应用程序(所打开的应用程序属于对应的候选应用集合),采用第一训练样本和对应的样本标记对当前候选应用程序集合对应的预设初始模型进行训练,最终得到用于预测待预加载应用程序的第二类预测模型。示例性的,第二训练样本中包含的元素可包括应用程序被打开的时间、地点以及频次等;可包括终端的运行状态,移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、当前运行的应用程序、上一个前景应用程序、当前应用程序在后台停留的时长、当前应用程序最近一次被切换至后台的时间、耳机插孔的插拔状态、充电状态、电池电量信息以及屏幕显示时长等等;还可包括终端中集成的传感器采集到的数据,如运动传感器、光线传感器、温度传感器以及湿度传感器等等。本申请实施例中,第二训练样本中包含的元素可以与第一训练样本中包含的元素相同,也可不同。在一些实施例中,第一训练样本中包含的元素种类数小于第二训练样本中包含的元素种类数,这样设置的好处在于,由于第一类预测模型用于粗略预测,可以通过减少样本体量来降低模型训练以及应用模型进行预测时的时间成本,提高预测速度。In an embodiment, during the process of using the terminal by the user, a second training sample may be collected and a sample mark corresponding to the second training sample may be recorded. The sample mark is an application program opened at the time of training sample collection, or after the time of sample collection (Can be within a set period of time, such as within 10 minutes) for an open application (the opened application belongs to the corresponding candidate application set), the first training sample and the corresponding sample mark are used to predict the current candidate application set corresponding to the current candidate application set. The initial model is set for training, and finally a second type of prediction model for predicting the application to be preloaded is obtained. Exemplarily, the elements included in the second training sample may include the time, place, and frequency of the application being opened; and may include the operating status of the terminal, the on / off status of the mobile data network, the connection status of the wireless hotspot, and the connected wireless Hotspot identity information, currently running application, previous foreground application, length of time the current application stays in the background, time when the current application was last switched to the background, plug and unplug status of the headphone jack, charging status, battery Power information and screen display time; it can also include data collected by sensors integrated in the terminal, such as motion sensors, light sensors, temperature sensors, and humidity sensors. 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 included in the first training sample is less than the number of element types included in the second training sample. The advantage of this setting is that because the first type prediction model is used for rough prediction, the number of sample bodies can be reduced. To reduce the time cost of model training and applying the model to make predictions, and improve the prediction speed.
示例性的,可按照第二训练样本中包含的样本元素进行第二当前样本的采集,将第二当前样本输入至目标候选应用集合对应的第二类预测模型中,根据第二类预测模型的输出结果确定待预加载的目标应用程序。在一实施例中,第二类预测模型的输出结果可以是对应候选应用集合(即目标候选应用集合)的每个应用程序的启动概率,将启动概率较高或最高的应用程序确定为目标应用程序。所述启动概率包括应用程序即将被打开的概率。Exemplarily, the second current sample may be collected according to the sample elements included in the second training sample, and the second current sample may be input into a second type prediction model corresponding to the target candidate application set. The output determines the target application to be preloaded. In an embodiment, the output result of the second type of prediction model may be the startup probability of each application corresponding to the candidate application set (ie, the target candidate application set), and the application with the higher or highest startup probability is determined as the target application. program. The startup probability includes a probability that an application program is about to be opened.
步骤130、对所述目标应用程序进行预加载。Step 130: Preload the target application program.
本申请实施例中,当目标应用程序仅有一个时,无需考虑应用的预加载顺序;而当目标应用程序有多个时,可将多个目标应用程序逐一确定为当前待预加载应用程序,并依次进行预加载操作,也可将2个以上的目标应用程序确定为当前待预加载应用程序,并同时进行预加载操作,也就是说多个应用程序的预加载过程可以是并行进行的。In the embodiment of the present application, when there is only one target application, there is no need to consider the preloading order of the applications; and when there are multiple target applications, multiple target applications may be determined one by one as the current to-be-loaded application, Pre-loading operations are performed in sequence, or more than two target applications can be determined as the current to-be-pre-loaded applications, and pre-loading operations are performed simultaneously, that is, the pre-loading process of multiple applications can be performed in parallel.
本申请实施例中对预加载的具体过程以及所加载的资源不做限定,例如可为待预加载的目标应用程序分配相应的硬件资源,并基于分配的硬件资源加载启动所需的相关数据。示例 性的,可包括应用进程启动、应用服务启动、内存分配、文件内容读取、网络数据获取以及界面渲染等。此外,预加载的资源可根据待预加载应用程序的具体类型来确定。例如,若待预加载应用程序为一个社交软件,则可以预加载该应用程序中的启动画面、联系人列表以及近期的消息记录等;若待预加载应用程序为一个游戏,则可以预加载该应用程序中的游戏背景相关数据等。In the embodiment of the present application, the specific process of preloading and the resources loaded are not limited. For example, a corresponding hardware resource may be allocated to a target application to be preloaded, and related data required for startup may be loaded based on the allocated hardware resources. Exemplarily, it may include application process startup, application service startup, memory allocation, file content reading, network data acquisition, and interface rendering. In addition, pre-loaded resources can be determined according to the specific type of application to be pre-loaded. For example, if the application to be preloaded is a social software, you can preload the startup screen, contact list, and recent message records in the application; if the application to be preloaded is a game, you can preload the application Game background-related data in the app.
在一实施例中,在对所述目标应用程序进行预加载之后,在接收到目标应用程序的运行指令时,基于已预加载的资源启动所述运行指令对应的目标应用程序。In one embodiment, after the target application is preloaded, when receiving a running instruction of the target application, the target application corresponding to the running instruction is started based on the preloaded resource.
本申请实施例中提供的应用程序预加载方法,检测到应用预加载事件被触发时,采用第一类预测模型确定目标候选应用集合,再采用目标候选应用集合对应的第二类预测模型确定目标候选应用集合中包含的待预加载的目标应用程序,对目标应用程序进行预加载。通过采用上述技术方案,可以采用两类不同的预测模型进行分阶段预测,提高应用程序预测的准确度。In the application preloading method provided in the embodiment of the present application, when it is detected that an application preloading event is triggered, the first type of prediction model is used to determine the target candidate application set, and then the second type of prediction model corresponding to the target candidate application set is used to determine the target. The target application to be preloaded included in the candidate application set is used to preload the target application. By adopting the above technical solution, two different types of prediction models can be used for staged prediction, which improves the accuracy of application prediction.
在一些实施例中,所述采用第一类预测模型确定目标候选应用集合,包括:获取前台应用程序的当前使用时序关联序列,所述当前使用时序关联序列包含所述前台应用程序以及在所述前台应用程序之前被使用的至少一个应用程序按照时间顺序形成的序列;将所述当前使用时序关联序列输入至第一类预测模型中,根据所述第一类预测模型的输出结果确定目标候选应用集合。示例性的,当检测应用程序B切换到应用程序A时,表明检测到前台运行应用程序的切换操作,此时,当前运行的第一应用程序为应用程序A,上一时刻运行的应用程序为应用程序B,则当前运行的第一应用程序A的当前使用时序关联序列为:应用程序B-应用程序A。又示例性的,当前运行的第一应用程序为应用程序C,上一时刻运行的应用程序为应用程序D,在上一时刻的前一时刻运行的应用程序为应用程序E。可以理解的是,先由应用程序E切换到应用程序D,再由应用程序D切换到应用程序C,则当前运行的应用程序C的当前使用时序关联序列可以表示为:应用程序E-应用程序D-应用程序C。本申请实施例对前台应用程序的当前使用时序关联序列中包含的应用程序的数量不做限定。这样设置的好处在于,每当前台应用程序发生变更时,当前前台应用程序对应的前序使用序列就会发生变化,而基于应用程序被打开的顺序,可以快速准确地预测出用户即将使用的应用程序所属的候选应用集合。In some embodiments, the determining a target candidate application set by using the first type of prediction model includes: obtaining a current use time-series association sequence of a foreground application, the current use time-series association sequence including the foreground application and the A sequence formed by at least one application previously used by the foreground application in chronological order; inputting the currently used time-series correlation sequence into a first-type prediction model, and determining a target candidate application according to an output result of the first-type prediction model set. Exemplarily, when detecting that the application B is switched to the application A, it indicates that the switching operation of the application running in the foreground is detected. At this time, the first application currently running is the application A, and the application running at the last moment is Application B, then the currently used time-series association sequence of the currently running first application A is: application B-application A. As another example, the first application currently running is application C, the application running at the last moment is application D, and the application running at the moment before the last moment is application E. It can be understood that, first, the application E is switched to the application D, and then the application D is switched to the application C, and then the currently used time sequence correlation sequence of the currently running application C can be expressed as: application E-application D-Application C. The embodiment of the present application does not limit the number of applications included in the current usage time-series association sequence of the foreground application. The advantage of this setting is that each time the current application changes, the pre-sequence usage sequence corresponding to the current foreground application changes, and based on the order in which the applications are opened, the application that the user will use quickly and accurately can be predicted The set of candidate applications to which the program belongs.
在一些实施例中,在所述检测到应用预加载事件被触发之前,还包括:在第一预设时间段内采集样本应用程序的历史使用时序关联序列,作为第一训练样本,所述第一训练样本的样本标记包括在所述样本应用程序之后被使用的应用程序所属的候选应用集合;将所述第一训练样本和对应的样本标记输入至第一预设模型中,以对所述第一预设模型进行训练,将训练后的模型作为第一类预测模型。在一实施例中,可在预设历史周期内记录终端中多个应用程序被打开的顺序,即前台应用程序发生切换时,记录切换后的应用程序,得到应用程序序列。以RNN网络为例进行说明,采用的步长为2,因此在样本抽取时,每2个应用程序即可形成一个训练样本,紧随其后的应用程序为该训练样本的样本标记。例如,存储的应用序列为1,2,2,5,3…,其中的数字代表应用程序的数字编号,则可拆解成样本(1,2→2),(2,2→5),(2,5→3),…,其中每个样本中前两个数为输入,→符号后的数为对应的样本标记。将训练样本依次输入至预设的RNN网络中,得到的第一类预测模型。In some embodiments, before the detecting that an application preload event is triggered, the method further includes: collecting a historical use time-series correlation sequence of the sample application within a first preset time period, as the first training sample, the first A sample tag of a training sample includes a candidate application set to which an application program used after the sample application program belongs; and inputting the first training sample and a corresponding sample tag into a first preset model to the The first preset model is trained, and the trained model is used as the first type of prediction model. In an embodiment, the order in which multiple applications are opened in the terminal may be recorded in a preset history period, that is, when the foreground application is switched, the switched application is recorded to obtain an application sequence. The RNN network is used as an example for illustration, and the step size used is 2, so when the sample is extracted, every 2 applications can form a training sample, and the following application labels the sample of the training sample. For example, the stored application sequence is 1,2,2,5,3 ..., where the numbers represent the application's number, which 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 number after the → symbol is the corresponding sample label. The training samples are sequentially input into a preset RNN network to obtain a first-type prediction model.
在一些实施例中,所述采用所述目标候选应用集合对应的第二类预测模型确定所述目标候选应用集合中包含的待预加载的目标应用程序,包括:获取终端的当前状态特征信息;将所述当前状态特征信息输入至所述目标候选应用集合对应的第二类预测模型中,根据所述第二类预测模型的输出结果确定所述目标候选应用集合中包含的待预加载的目标应用程序。这样设置的好处在于,在使用应用序列预测出目标候选应用集合后,可采用更加丰富的样本元 素进行进一步的精准预测。其中,当前状态特征信息可包括应用程序被打开的时间、地点以及频次等;可包括终端的运行状态,如移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、耳机插孔的插拔状态、充电状态、电池电量信息以及屏幕显示时长等等;还可包括终端中集成的传感器采集到的数据,如运动传感器、光线传感器、温度传感器以及湿度传感器等等。In some embodiments, the determining a target application to be preloaded included in the target candidate application set by using a second type prediction model corresponding to the target candidate application set includes: obtaining current state characteristic information of the terminal; Inputting the current state characteristic information into a second type prediction model corresponding to the target candidate application set, and determining a target to be preloaded in the target candidate application set according to an output result of the second type prediction model application. The advantage of this setting is that after using the application sequence to predict the target candidate application set, a richer sample element can be used for further accurate prediction. The current state characteristic information may include the time, place, and frequency of the application being opened; it may include the operating state of the terminal, such as the on / off state of the mobile data network, the connection status of the wireless hotspot, the identity information of the connected wireless hotspot, The plugging and unplugging status, charging status, battery power information, and screen display duration of the headphone jack; it can also include data collected by sensors integrated in the terminal, such as motion sensors, light sensors, temperature sensors, and humidity sensors.
在一些实施例中,在所述检测到应用预加载事件被触发之前,还包括:在第二预设时间段内采集当前候选应用集合中的样本应用程序被使用时所述终端的历史状态特征信息,作为第二训练样本,所述第二训练样本的样本标记包括所述样本应用程序或在所述样本应用程序之后被使用的应用程序;将所述第二训练样本和对应的样本标记输入至第二预设模型中,以对所述第二预设模型进行训练,将训练后的第二预设模型作为所述当前候选应用集合对应的第二类预测模型。这样设置的好处在于,采用更加丰富的样本元素进行模型训练,提高预测精度及准确度。In some embodiments, before the detecting that an application preload event is triggered, the method further includes: collecting a historical state characteristic of the terminal when a sample application in a current candidate application set is used in a second preset time period. Information, as the second training sample, the sample tag of the second training sample includes the sample application or an application program used after the sample application; inputting the second training sample and a corresponding sample tag In the second preset model, the second preset model is trained, and the trained second preset model is used as a second type prediction model corresponding to the current candidate application set. The advantage of this setting is that the model is trained with richer sample elements, which improves prediction accuracy and accuracy.
本申请实施例中,第一类预测模型和第二类预测模型的训练过程可以在终端本地进行,也可以在服务器等其他设备上进行,本申请实施例不做限定。In the embodiment of the present application, the training process of the first type prediction model and the second type prediction model may be performed locally on the terminal, or may be performed on other devices such as a server, which is not limited in the embodiment of the present application.
在一实施例中,第一预设时间段和第二预设时间段可以相同,也可以不同。In an embodiment, the first preset time period and the second preset time period may be the same or different.
在一些实施例中,所述对所述目标应用程序进行预加载,包括:基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。这样设置的好处在于,对应用界面进行预加载,能够较大程度地完成应用启动前的准备工作,提升待预加载应用程序的启动速度,且不会影响到前台应用程序的显示内容在显示屏幕上的显示。In some embodiments, the pre-loading the target application includes pre-loading an application interface corresponding to the target application based on a pre-created pre-loading active window stack, wherein the pre-loading active window stack The corresponding boundary coordinates are outside the coordinate range of the display screen. The advantage of this setting is that pre-loading the application interface can greatly complete the preparation work before the application is started, and improve the startup speed of the application to be pre-loaded without affecting the display content of the foreground application on the display screen. On the display.
本申请实施例中,活动窗口可理解为一个独立的直接面向用户提供交互和操作的界面,在不同的操作系统中可能采用不同的名词来命名该界面。为了便于理解,下面以安卓(Android)操作系统为例进行下面的说明。In the embodiment of the present application, the active window may be understood as an independent interface that directly provides users with interaction and operation, and different terms may be used to name the interface in different operating systems. In order to facilitate understanding, the following description is made by taking an Android operating system as an example.
在Android系统中,活动窗口被称为Activity。Activity是一个负责与用户交互的组件,其提供一个屏幕(可以理解为屏幕界面,而非实体的显示屏幕),以供用户交互完成某项任务。在一个android应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件。在对Activity进行管理中,有这样两个概念:任务栈(Task)和活动窗口堆栈(Stack)。Task对应一个应用程序,Task设置为存放Activity,一个Task中可以存放一个或多个Activity,且这些Activity遵循―先进后出,后进先出‖的原则。而Stack设置为对Task进行管理,通常,一个Stack对一个屏幕所需展示的一个或多个Activity所属的Task进行管理,一个Stack可以管理一个或多个Task,当然,Stack也同样遵循堆栈的基本管理原则。这里所述的屏幕并不一定是完整独立的显示屏,以“两个屏幕”为例,这两个屏幕可能只是一个完整显示屏中两个独立显示各自显示内容的区域。当然,如果终端具备两个甚至是两个以上的独立显示屏,则“两个屏幕”也可以是两个独立的显示屏。In the Android system, the active window is called Activity. Activity is a component responsible for interacting with the user. It provides a screen (which can be understood as a screen interface instead of a physical display screen) for the user to interactively complete a certain task. In an android application, an Activity is usually a separate screen, which can display some controls or listen to and handle user events. In the management of Activity, there are two concepts: Task stack (Task) and activity window stack (Stack). Task corresponds to an application. Task is set to store Activity. One Task can store one or more Activities, and these Activities follow the principle of "first in, first out, last in, first out". The Stack is set to manage Tasks. Generally, a Stack manages the Tasks belonging to one or more Activities that need to be displayed on a screen. A Stack can manage one or more Tasks. Of course, the Stack also follows the basics of the Stack. Management principles. The screens described here are not necessarily complete and independent display screens. Taking "two screens" as an example, these two screens may be just two areas in a complete display screen that independently display their respective display contents. Of course, if the terminal has two or more independent display screens, the "two screens" may also be two independent display screens.
在Android系统中,支持多窗口模式,可包括分屏模式、画中画模式以及自由模式(FreeForm)。在多窗口模式下,应用程序所在的Stack可以有自己的尺寸(size),可以包括以终端屏幕左上角为原点的坐标系中的上下左右坐标。例如,(a,b,c,d),一般描述的是一个矩形的边界,可采用矩形左上角的坐标和右下角的坐标进行表示,即矩形的左上角坐标为(a,b),右下角坐标为(c,d),这样的矩形区域就对应Stack的size。Stack中的应用内布局是以Stack的size为准的,也就是说Activity对应的应用界面是在size的边界范围内进行显示的。In the Android system, multi-window mode is supported, which can include split-screen mode, picture-in-picture mode, and FreeForm. In the multi-window mode, the stack where the application is located can have its own size, which can include the 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) generally describes a rectangular boundary, which can be expressed by the coordinates of the upper left corner and the lower right corner of the rectangle, that is, the upper left corner of the rectangle is (a, b), right The lower corner coordinate is (c, d), and such a rectangular area corresponds to the size of the Stack. The layout of the application in the stack is based on the size of the stack, which means that the application interface corresponding to the activity is displayed within the boundary of the size.
在多窗口模式下,可以允许多个应用程序处于可见状态,包括系统和用户均可见和仅系 统可见。系统和用户均可见指的是在显示屏幕上进行显示,且用户能够看到;仅系统可见指的是操作系统可见,而用户不可见,可能被前台的应用遮挡或者如本申请所要实现的在显示屏幕外显示。In multi-window mode, you can allow multiple applications to be visible, including both system and user and system only. Both visible to the system and the user means to be displayed on the display screen and can be seen by the user; only visible to the system means that the operating system is visible and the user is not visible, which may be obscured by the application in the foreground or as implemented in this application. Show off screen.
本申请实施例中,在显示屏幕外对目标应用程序的应用界面进行预加载,可以基于操作系统的多窗口机制来实现,通过多窗口机制将应用程序对应的size设在显示屏幕外而达到对用户不可见的目的,从而不会影响到前台应用程序的显示内容在显示屏幕上的显示。In the embodiment of the present application, pre-loading the application interface of the target application program outside the display screen can be implemented based on the multi-window mechanism of the operating system, and the size corresponding to the application program is set outside the display screen through the multi-window mechanism to achieve The purpose is not visible to the user, so that it does not affect the display of the foreground application display content on the display screen.
一般的,多窗口模式下,可以存在多种类型的Stack,如Home Stack表示桌面应用显示的Stack,App Stack表示第三方应用显示的Stack,还可以有其他分屏Stack等,上述三种Stack中包含的内容可在显示屏幕上显示,本申请实施例中统称为应用活动窗口堆栈。本申请实施例中,新增了预加载活动窗口堆栈(预加载Stack),设置为表示预加载应用显示的Stack,并设置预加载Stack的边界坐标位于显示屏幕的坐标范围之外,待预加载的应用程序可以显示在该Stack。对于Android系统来说,可以基于Android系统的多窗口机制,新建一个专门用于显示预加载应用的Stack。本申请实施例中,新建Stack是因为可以让新建的预加载Stack拥有自己的size以及可见性,从而实现在显示屏幕外预加载的目的。Generally, in multi-window mode, there can be multiple types of stacks. For example, Home Stack represents the stack displayed by desktop applications, App Stack represents the stack displayed by third-party applications, and there can be other split-screen stacks. The contained content can be displayed on a display screen, which is collectively referred to as an application active window stack in the embodiments of the present application. In the embodiment of the present application, a preloaded active window stack (preloaded stack) is added, which is set to represent the stack displayed by the preloaded application, and the boundary coordinates of the preloaded stack are set outside the coordinate range of the display screen, to be preloaded The application can be displayed on that Stack. For the Android system, based on the multi-window mechanism of the Android system, a new Stack dedicated to displaying preloaded applications can be created. In the embodiment of the present application, a new stack is created because the newly created preloaded stack can have its own size and visibility, thereby achieving the purpose of preloading outside the display screen.
本申请实施例中,对预加载Stack的创建时机不做限定,可以是在终端出厂前默认设置预加载Stack处于常驻状态,即预加载Stack一直存在;也可以在终端开机时或终端解锁成功后创建;还可以在应用预加载事件被触发后(可以在确定目标应用程序之前)创建等等。在一实施例中,所述基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,包括:判断是否存在预先创建的预加载活动窗口堆栈;若不存在,则按照预设规则创建预加载活动窗口堆栈;基于所创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面。这样设置的好处在于,在确定待预加载的目标应用程序之后,判断预加载Stack是否存在,若存在,则无需新建,若不存在,则进行创建,可以节省系统资源。可以理解的是,当目标应用程序包含多个时,也即需要在短时间内连续预加载多个应用程序时,在第一个目标应用程序开始加载前,预加载Stack已创建完毕,那么第二个目标应用程序开始加载前,预加载Stack是存在的,可以不必进行上述判断。In the embodiment of the present application, the creation timing of the preloaded stack is not limited. The preloaded stack is set to the resident state by default before the terminal leaves the factory, that is, the preloaded stack always exists; the terminal can also be successfully opened when the terminal is powered on or the terminal is unlocked successfully Create later; it can also be created after the application preload event is triggered (before the target application is determined) and so on. In an embodiment, pre-loading an application interface corresponding to the target application based on a pre-created pre-loaded active window stack includes: determining whether a pre-created pre-loaded active window stack exists; if not, according to the pre-built Set a rule to create a preloaded active window stack; preload an application interface corresponding to the target application based on the created preloaded active window stack. The advantage of this setting is that after determining the target application to be preloaded, it is determined whether the preloaded stack exists. If it exists, it does not need to be created. If it does not exist, it is created to save system resources. It can be understood that when the target application contains multiple, that is, when multiple applications need to be preloaded continuously in a short period of time, before the first target application starts to load, the preloading Stack has been created, then the first Before the two target applications start to load, the pre-loaded stack exists, so you don't need to make the above judgment.
本申请实施例中,对基于预加载Stack预加载目标应用程序对应的应用界面的具体过程不做限定,例如可以基于预加载Stack的size进行应用界面的绘制并显示等。In the embodiment of the present application, the specific process of the application interface corresponding to the preload target application based on the preloaded stack is not limited. For example, the application interface may be drawn and displayed based on the size of the preloaded stack.
在一些实施例中,所述基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,包括:创建所述目标应用程序对应的目标进程;在预先创建的预加载活动窗口堆栈中创建所述目标应用程序对应的任务栈;基于所述目标进程在所述任务栈中启动所述目标应用程序对应的活动窗口;基于所启动的活动窗口绘制并显示所述目标应用程序对应的应用界面。这样设置的好处在于,能够基于屏幕坐标范围之外的预加载活动窗口堆栈对目标应用程序的应用界面进行绘制并显示,不会干扰前台应用程序的运行及显示,保证系统稳定性,同时有效提高目标应用程序启动时的速度。在创建目标进程的同时,还可包括目标进程的初始化过程。在上述步骤的执行过程中,还可能涉及其他资源的预加载,如应用服务启动、内存分配、文件内容读取及网络数据获取等,本申请实施例对其他资源的预加载过程不做限定。In some embodiments, pre-loading an application interface corresponding to the target application based on a pre-created pre-loaded active window stack includes: creating a target process corresponding to the target application; in a pre-created pre-loaded active window A task stack corresponding to the target application is created in the stack; an active window corresponding to the target application is started in the task stack based on the target process; and a target application corresponding to the target application is drawn and displayed based on the started active window. Application interface. The advantage of this setting is that it can draw and display the application interface of the target application based on the preloaded active window stack outside the screen coordinate range, without interfering with the operation and display of the foreground application, ensuring system stability, and effectively improving The speed at which the target application starts. When the target process is created, the initialization process of the target process can also be included. During the execution of the above steps, pre-loading of other resources may also be involved, such as application service startup, memory allocation, file content reading, and network data acquisition. The embodiments of this application do not limit the pre-loading process of other resources.
在一些实施例中,还包括:向所述目标应用程序发送伪造焦点通知,并基于所述伪造焦点通知在第三预设时间段内保持所述目标应用程序对应的应用界面的持续绘制以及显示更新。这样设置的好处在于,能够在目标应用程序获得焦点并对系统可见的情况下完成应用界面的绘制及显示,提高预加载的完成度,且不对前台应用的焦点产生影响。本申请实施例中的焦点又称为输入焦点,伪造焦点与前台应用对应的焦点相互独立。一般的,对于目前的Android系统来说,焦点是唯一的,例如触摸等输入操作只对焦点生效,对于输入焦点信息,系统端 和应用端是一致的,系统端一旦修改输入焦点信息,就会向应用发送输入焦点信息发生变化的信息,以此方法保证系统端和应用端输入焦点信息一致。本申请实施例中,通过分离系统端和应用端输入焦点信息的方式,实现应用端可伪造焦点的目的。本申请实施例中,对预加载应用伪造焦点通知,使预加载应用具有焦点信息,而系统端的焦点信息仍然是正确的,这样处理可以使得预加载应用能够正常绘制,达到全部加载的目的。焦点存在于系统端和应用端,可认为是服务端(server)和客户端(client),系统端记录拥有焦点的应用,应用端保存标志位(flag)标识自己是否有焦点。伪造输入焦点的时机可以是当Android的窗口系统新增窗口,需要更新焦点时,生成伪造焦点通知并进行发送。伪造焦点的方法可以是调用窗口的client端的改变窗口焦点的方法,使得该窗口获取焦点。在一实施例中,可基于Binder机制进行伪造焦点通知的发送,Binder机制是Android系统的进程间通信的最常用的方式,采用c/s架构,即客户/服务架构。In some embodiments, the method further includes: sending a fake focus notification to the target application, and maintaining a continuous drawing and display of an application interface corresponding to the target application within a third preset time period based on the fake focus notification. Update. The advantage of this setting is that it can complete the drawing and display of the application interface when the target application obtains focus and is visible to the system, improving the completion of preloading without affecting the focus of the foreground application. The focus in the embodiments of the present application is also referred to as input focus, and the fake focus and the focus corresponding to the foreground application are independent of each other. Generally, for the current Android system, the focus is unique. For example, input operations such as touch only take effect on the focus. For the input of focus information, the system and the application are consistent. Once the system changes the input focus information, it will Send information to the application that the input focus information has changed, this way to ensure that the system and application side input focus information is consistent. In the embodiment of the present application, the purpose of falsifying the focus on the application side is achieved by separating the system side and the application side from inputting focus information. In the embodiment of the present application, the focus notification for the preloaded application is forged, so that the preloaded application has focus information, but the focus information on the system side is still correct. Such processing can enable the preloaded application to draw normally and achieve the purpose of all loading. The focus exists on the system side and the application side. It can be considered as the server and the client. The system side records the application that has the focus, and the application side saves a flag to indicate whether it has focus. The timing of falsifying the input focus may be that when the Android window system adds a new window and the focus needs to be updated, a fake focus notification is generated and sent. The method of falsifying the focus may be a method of calling the client side of the window to change the focus of the window, so that the window acquires focus. In one embodiment, a fake focus notification can be sent based on the Binder mechanism. The Binder mechanism is the most commonly used method for inter-process communication of the Android system, and adopts a c / s architecture, that is, a client / service architecture.
本申请实施例中,第一预设时间段、第二预设时间段以及第三预设时间段可根据实际情况设计,例如第三预设时间段可以是开始预加载后的固定时长范围内,也可以是开始预加载到完成预加载的时段等。在一些实施例中,所述第三预设时间段的长度包括所述目标应用程序中启动广告或启动动画的播放时长。一些应用程序在启动的过程中,通常会播放一些广告或动画,广告或动画的播放时长通常为3秒至十几秒不等,在播放广告或动画期间,用户可能没办法进行任何操作,只能等待播放完毕,浪费用户的宝贵时间。本申请实施例这样设置的好处在于,能够在目标应用程序启动之前,在屏幕外播放完启动广告或启动动画,当目标应用程序启动时,可直接进入应用程序的主页面或其他用户可操作的界面,从而将目标应用程序的可操作时间点进一步提前,减少等待时间。In the embodiment of the present application, the first preset time period, the second preset time period, and the third preset time period may be designed according to actual conditions. For example, the third preset time period may be within a fixed time range after starting preloading. , It can also be the period from the start of preloading to the completion of preloading. In some embodiments, the length of the third preset time period includes a playing time of starting an advertisement or starting an animation in the target application. During the startup of some applications, some advertisements or animations are usually played. The duration of advertisements or animations usually ranges from 3 seconds to more than ten seconds. During the playback of advertisements or animations, the user may not be able to perform any operation, only Can wait for the playback to finish, wasting valuable time of the user. The advantage of this embodiment of the present application is that it can play the startup advertisement or startup animation off the screen before the target application is launched. When the target application is launched, it can directly enter the main page of the application or other user-operable Interface to further advance the operable time point of the target application and reduce waiting time.
在一些实施例中,在基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面之后,还包括:在接收到所述目标应用程序的运行指令时,将所述预加载活动窗口堆栈中包含的与所述运行指令对应的目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。这样设置的好处在于,在目标应用程序真正需要启动的时候,直接将已经绘制好的应用界面迁移到显示屏幕进行显示,能够达到应用界面的快速切换,提高启动速度。In some embodiments, after pre-loading an application interface corresponding to the target application based on a pre-created pre-loaded active window stack, the method further includes: when receiving a running instruction of the target application, loading the pre-load An application interface corresponding to a target application corresponding to the running instruction included in the active window stack is migrated to the display screen for display. The advantage of this setting is that when the target application really needs to be started, the already drawn application interface is directly migrated to the display screen for display, which can achieve rapid switching of the application interface and improve startup speed.
在一些实施例中,所述将所述预加载活动窗口堆栈中包含的与所述运行指令对应的目标应用程序对应的应用界面迁移至所述显示屏幕进行显示,包括:将所述预加载活动窗口堆栈中包含的与所述运行指令对应的目标应用程序对应的任务栈迁移至应用活动窗口堆栈的顶部;更新所述任务栈的尺寸信息、配置信息和可见性,以实现所述目标应用程序对应的应用界面在所述显示屏幕进行显示。这样设置的好处在于,能够保证界面迁移过程的稳定性,保证恢复过程不会出现卡屏、黑屏或迁移速度慢等问题。In some embodiments, the migrating an application interface corresponding to a target application corresponding to the running instruction included in the preloading activity window stack to the display screen for display includes: moving the preloading activity The task stack corresponding to the target application corresponding to the run instruction included in the window stack is migrated to the top of the application active window stack; the size information, configuration information, and visibility of the task stack are updated to achieve the target application The corresponding application interface is displayed on the display screen. The advantage of this setting is that it can ensure the stability of the interface migration process and ensure that no issues such as screen freezes, black screens, or slow migration speeds occur during the recovery process.
对于一些终端来说,例如是手机及平板电脑等终端,为了方便用户的使用,显示屏幕的显示方式通常包括竖屏显示和横屏显示,许多应用程序默认采用竖屏方式进行显示,而有些应用程序默认采用横屏方式进行显示(如一些网络游戏),在终端的使用过程中,有些应用程序还会随着用户握持终端的方向而进行横竖屏显示的切换。在本申请的一些实施例中,所述预加载活动窗口堆栈对应的边界坐标为(H,0,2H,H),所述边界坐标对应的坐标系为系统坐标,所述系统坐标的原点为所述显示屏幕的左上角,H为所述显示屏幕的显示区域的长边长度。也就是说,H对应的边是显示屏幕的显示区域的最大边,在竖屏显示时为显示屏幕的高,在横屏显示时为显示屏幕的宽。这样设置的目的是考虑到显示屏幕横屏、预加载应用横屏显示,以及一些应用程序的正常显示。图2为本申请实施例提供的一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图。如图2所示,此时显示屏幕为竖屏方式,终端系统坐标的原点为显示屏幕201的左顶点(0,0),显示屏幕201的宽度方向为X轴,高度方向为Y轴,预加载Stack202对应的边界坐标为(H,0,2H,H),H为屏幕高,即左边实线矩形范围内的区域为主屏幕显示区域,右边虚线矩形范围内的区域为预加载显示区域。 图3为本申请实施例提供的另一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图。如图3所示,此时显示屏幕为横屏方式,终端系统坐标的原点为显示屏幕301的左顶点(0,0),显示屏幕301的高度方向为X轴,宽度方向为Y轴,预加载Stack202对应的边界坐标为(H,0,2H,H),H为屏幕高,即左边实线矩形范围内的区域为主屏幕显示区域,右边虚线矩形范围内的区域为预加载显示区域。For some terminals, such as mobile phones and tablet computers, in order to facilitate the use of the user, the display mode of the display screen usually includes vertical screen display and horizontal screen display. Many applications use vertical screen display by default, and some applications By default, the program is displayed in landscape mode (such as some online games). During the use of the terminal, some applications will switch between horizontal and vertical display as the user holds 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, and an origin of the system coordinate is In the upper left corner of the display screen, H is the length of the long side of the display area of the display screen. That is, the side corresponding to H is the largest side of the display area of the display screen, which is the height of the display screen when displayed in the vertical screen and the width of the display screen when displayed in the horizontal screen. The purpose of this setting is to consider the horizontal screen of the display screen, the horizontal screen display of pre-loaded applications, and the normal display of some applications. FIG. 2 is a schematic diagram of a relative position relationship between a preloaded active window stack and a display screen display area according to an embodiment of the present application. As shown in FIG. 2, the display screen is in the vertical screen mode, the origin of the terminal system coordinates is the left vertex (0,0) of the display screen 201, the width direction of the display screen 201 is the X axis, and the height direction is the Y axis. The boundary coordinates corresponding to loading Stack202 are (H, 0, 2H, H), where H is the screen height, that is, the area within the solid rectangle on the left is the main screen display area, and the area within the rectangle on the right dashed line is the preload display area. FIG. 3 is a schematic diagram of a relative position relationship between another preloaded active window stack and a display screen display area according to an embodiment of the present application. As shown in Figure 3, the display screen is in landscape mode, the origin of the terminal system coordinates is the left vertex (0,0) of the display screen 301, the height direction of the display screen 301 is the X axis, and the width direction is the Y axis. The boundary coordinates corresponding to loading Stack202 are (H, 0, 2H, H), where H is the screen height, that is, the area within the solid rectangle on the left is the main screen display area, and the area within the rectangle on the right dashed line is the preload display area.
预加载Stack的边界如此设置的原因在于:The reason for the pre-loaded Stack boundary is so:
左上角的横坐标为H,是为了防止横屏时显示屏幕(也可称为主屏幕)显示到预加载应用的界面,因为主屏幕除了竖屏模式,还有横屏模式,当主屏幕横屏的时候,为了防止主屏幕显示区域显示了预加载的应用的局部,所以将预加载Stack对应的矩形区域的左上角横坐标设为屏幕高。The horizontal axis of the upper left corner is H, which is to prevent the display screen (also called the home screen) from being displayed on the pre-loaded application interface when the screen is horizontal, because the home screen has a horizontal screen mode in addition to the vertical screen mode. In order to prevent part of the preloaded application from being displayed in the main screen display area, the horizontal coordinate of the upper left corner of the rectangular area corresponding to the preloaded stack is set to the screen height.
左上角的纵坐标为0,是为了预加载应用能够正确计算状态栏高度。Android应用为了更好的设计用户界面(User Interface,UI),会自定义顶部状态栏,如果上边对应的纵坐标不等于0,那么状态栏的高度可能会错误。The vertical coordinate of the upper left corner is 0, so that the preloaded application can correctly calculate the height of the status bar. In order to better design the user interface (UI), the Android application will customize the top status bar. If the corresponding vertical coordinate is not equal to 0, the height of the status bar may be wrong.
右下角的横坐标为2H(2倍屏幕高),即预加载Stack对应的矩形的宽=屏幕高,是为了预加载Stack的size能够包含预加载时候的横屏应用(即应用界面为横屏显示方式的应用程序)。The horizontal axis of the lower right corner is 2H (2 times the screen height), that is, the width of the rectangle corresponding to the preloaded stack = screen height, so that the size of the preloaded stack can include the horizontal screen application when preloaded (that is, the application interface is horizontal screen) Display mode application).
右下角的纵坐标为H,即预加载Stack对应的矩形的高=屏幕高,是为了预加载Stack的size能够包含预加载时候的竖屏应用。The vertical coordinate of the lower right corner is H, that is, the height of the rectangle corresponding to the pre-loaded Stack = screen height, so that the size of the pre-loaded Stack can include the vertical screen application when pre-loaded.
基于上述的原因,将预加载Stack的size设置为(H,0,2H,H)。Based on the above reasons, the size of the preloaded stack is set to (H, 0, 2H, H).
此外,图4为本申请实施例提供的一种应用界面迁移示意图,如图4所示,在接收到目标应用程序的运行指令时,将预加载活动窗口堆栈中包含的目标应用程序对应的应用界面401迁移至显示屏幕201进行显示,在一实施例中,将预加载应用界面所属的task迁移至应用活动窗口Stack的顶部,并更新该task的尺寸信息、配置信息和可见性,从而应用界面能够在显示屏幕上正常显示。In addition, FIG. 4 is a schematic diagram of an application interface migration provided by an embodiment of the present application. As shown in FIG. 4, upon receiving a running instruction of a target application, an application corresponding to the target application included in the active window stack is preloaded. The interface 401 is migrated to the display screen 201 for display. In one embodiment, the task to which the preloaded application interface belongs is migrated to the top of the application activity window Stack, and the size information, configuration information, and visibility of the task are updated to thereby apply the interface. Able to display normally on the display screen.
图5为本申请实施例提供的另一种应用程序预加载方法的流程示意图,该方法包括如下步骤:FIG. 5 is a schematic flowchart of another application preloading method according to an embodiment of the present application. The method includes the following steps:
步骤501、检测到应用预加载事件被触发时,采集当前样本。Step 501: Collect a current sample when it is detected that an application preload event is triggered.
步骤502、将所述当前样本输入至基于RNN网络的第一类预测模型中,根据第一类预测模型的输出结果确定目标候选应用集合。Step 502: Input the current sample into a first-type prediction model based on an RNN network, and determine a target candidate application set according to an output result of the first-type prediction model.
步骤503、将所述当前样本输入至目标候选应用集合对应的基于DNN网络的第二类预测模型中,根据第二类预测模型的输出结果确定目标候选应用集合中包含的待预加载的目标应用程序。Step 503: Input the current sample into a second type prediction model based on the DNN network corresponding to the target candidate application set, and determine a target application to be preloaded in the target candidate application set according to an output result of the second type prediction model program.
步骤504、基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。Step 504: Pre-load an application interface corresponding to the target application based on a pre-created pre-loaded active window stack, wherein a boundary coordinate corresponding to the pre-loaded active window stack is outside a coordinate range of the display screen.
步骤505、在接收到目标应用程序的运行指令时,将预加载活动窗口堆栈中包含的所述运行指令对应的目标应用程序的应用界面迁移至显示屏幕进行显示。Step 505: When the running instruction of the target application is received, the application interface of the target application corresponding to the running instruction contained in the preloaded active window stack is migrated to a display screen for display.
本申请实施例中提供的应用程序预加载方法,可采用相同的训练样本分别对RNN网络和DNN网络进行训练,在针对RNN网络进行训练时,训练样本对应的样本标记为候选应用集合,而在针对DNN网络进行训练时,训练样本对应的样本标记为具体的应用程序。这样可节省训练阶段以及预测阶段样本采集的时间。在应用预加载事件被触发时,将当前样本先输 入至基于RNN网络的第一类预测模型中,预测出目标候选应用集合,再将当前样本输入至基于DNN网络的第二类预测模型中,预测出待预加载的应用程序,通过屏幕外预加载的方式,避免预加载过程对前台应用程序的干扰,在用户真正启动目标应用程序时,能够直接将在屏幕外预加载好的应用界面迁移至显示屏幕进行显示,有效提升目标应用程序的启动速度。The application preloading method provided in the embodiment of the present application can use the same training samples to separately train the RNN network and the DNN network. When training the RNN network, the samples corresponding to the training samples are labeled as candidate application sets, and in When training a DNN network, the samples corresponding to the training samples are labeled as specific applications. This saves time during the training and sample collection stages. When the application preload event is triggered, the current sample is first input into the first type of prediction model based on the RNN network, the target candidate application set is predicted, and then the current sample is input into the second type of prediction model based on the DNN network. The application to be preloaded is predicted, and the off-screen preloading method is used to avoid the interference of the preloading process on the foreground application. When the user actually starts the target application, the application interface that is preloaded offscreen can be directly migrated. Go to the display screen for display, effectively improving the startup speed of the target application.
图6为本申请实施例提供的又一种应用程序预加载方法的流程示意图,该方法包括:FIG. 6 is a schematic flowchart of another application preloading method according to an embodiment of the present application. The method includes:
步骤601、在第一预设时间段内采集样本应用程序的历史使用时序关联序列,作为第一训练样本,采集样本应用程序被使用时终端的历史状态特征信息,作为第二训练样本。Step 601: Collect the historical use time-series correlation sequence of the sample application in the first preset time period as the first training sample, and collect historical state characteristic information of the terminal when the sample application is used as the second training sample.
其中,所述第一训练样本的样本标记包括在所述样本应用程序之后被使用的应用程序所属的候选应用集合;所述第二训练样本的样本标记包括在所述样本应用程序之后被使用的应用程序。Wherein, the sample mark of the first training sample includes a candidate application set to which an application used after the sample application belongs; the sample mark of the second training sample includes a candidate used after the sample application application.
示例性的,在进行第一训练样本和第二训练样本采集时,可暂时不区分其所属的候选应用集合,仅记录第二训练样本的样本标记,即记录在样本应用程序之后被使用的应用程序。For example, when collecting the first training sample and the second training sample, the candidate application set to which they belong may not be distinguished temporarily, and only the sample mark of the second training sample is recorded, that is, the application used after the sample application is recorded. program.
示例性的,第一预设时间段的长度例如可以是2个月,在训练样本采集结束后,按照这2个月内每个应用程序被使用的频次进行编号排序。为频次最高的,即最常使用的应用程序分配最大的ID编号,为频次最低的,即最不常使用的应用程序分配最小的ID编号。假设候选应用程序共100个,最终编号为1~100,再将这100个ID均分为n类应用,如分为4类:最常用、常用、不常用、很少用,每类25个。也就是说,按照频次划分为4个候选应用集合,每个候选应用集合包含25个候选应用程序。Exemplarily, the length of the first preset time period may be, for example, 2 months. After the training sample is collected, the numbers are sorted according to the frequency of each application used within the 2 months. Assign the highest ID number to the most frequently used application, and the lowest ID number to the least frequently used application. Assuming a total of 100 candidate applications, the final number is 1 to 100, and then the 100 IDs are divided into n types of applications, such as 4 categories: most commonly used, commonly used, infrequently used, rarely used, 25 in each category . That is, it is divided into 4 candidate application sets according to frequency, and each candidate application set contains 25 candidate application programs.
步骤602、将第一训练样本和对应的样本标记输入至第一预设模型中,以对第一预设模型进行训练,将训练后的模型作为第一类预测模型。Step 602: Input a first training sample and a corresponding sample mark into a first preset model to train the first preset model, and use the trained model as a first-type prediction model.
示例性的,第一预设模型可以是基于RNN网络的机器学习模型。Exemplarily, the first preset model may be a machine learning model based on an RNN network.
步骤603、针对每个候选应用集合,将与当前候选应用集合对应的第二训练样本和相应的样本标记输入至第二预设模型中,以对第二预设模型进行训练,将训练后的第二预设模型作为当前候选应用集合对应的第二类预测模型。Step 603: For each candidate application set, input a second training sample corresponding to the current candidate application set and a corresponding sample tag into a second preset model to train the second preset model, and train the The second preset model is used as a second type prediction model corresponding to the current candidate application set.
示例性的,第二预设模型可以是基于DNN网络的机器学习模型。本步骤中,以上文举例为例进行说明,会得到4个第二类预测模型,即4个候选应用集合中的每个候选应用集合都存在自己对应的第二类预测模型。Exemplarily, the second preset model may be a machine learning model based on a DNN network. In this step, the above example is used as an example for illustration. Four second-type prediction models are obtained, that is, each of the four candidate application sets has its own corresponding second-type prediction model.
步骤604、检测到应用预加载事件被触发时,采集第一当前样本和第二当前样本。Step 604: Collect the first current sample and the second current sample when it is detected that the application preload event is triggered.
步骤605、将第一当前样本输入至第一类预测模型,根据第一类预测模型的输出结果确定目标候选应用集合。Step 605: The first current sample is input to a first-type prediction model, and a target candidate application set is determined according to an output result of the first-type prediction model.
示例性的,确定的目标候选应用集合为最常用的候选应用集合。Exemplarily, the determined target candidate application set is the most commonly used candidate application set.
步骤606、根据目标候选应用集合确定相应的第二类预测模型,将第二当前样本输入至第二类预测模型,根据第二类预测模型的输出结果确定待预加载的目标应用程序。Step 606: Determine the corresponding second-type prediction model according to the target candidate application set, input the second current sample to the second-type prediction model, and determine the target application to be preloaded according to the output result of the second-type prediction model.
示例性的,将第二当前样本输入至最常用的候选应用集合对应的第二类预测模型中,根据模型输出结果从25个应用程序中选出一个或多个目标应用程序。Exemplarily, the second current sample is input into a second-type prediction model corresponding to the most commonly used candidate application set, and one or more target applications are selected from 25 applications according to the model output result.
步骤607、基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面。Step 607: Pre-load an application interface corresponding to the target application based on a pre-created pre-loaded active window stack.
其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。The boundary coordinates corresponding to the preloaded active window stack are located outside the coordinate range of the display screen.
步骤608、在接收到目标应用程序的运行指令时,将预加载活动窗口堆栈中包含的所述 运行指令对应的目标应用程序的应用界面迁移至显示屏幕进行显示。Step 608: When the running instruction of the target application is received, the application interface of the target application corresponding to the running instruction contained in the preloaded active window stack is migrated to a display screen for display.
本申请实施例提供的应用程序预加载方法,终端在历史时段采集第一训练样本和第二训练样本,并基于第一训练样本训练得到用于预测目标候选应用集合的第一类预测模型,基于第二训练样本训练得到用于预测待预加载应用程序的第二类预测模型,从而达到在终端本地进行样本采集及模型训练的目的,并减少数据传输,使得样本采集以及预测模型的更新更加及时,同时能够节省流量,可适用于手机等移动终端。在应用预加载事件被触发时,利用两类预测模型进行分段式预测,提高应用程序的预测精度和准确度。在预测出待预加载的应用程序后,通过屏幕外预加载的方式,避免预加载过程对前台应用程序的干扰,在用户真正启动目标应用程序时,能够直接将在屏幕外预加载好的应用界面迁移至显示屏幕进行显示,有效提升目标应用程序的启动速度。In the application preloading method provided in the embodiment of the present application, a terminal collects a first training sample and a second training sample in a historical period, and trains a first type prediction model for predicting a target candidate application set based on the first training sample. The second training sample is trained to obtain the second type of prediction model used to predict the application to be preloaded, so as to achieve the purpose of sample collection and model training locally at the terminal, and reduce data transmission, making the sample collection and prediction model update more timely. At the same time, it can save traffic and can be applied to mobile terminals such as mobile phones. When the application preload event is triggered, two types of prediction models are used to perform segmented prediction to improve the prediction accuracy and accuracy of the application. After predicting the application to be preloaded, the off-screen preloading method is used to avoid the interference of the preloading process to the foreground application. When the user actually launches the target application, the preloaded application can be directly preloaded offscreen. The interface is migrated to the display screen for display, which effectively improves the startup speed of the target application.
图7为本申请实施例提供的一种应用程序预加载装置的结构框图,该装置可由软件和/或硬件实现,一般集成在终端中,可通过执行应用程序预加载方法来进行应用程序的预加载。如图7所示,该装置包括:FIG. 7 is a structural block diagram of an application preloading device according to an embodiment of the present application. The device may be implemented by software and / or hardware, and is generally integrated in a terminal. The application preloading method may be performed to perform application preloading. load. As shown in Figure 7, the device includes:
应用集合确定模块701,设置为在检测到应用预加载事件被触发时,采用第一类预测模型确定目标候选应用集合;An application set determining module 701 configured to determine a target candidate application set by using a first-type prediction model when an application preload event is detected to be triggered;
目标应用确定模块702,设置为采用所述目标候选应用集合对应的第二类预测模型确定所述目标候选应用集合中包含的待预加载的目标应用程序;A target application determining module 702 configured to determine a target application to be preloaded in the target candidate application set by using a second type prediction model corresponding to the target candidate application set;
预加载模块703,设置为对所述目标应用程序进行预加载。The preloading module 703 is configured to preload the target application program.
本申请实施例中提供的应用程序预加载装置,检测到应用预加载事件被触发时,采用第一类预测模型确定目标候选应用集合,再采用目标候选应用集合对应的第二类预测模型确定目标候选应用集合中包含的待预加载的目标应用程序,对目标应用程序进行预加载。通过采用上述技术方案,可以采用两类不同的预测模型进行分阶段预测,提高应用程序预测的准确度。The application preloading device provided in the embodiment of the present application, when detecting that an application preloading event is triggered, uses a first type prediction model to determine a target candidate application set, and then uses a second type prediction model corresponding to the target candidate application set to determine a target. The target application to be preloaded included in the candidate application set is used to preload the target application. By adopting the above technical solution, two different types of prediction models can be used for staged prediction, which improves the accuracy of application prediction.
在一实施例中,应用集合确定模块701是设置为:In an embodiment, the application set determination module 701 is configured to:
获取前台应用程序的当前使用时序关联序列,所述当前使用时序关联序列包含所述前台应用程序以及在所述前台应用程序之前被使用的至少一个应用程序按照时间顺序形成的序列;Obtaining a current use time-series association sequence of a foreground application, where the current use time-series association sequence includes a sequence formed by the foreground application and at least one application used before the foreground application in chronological order;
将所述当前使用时序关联序列输入至第一类预测模型中,根据所述第一类预测模型的输出结果确定目标候选应用集合。The current used time-series correlation sequence is input into a first-type prediction model, and a target candidate application set is determined according to an output result of the first-type prediction model.
在一实施例中,该装置还包括:In an embodiment, the device further includes:
第一训练样本采集模块,设置为在所述检测到应用预加载事件被触发之前,在第一预设时间段内采集样本应用程序的历史使用时序关联序列,作为第一训练样本,所述第一训练样本的样本标记包括在所述样本应用程序之后被使用的应用程序所属的候选应用集合;A first training sample acquisition module is configured to collect a history of a sample application in a first preset time period using a time-series association sequence as a first training sample before the detection that an application preload event is triggered. A sample tag of a training sample includes a candidate application set to which an application program used after the sample application program belongs;
第一模型训练模块,设置为将所述第一训练样本和对应的样本标记输入至第一预设模型中,以对所述第一预设模型进行训练,将训练后的模型作为第一类预测模型。A first model training module configured to input the first training sample and a corresponding sample marker into a first preset model to train the first preset model, and use the trained model as a first class Forecasting model.
在一实施例中,目标应用确定模块702是设置为:In one embodiment, the target application determination module 702 is configured to:
获取终端的当前状态特征信息;Obtain the current state characteristic information of the terminal;
将所述当前状态特征信息输入至所述目标候选应用集合对应的第二类预测模型中,根据所述第二类预测模型的输出结果确定所述目标候选应用集合中包含的待预加载的目标应用程序。Inputting the current state characteristic information into a second type prediction model corresponding to the target candidate application set, and determining a target to be preloaded in the target candidate application set according to an output result of the second type prediction model application.
在一实施例中,该装置还包括:In an embodiment, the device further includes:
第二训练样本采集模块,设置为在所述检测到应用预加载事件被触发之前,在第二预设时间段内采集当前候选应用集合中的样本应用程序被使用时所述终端的历史状态特征信息,作为第二训练样本,所述第二训练样本的样本标记包括在所述样本应用程序之后被使用的应用程序;A second training sample acquisition module is configured to collect historical state characteristics of the terminal when a sample application in a current candidate application set is used within a second preset time period before the detection that an application preload event is triggered Information as the second training sample, and the sample tag of the second training sample includes an application program used after the sample application program;
第二模型训练模块,设置为将所述第二训练样本和对应的样本标记输入至第二预设模型中,以对所述第二预设模型进行训练,将训练后的第二预设模型作为所述当前候选应用集合对应的第二类预测模型。A second model training module configured to input the second training sample and a corresponding sample marker into a second preset model to train the second preset model and to train the second preset model after training As a second type prediction model corresponding to the current candidate application set.
在一实施例中,候选应用集合的划分规则包括按照应用程序类型划分或按照历史使用期间内应用程序的使用频次划分。In an embodiment, the division rule of the candidate application set includes division according to an application type or division according to a usage frequency of an application during a historical usage period.
在一实施例中,预加载模块703是设置为:In one embodiment, the preloading module 703 is configured to:
基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。An application interface corresponding to the target application is preloaded based on a pre-created preloaded active window stack, wherein a boundary coordinate corresponding to the preloaded active window stack is outside a coordinate range of a display screen.
在一实施例中,预加载模块703是设置为:In one embodiment, the preloading module 703 is configured to:
创建所述目标应用程序对应的目标进程;Creating a target process corresponding to the target application;
在预先创建的预加载活动窗口堆栈中创建所述目标应用程序对应的任务栈;Creating a task stack corresponding to the target application in a pre-created preloading active window stack;
基于所述目标进程在所述任务栈中启动所述目标应用程序对应的活动窗口;Starting an active window corresponding to the target application in the task stack based on the target process;
基于所启动的活动窗口绘制并显示所述目标应用程序对应的应用界面。An application interface corresponding to the target application is drawn and displayed based on the activated active window.
在一实施例中,所述装置还设置为:In an embodiment, the device is further configured to:
在接收到所述目标应用程序的运行指令的情况下,将所述预加载活动窗口堆栈中包含的与所述运行指令对应的目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。When a running instruction of the target application is received, an application interface corresponding to the target application corresponding to the running instruction included in the preloaded active window stack is migrated to the display screen for display.
在一实施例中,所述装置还设置为:In an embodiment, the device is further configured to:
将所述预加载活动窗口堆栈中包含的与所述运行指令对应的目标应用程序对应的任务栈迁移至应用活动窗口堆栈的顶部;Migrating 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 size information, configuration information, and visibility of the task stack to enable the application interface corresponding to the target application to be displayed on the display screen.
在一实施例中,所述装置还设置为:In an embodiment, the device is further configured to:
向所述目标应用程序发送伪造焦点通知,并基于所述伪造焦点通知在第三预设时间段内保持所述目标应用程序对应的应用界面的持续绘制以及显示更新。Sending a fake focus notification to the target application, and maintaining a continuous drawing and display update of an application interface corresponding to the target application for a third preset time period based on the fake focus notification.
在一实施例中,预加载模块703是设置为:In one embodiment, the preloading module 703 is configured to:
在所述目标应用程序为多个的情况下,将所述多个目标应用程序依次进行预加载操作;或者,When there are multiple target applications, pre-load the multiple target applications in sequence; or
在所述目标应用程序为多个的情况下,将所述多个目标应用程序中的至少两个目标应用程序同时进行预加载操作。When there are multiple target applications, at least two target applications among the multiple target applications are preloaded simultaneously.
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行应用程序预加载方法,该方法包括:An embodiment of the present application further provides a storage medium including computer-executable instructions, where the computer-executable instructions are used to execute an application program preloading method when executed by a computer processor, the method includes:
检测到应用预加载事件被触发时,采用第一类预测模型确定目标候选应用集合;When it is detected that the application preload event is triggered, the first type of prediction model is used to determine the target candidate application set;
采用所述目标候选应用集合对应的第二类预测模型确定所述目标候选应用集合中包含的待预加载的目标应用程序;Determining a target application to be preloaded included in the target candidate application set by using a second type prediction model corresponding to the target candidate application set;
对所述目标应用程序进行预加载。Pre-load the target application.
存储介质——任何的一种或多种类型的存储器设备或存储设备。术语―存储介质‖旨在包括:安装介质,例如便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如动态随机存取存储器(Dynamic Random Access Memory,DRAM)、双倍速率随机存取存储器(double data rate Random Access Memory,DDR RAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、扩展数据输出随机存取存储器(Extended Data Out Random-Access Memory,EDO RAM),兰巴斯(Rambus)随机存取存储器(Random-Access Memory,RAM)等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机系统,第一计算机系统设置为执行该程序指令。术语―存储介质‖可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。Storage medium-any one or more types of memory devices or storage devices. The term "storage medium" is intended to include: installation media, such as Compact Disc Read-Only Memory (CD-ROM), floppy disks, or magnetic tape devices; computer system memory or random access memory, such as dynamic random access memory Access Memory (Dynamic Random Access Memory, DRAM), Double Rate Random Access Memory (DDR Random Access Memory, DDR RAM), Static Random Access Memory (Static Random Access Memory, SRAM), and extended data output random storage Access Memory (Extended Data, Random-Access Memory, EDO, RAM), Rambus Random-Access Memory (Random-Access Memory, RAM), etc .; Non-volatile memory, such as flash memory, magnetic media (such as hard disk or Optical storage); registers or other similar types of memory elements, etc. The storage medium may further include other types of memory or a combination 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 system, and the first computer system is configured to execute the program instructions. The term "storage medium" may include two or more storage media that may reside in different locations, such as in different computer systems connected through a network. The storage medium may store program instructions (for example, embodied as a computer program) executable by one or more processors.
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的应用程序预加载操作,还可以执行本申请任意实施例所提供的应用程序预加载方法中的相关操作。Certainly, a storage medium including computer-executable instructions provided in the embodiments of the present application is not limited to the application preloading operation described above, and may also execute the application provided by any embodiment of the present application Related operations in the preload method.
本申请实施例提供了一种终端,该终端中可集成本申请实施例提供的应用程序预加载装置。图8为本申请实施例提供的一种终端的结构示意图。终端800可以包括:存储器801,处理器802及存储在存储器801上并可在处理器802运行的计算机程序,所述处理器802执行所述计算机程序时实现如本申请实施例所述的应用程序预加载方法。The embodiment of the present application provides a terminal, and the terminal may integrate the application preloading device provided by the embodiment of the present application. FIG. 8 is a schematic structural diagram of a terminal according to an embodiment of the present application. The terminal 800 may include: a memory 801, a processor 802, and a computer program stored on the memory 801 and executable by the processor 802. When the processor 802 executes the computer program, the application program according to the embodiment of the present application is implemented. Preload method.
本申请实施例提供的终端,可以采用两类不同的预测模型进行分阶段预测,提高应用程序预测的准确度。The terminal provided in the embodiment of the present application can use two different types of prediction models to perform staged prediction, thereby improving the accuracy of application prediction.
图9为本申请实施例提供的另一种终端的结构示意图,该终端可以包括:壳体(图中未示出)、存储器901、中央处理器(central processing unit,CPU)902(又称处理器)、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU 902和所述存储器901设置在所述电路板上;所述电源电路,设置为为所述终端的多个电路或器件供电;所述存储器901,设置为存储可执行程序代码;所述CPU 902通过读取所述存储器901中存储的可执行程序代码来运行与所述可执行程序代码对应的计算机程序,以实现以下步骤:FIG. 9 is a schematic structural diagram of another terminal according to an embodiment of the present application. The terminal may include: a housing (not shown in the figure), a memory 901, a central processing unit (CPU) 902 (also referred to as processing). Device), a circuit board (not shown in the figure), and a power supply circuit (not shown in the figure). The circuit board is disposed in a space surrounded by the housing; the CPU 902 and the memory 901 are provided on the circuit board; and the power supply circuit is provided as a plurality of circuits or devices of the terminal The memory 901 is configured to store executable program code; the CPU 902 reads the executable program code stored in the memory 901 to run a computer program corresponding to the executable program code to implement the following step:
检测到应用预加载事件被触发时,采用第一类预测模型确定目标候选应用集合;When it is detected that the application preload event is triggered, the first type of prediction model is used to determine the target candidate application set;
采用所述目标候选应用集合对应的第二类预测模型确定所述目标候选应用集合中包含的待预加载的目标应用程序;Determining a target application to be preloaded included in the target candidate application set by using a second type prediction model corresponding to the target candidate application set;
对所述目标应用程序进行预加载。Pre-load the target application.
所述终端还包括:外设接口903、射频(Radio Frequency,RF)电路905、音频电路906、扬声器911、电源管理芯片908、输入/输出(Input/Output,I/O)子系统909、其他输入/控制设备910、触摸屏912、其他输入/控制设备910以及外部端口904,这些部件通过一个或多个通信总线或信号线907来通信。The terminal further includes: a peripheral interface 903, a radio frequency (RF) circuit 905, an audio circuit 906, a speaker 911, a power management chip 908, an input / output (I / O) subsystem 909, and other The input / control device 910, the touch screen 912, other input / control devices 910, and the external port 904, these components communicate through one or more communication buses or signal lines 907.
应该理解的是,图示终端900仅仅是终端的一个范例,并且终端900可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的一种或多种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。It should be understood that the illustrated terminal 900 is only an example of the terminal, and the terminal 900 may have more or fewer components than those shown in the figure, may combine two or more components, or may have Different component configurations. The one or more 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 the terminal used for application preloading provided in this embodiment in detail. The terminal uses a mobile phone as an example.
存储器901,所述存储器901可以被CPU 902、外设接口903等访问,所述存储器901可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。 Memory 901, which can be accessed by CPU 902, peripheral interface 903, etc. The memory 901 can include high-speed random access memory, and can also include non-volatile memory, such as one or more disk storage devices, flash memory Devices, or other volatile solid-state storage devices.
外设接口903,所述外设接口903可以将设备的输入和输出外设连接到CPU902和存储器901。A peripheral interface 903, which can connect input and output peripherals of the device to the CPU 902 and the memory 901.
I/O子系统909,所述I/O子系统909可以将设备上的输入输出外设,例如触摸屏912和其他输入/控制设备910,连接到外设接口903。I/O子系统909可以包括显示控制器9091和用于控制其他输入/控制设备910的一个或多个输入控制器9092。其中,一个或多个输入控制器9092从其他输入/控制设备910接收电信号或者向其他输入/控制设备910发送电信号,其他输入/控制设备910可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器9092可以与以下任一个连接:键盘、红外端口、通用串行总线(Universal Serial Bus,USB)接口以及诸如鼠标的指示设备。I / O subsystem 909, which can connect input / output peripherals on the device, such as touch screen 912 and other input / control devices 910, to peripheral interface 903. The I / O subsystem 909 may include a display controller 9091 and one or more input controllers 9092 for controlling other input / control devices 910. Among them, one or more input controllers 9092 receive electrical signals from or send electrical signals to other input / control devices 910. Other input / control devices 910 may include physical buttons (press buttons, rocker buttons, etc.) ), Dial, slide switch, joystick, click wheel. It is worth noting that the input controller 9092 may be connected to any of the following: a keyboard, an infrared port, a universal serial bus (Universal Serial Bus, USB) interface, and a pointing device such as a mouse.
触摸屏912,所述触摸屏912是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。A touch screen 912, which is an input interface and an output interface between a user terminal and a user, and displays a visual output to the user. The visual output may include graphics, text, icons, videos, and the like.
I/O子系统909中的显示控制器9091从触摸屏912接收电信号或者向触摸屏912发送电信号。触摸屏912检测触摸屏上的接触,显示控制器9091将检测到的接触转换为与显示在触摸屏912上的用户界面对象的交互,即实现人机交互,显示在触摸屏912上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。The display controller 9091 in the I / O subsystem 909 receives an electric signal from the touch screen 912 or sends an electric signal to the touch screen 912. The touch screen 912 detects a contact on the touch screen, and the display controller 9091 converts the detected contact into interaction with a user interface object displayed on the touch screen 912, that is, realizes human-computer interaction. The user interface object displayed on the touch screen 912 may be running Icons for games, icons connected to the appropriate network, etc. It is worth noting that the device may also include a light mouse, which is a touch-sensitive surface that does not display visual output, or an extension of the touch-sensitive surface formed by a touch screen.
RF电路905,设置为建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。在一实施例中,RF电路905接收并发送RF信号,RF信号也称为电磁信号,RF电路905将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路905可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编译码器(COder-DECoder,CODEC)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。The RF circuit 905 is configured to establish communication between a mobile phone and a wireless network (that is, a network side), and realize data reception and transmission of the mobile phone and the wireless network. For example, send and receive text messages, e-mail, and so on. In an embodiment, the RF circuit 905 receives and sends RF signals. The RF signals are also referred to as electromagnetic signals. The RF circuit 905 converts electrical signals into electromagnetic signals or converts electromagnetic signals into electrical signals, and communicates with the communication network through the electromagnetic signals. As well as other devices. RF circuit 905 may include known circuits for performing these functions, including, but not limited to, antenna systems, RF transceivers, one or more amplifiers, tuners, one or more oscillators, digital signal processors, codecs (COder-DECoder, CODEC) chipset, Subscriber Identity Module (SIM), and so on.
音频电路906,设置为从外设接口903接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器911。The audio circuit 906 is configured to receive audio data from the peripheral interface 903, convert the audio data into an electrical signal, and send the electrical signal to the speaker 911.
扬声器911,设置为将手机通过RF电路905从无线网络接收的语音信号,还原为声音并向用户播放该声音。The speaker 911 is configured to restore a voice signal received by the mobile phone from the wireless network through the RF circuit 905 to a sound and play the sound to a user.
电源管理芯片908,设置为为CPU902、I/O子系统及外设接口所连接的硬件进行供电及电源管理。The power management chip 908 is configured to provide power and power management for the hardware connected to the CPU 902, the I / O subsystem, and peripheral interfaces.
上述实施例中提供的应用程序预加载装置、存储介质及终端可执行本申请任意实施例所提供的应用程序预加载方法,具备执行该方法相应的功能模块和效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的应用程序预加载方法。The application preloading device, storage medium, and terminal provided in the foregoing embodiments can execute the application preloading method provided in any embodiment of the present application, and have corresponding function modules and effects for executing the method. For technical details not described in detail in the foregoing embodiments, reference may be made to an application preloading method provided in any embodiment of the present application.

Claims (20)

  1. 一种应用程序预加载方法,包括:An application preloading method includes:
    检测到应用预加载事件被触发时,采用第一类预测模型确定目标候选应用集合;When it is detected that the application preload event is triggered, the first type of prediction model is used to determine the target candidate application set;
    采用所述目标候选应用集合对应的第二类预测模型确定所述目标候选应用集合中包含的待预加载的目标应用程序;Determining a target application to be preloaded included in the target candidate application set by using a second type prediction model corresponding to the target candidate application set;
    对所述目标应用程序进行预加载。Pre-load the target application.
  2. 根据权利要求1所述的方法,其中,所述采用第一类预测模型确定目标候选应用集合,包括:The method according to claim 1, wherein the determining a target candidate application set by using the first-type prediction model comprises:
    获取前台应用程序的当前使用时序关联序列,所述当前使用时序关联序列包含所述前台应用程序以及在所述前台应用程序之前被使用的至少一个应用程序按照时间顺序形成的序列;Obtaining a current use time-series association sequence of a foreground application, where the current use time-series association sequence includes a sequence formed by the foreground application and at least one application used before the foreground application in chronological order;
    将所述当前使用时序关联序列输入至所述第一类预测模型中,根据所述第一类预测模型的输出结果确定所述目标候选应用集合。Inputting the currently used time-series correlation sequence into the first-type prediction model, and determining the target candidate application set according to an output result of the first-type prediction model.
  3. 根据权利要求2所述的方法,在所述检测到应用预加载事件被触发之前,还包括:The method according to claim 2, before the detecting that an application preload event is triggered, further comprising:
    在第一预设时间段内采集样本应用程序的历史使用时序关联序列,作为第一训练样本,所述第一训练样本的样本标记包括在所述样本应用程序之后被使用的应用程序所属的候选应用集合;Collecting a history of a sample application in a first preset time period using a time-series association sequence as a first training sample, and the sample tag of the first training sample includes a candidate to which an application used after the sample application belongs Application collection
    将所述第一训练样本和对应的样本标记输入至第一预设模型中,以对所述第一预设模型进行训练,将训练后的模型作为所述第一类预测模型。Inputting the first training sample and the corresponding sample mark into a first preset model to train the first preset model, and using the trained model as the first type prediction model.
  4. 根据权利要求1或2所述的方法,其中,所述采用所述目标候选应用集合对应的第二类预测模型确定所述目标候选应用集合中包含的待预加载的目标应用程序,包括:The method according to claim 1 or 2, wherein the determining a target application to be preloaded included in the target candidate application set by using a second type prediction model corresponding to the target candidate application set comprises:
    获取终端的当前状态特征信息;Obtain the current state characteristic information of the terminal;
    将所述当前状态特征信息输入至所述目标候选应用集合对应的第二类预测模型中,根据所述第二类预测模型的输出结果确定所述目标候选应用集合中包含的待预加载的目标应用程序。Inputting the current state characteristic information into a second type prediction model corresponding to the target candidate application set, and determining a target to be preloaded in the target candidate application set according to an output result of the second type prediction model application.
  5. 根据权利要求4所述的方法,在所述检测到应用预加载事件被触发之前,还包括:The method according to claim 4, before the detecting that an application preload event is triggered, further comprising:
    在第二预设时间段内采集当前候选应用集合中的样本应用程序被使用时所述终端的历史状态特征信息,作为第二训练样本,所述第二训练样本的样本标记包括所述样本应用程序或在所述样本应用程序之后被使用的应用程序;Collect historical state characteristic information of the terminal when a sample application in the current candidate application set is used within a second preset time period, as a second training sample, and the sample mark of the second training sample includes the sample application A program or an application that is used after the sample application;
    将所述第二训练样本和对应的样本标记输入至第二预设模型中,以对所述第二预设模型进行训练,将训练后的第二预设模型作为所述当前候选应用集合对应的第二类预测模型。Inputting the second training sample and a corresponding sample tag into a second preset model to train the second preset model, and using the trained second preset model as the current candidate application set corresponding The second type of prediction model.
  6. 根据权利要求1所述的方法,其中,候选应用集合的划分规则包括按照应用程序类型划分或按照历史使用期间内应用程序的使用频次划分。The method according to claim 1, wherein the division rule of the candidate application set comprises division according to an application type or division according to a usage frequency of an application during a historical usage period.
  7. 根据权利要求1所述的方法,其中,所述对所述目标应用程序进行预加载,包括:The method according to claim 1, wherein the pre-loading the target application comprises:
    基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。An application interface corresponding to the target application is preloaded based on a pre-created preloaded active window stack, wherein a boundary coordinate corresponding to the preloaded active window stack is outside a coordinate range of a display screen.
  8. 根据权利要求7所述的方法,其中,所述基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,包括:The method according to claim 7, wherein the pre-loading an application interface corresponding to the target application based on a pre-created pre-loaded active window stack comprises:
    创建所述目标应用程序对应的目标进程;Creating a target process corresponding to the target application;
    在预先创建的预加载活动窗口堆栈中创建所述目标应用程序对应的任务栈;Creating a task stack corresponding to the target application in a pre-created preloading active window stack;
    基于所述目标进程在所述任务栈中启动所述目标应用程序对应的活动窗口;Starting an active window corresponding to the target application in the task stack based on the target process;
    基于所启动的活动窗口绘制并显示所述目标应用程序对应的应用界面。An application interface corresponding to the target application is drawn and displayed based on the activated active window.
  9. 根据权利要求7所述的方法,在所述基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面之后,还包括:The method according to claim 7, after the pre-loading an application interface corresponding to the target application based on a pre-created pre-loaded active window stack, further comprising:
    在接收到所述目标应用程序的运行指令的情况下,将所述预加载活动窗口堆栈中包含的与所述运行指令对应的目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。When a running instruction of the target application is received, an application interface corresponding to the target application corresponding to the running instruction included in the preloaded active window stack is migrated to the display screen for display.
  10. 根据权利要求9所述的方法,其中,所述将所述预加载活动窗口堆栈中包含的与所述运行指令对应的目标应用程序对应的应用界面迁移至所述显示屏幕进行显示,包括:The method according to claim 9, wherein migrating an application interface corresponding to a target application corresponding to the running instruction contained in the preloaded active window stack to the display screen for display comprises:
    将所述预加载活动窗口堆栈中包含的与所述运行指令对应的目标应用程序对应的任务栈迁移至应用活动窗口堆栈的顶部;Migrating 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 size information, configuration information, and visibility of the task stack to enable the application interface corresponding to the target application to be displayed on the display screen.
  11. 根据权利要求7或8所述的方法,还包括:The method according to claim 7 or 8, further comprising:
    向所述目标应用程序发送伪造焦点通知,并基于所述伪造焦点通知在第三预设时间段内保持所述目标应用程序对应的应用界面的持续绘制以及显示更新。Sending a fake focus notification to the target application, and maintaining a continuous drawing and display update of an application interface corresponding to the target application for a third preset time period based on the fake focus notification.
  12. 根据权利要求1所述的方法,其中,所述对所述目标应用程序进行预加载,包括:The method according to claim 1, wherein the pre-loading the target application comprises:
    在所述目标应用程序为多个的情况下,将所述多个目标应用程序依次进行预加载操作;或者,When there are multiple target applications, pre-load the multiple target applications in sequence; or
    在所述目标应用程序为多个的情况下,将所述多个目标应用程序中的至少两个目标应用程序同时进行预加载操作。When there are multiple target applications, at least two target applications among the multiple target applications are preloaded simultaneously.
  13. 一种应用程序预加载装置,包括:An application preloading device includes:
    应用集合确定模块,设置为在检测到应用预加载事件被触发时,采用第一类预测模型确定目标候选应用集合;The application set determination module is configured to determine a target candidate application set by using a first-type prediction model when an application preload event is detected to be triggered;
    目标应用确定模块,设置为采用所述目标候选应用集合对应的第二类预测模型确定所述目标候选应用集合中包含的待预加载的目标应用程序;A target application determination module configured to determine a target application to be preloaded in the target candidate application set by using a second type prediction model corresponding to the target candidate application set;
    预加载模块,设置为对所述目标应用程序进行预加载。The preloading module is configured to preload the target application.
  14. 根据权利要求13所述的装置,其中,所述应用集合确定模块是设置为:The apparatus according to claim 13, wherein the application set determination module is configured to:
    获取前台应用程序的当前使用时序关联序列,所述当前使用时序关联序列包含所述前台应用程序以及在所述前台应用程序之前被使用的至少一个应用程序按照时间顺序形成的序列;Obtaining a current use time-series association sequence of a foreground application, where the current use time-series association sequence includes a sequence formed by the foreground application and at least one application used before the foreground application in chronological order;
    将所述当前使用时序关联序列输入至所述第一类预测模型中,根据所述第一类预测模型的输出结果确定所述目标候选应用集合。Inputting the currently used time-series correlation sequence into the first-type prediction model, and determining the target candidate application set according to an output result of the first-type prediction model.
  15. 根据权利要求14所述的装置,还包括:The apparatus according to claim 14, further comprising:
    第一训练样本采集模块,设置为在第一预设时间段内采集样本应用程序的历史使用时序关联序列,作为第一训练样本,所述第一训练样本的样本标记包括在所述样本应用程序之后被使用的应用程序所属的候选应用集合;A first training sample collection module is configured to collect a historical use time-series correlation sequence of a sample application within a first preset period of time as a first training sample, and a sample tag of the first training sample is included in the sample application The set of candidate applications to which the applications to be used later belong;
    第一模型训练模块,设置为将所述第一训练样本和对应的样本标记输入至第一预设模型 中,以对所述第一预设模型进行训练,将训练后的模型作为所述第一类预测模型。The first model training module is configured to input the first training sample and a corresponding sample mark into a first preset model to train the first preset model, and use the trained model as the first A class of predictive models.
  16. 根据权利要求13或14所述的装置,其中,所述目标应用确定模块是设置为:The apparatus according to claim 13 or 14, wherein the target application determination module is configured to:
    获取终端的当前状态特征信息;Obtain the current state characteristic information of the terminal;
    将所述当前状态特征信息输入至所述目标候选应用集合对应的第二类预测模型中,根据所述第二类预测模型的输出结果确定所述目标候选应用集合中包含的待预加载的目标应用程序。Inputting the current state characteristic information into a second type prediction model corresponding to the target candidate application set, and determining a target to be preloaded in the target candidate application set according to an output result of the second type prediction model application.
  17. 根据权利要求16所述的装置,还包括:The apparatus according to claim 16, further comprising:
    第二训练样本采集模块,设置为在第二预设时间段内采集当前候选应用集合中的样本应用程序被使用时所述终端的历史状态特征信息,作为第二训练样本,所述第二训练样本的样本标记包括所述样本应用程序或在所述样本应用程序之后被使用的应用程序;A second training sample collection module is configured to collect historical state feature information of the terminal when a sample application in a current candidate application set is used within a second preset time period, as a second training sample, the second training The sample tag of the sample includes the sample application or an application used after the sample application;
    第二模型训练模块,设置为将所述第二训练样本和对应的样本标记输入至第二预设模型中,以对所述第二预设模型进行训练,将训练后的第二预设模型作为所述当前候选应用集合对应的第二类预测模型。A second model training module configured to input the second training sample and a corresponding sample marker into a second preset model to train the second preset model and to train the second preset model after training As a second type prediction model corresponding to the current candidate application set.
  18. 根据权利要求13所述的装置,所述预加载模块是设置为:The apparatus according to claim 13, the preloading module is configured to:
    基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。An application interface corresponding to the target application is preloaded based on a pre-created preloaded active window stack, wherein a boundary coordinate corresponding to the preloaded active window stack is outside a coordinate range of a display screen.
  19. 一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-12中任一项所述的方法。A computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the method according to any one of claims 1-12 is implemented.
  20. 一种终端,包括存储器,处理器及存储在所述存储器上并可在所述处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-12中任一项所述的方法。A terminal includes a memory, a processor, and a computer program stored on the memory and executable by the processor. When the processor executes the computer program, the processor implements the device according to any one of claims 1-12. The method described.
PCT/CN2019/085506 2018-05-29 2019-05-05 Application program pre-loading method and device, storage medium, and terminal WO2019228134A1 (en)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2019228134A1 true WO2019228134A1 (en) 2019-12-05

Family

ID=64003702

Family Applications (1)

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

Country Status (2)

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

Families Citing this family (5)

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

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130152047A1 (en) * 2011-11-22 2013-06-13 Solano Labs, Inc System for distributed software quality improvement
CN105431822A (en) * 2013-06-12 2016-03-23 微软技术许可有限责任公司 Managing a succession of deployments of an application programming interface (api) server configuration in the software lifecycle development
CN105446988A (en) * 2014-06-30 2016-03-30 华为技术有限公司 Classification predicting method and device
CN105939416A (en) * 2016-05-30 2016-09-14 努比亚技术有限公司 Mobile terminal and application prestart method thereof
CN107783801A (en) * 2017-11-06 2018-03-09 广东欧珀移动通信有限公司 Application program forecast model is established, preloads method, apparatus, medium and terminal
CN108762844A (en) * 2018-05-29 2018-11-06 Oppo广东移动通信有限公司 Application program preloads method, apparatus, storage medium and terminal

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106000B (en) * 2013-01-23 2015-11-25 东莞宇龙通信科技有限公司 The implementation method of multifocal window and communication terminal
CN103376974A (en) * 2013-06-28 2013-10-30 广州市动景计算机科技有限公司 Window switching method and device
CN107807935B (en) * 2016-09-09 2019-05-07 腾讯科技(深圳)有限公司 Using recommended method and device
CN106406966B (en) * 2016-10-31 2020-04-07 维沃移动通信有限公司 Application program preloading method and mobile terminal
CN106919313A (en) * 2017-04-21 2017-07-04 维沃移动通信有限公司 The startup method and mobile terminal of a kind of application program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130152047A1 (en) * 2011-11-22 2013-06-13 Solano Labs, Inc System for distributed software quality improvement
CN105431822A (en) * 2013-06-12 2016-03-23 微软技术许可有限责任公司 Managing a succession of deployments of an application programming interface (api) server configuration in the software lifecycle development
CN105446988A (en) * 2014-06-30 2016-03-30 华为技术有限公司 Classification predicting method and device
CN105939416A (en) * 2016-05-30 2016-09-14 努比亚技术有限公司 Mobile terminal and application prestart method thereof
CN107783801A (en) * 2017-11-06 2018-03-09 广东欧珀移动通信有限公司 Application program forecast model is established, preloads method, apparatus, medium and terminal
CN108762844A (en) * 2018-05-29 2018-11-06 Oppo广东移动通信有限公司 Application program preloads method, apparatus, storage medium and terminal

Also Published As

Publication number Publication date
CN108762844A (en) 2018-11-06
CN108762844B (en) 2021-09-07

Similar Documents

Publication Publication Date Title
CN108762843B (en) Application program preloading method and device, storage medium and intelligent terminal
CN108647055B (en) Application program preloading method and device, storage medium and terminal
CN108363593B (en) Application program preloading method and device, storage medium and terminal
WO2019223510A1 (en) Application program preloading method and apparatus, storage medium, and mobile terminal
CN108614722B (en) Application program preloading method and device, storage medium and terminal
CN108647052B (en) Application program preloading method and device, storage medium and terminal
CN108710513B (en) Application program starting method and device, storage medium and terminal
CN108595230B (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
CN108958830B (en) Application program starting method and device, storage medium and terminal
US20190370603A1 (en) Method and apparatus for establishing an application prediction model, storage medium and terminal
WO2019228134A1 (en) Application program pre-loading method and device, storage medium, and terminal
US11099861B2 (en) Method for preloading application, storage medium, and terminal
CN108595224B (en) Application program prompting method and device, storage medium and terminal
CN108595231B (en) Application program preloading method and device, storage medium and intelligent terminal
WO2019233354A1 (en) Application preloading method and device, storage medium and terminal
WO2019223540A1 (en) Application program preloading method and apparatus, storage medium, and terminal
CN108762831B (en) Application program preloading method and device, storage medium and terminal
CN108958828B (en) Application program preloading method and device, storage medium and terminal
WO2019223511A1 (en) Application program preloading method and apparatus, storage medium, and terminal
CN108776599B (en) Management method and device for preloaded application, storage medium and intelligent terminal
CN108647056B (en) Application program preloading method and device, storage medium and terminal
WO2019218886A1 (en) Application pre-loading management method, device, storage medium and smart terminal
WO2019228149A1 (en) Collection method and apparatus for prediction sample, and storage medium and smart terminal
CN108664286B (en) Application program preloading method and device, storage medium and mobile terminal

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19811511

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19811511

Country of ref document: EP

Kind code of ref document: A1