WO2019228134A1 - Procédé et dispositif de préchargement de programmes d'application, support de stockage, et terminal - Google Patents

Procédé et dispositif de préchargement de programmes d'application, support de stockage, et 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
English (en)
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/fr

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.

Landscapes

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

Abstract

L'invention concerne un procédé de préchargement de programmes d'application, comportant les étapes consistant: lorsqu'il est détecté qu'un événement de préchargement d'application est déclenché, à déterminer un ensemble d'applications candidates cibles en utilisant un premier type de modèle de prédiction; à déterminer un programme d'application cible à précharger compris dans l'ensemble d'applications candidates cibles en utilisant un second type de modèle de prédiction correspondant à l'ensemble d'applications candidates cibles; et à précharger le programme d'application cible. L'invention concerne également un dispositif de préchargement de programmes d'application, un support de stockage, et un terminal.
PCT/CN2019/085506 2018-05-29 2019-05-05 Procédé et dispositif de préchargement de programmes d'application, support de stockage, et terminal WO2019228134A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810532724.9 2018-05-29
CN201810532724.9A CN108762844B (zh) 2018-05-29 2018-05-29 应用程序预加载方法、装置、存储介质及终端

Publications (1)

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

Family

ID=64003702

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/085506 WO2019228134A1 (fr) 2018-05-29 2019-05-05 Procédé et dispositif de préchargement de programmes d'application, support de stockage, et terminal

Country Status (2)

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

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108762844B (zh) * 2018-05-29 2021-09-07 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端
CN110209435A (zh) * 2019-04-28 2019-09-06 北京蓦然认知科技有限公司 一种应用预加载方法、装置
CN110457270A (zh) * 2019-07-30 2019-11-15 惠州Tcl移动通信有限公司 一种文件加载的方法、装置和终端
CN113448481A (zh) * 2020-03-25 2021-09-28 北京小米移动软件有限公司 事件处理方法及装置、存储介质
CN111629052B (zh) * 2020-05-26 2021-12-07 中国联合网络通信集团有限公司 基于mec的内容缓存方法、节点、设备及存储介质
CN111913759B (zh) * 2020-07-31 2024-02-02 中国工商银行股份有限公司 控制应用程序执行的方法、装置、计算设备和介质

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 (zh) * 2013-06-12 2016-03-23 微软技术许可有限责任公司 应用的预测预启动
CN105446988A (zh) * 2014-06-30 2016-03-30 华为技术有限公司 预测类别的方法和装置
CN105939416A (zh) * 2016-05-30 2016-09-14 努比亚技术有限公司 移动终端及其应用预启动方法
CN107783801A (zh) * 2017-11-06 2018-03-09 广东欧珀移动通信有限公司 应用程序预测模型建立、预加载方法、装置、介质及终端
CN108762844A (zh) * 2018-05-29 2018-11-06 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106000B (zh) * 2013-01-23 2015-11-25 东莞宇龙通信科技有限公司 多焦点窗口的实现方法及通信终端
CN103376974A (zh) * 2013-06-28 2013-10-30 广州市动景计算机科技有限公司 一种窗口切换方法及装置
CN107807935B (zh) * 2016-09-09 2019-05-07 腾讯科技(深圳)有限公司 应用推荐方法及装置
CN106406966B (zh) * 2016-10-31 2020-04-07 维沃移动通信有限公司 一种应用程序的预加载方法及移动终端
CN106919313A (zh) * 2017-04-21 2017-07-04 维沃移动通信有限公司 一种应用程序的启动方法及移动终端

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 (zh) * 2013-06-12 2016-03-23 微软技术许可有限责任公司 应用的预测预启动
CN105446988A (zh) * 2014-06-30 2016-03-30 华为技术有限公司 预测类别的方法和装置
CN105939416A (zh) * 2016-05-30 2016-09-14 努比亚技术有限公司 移动终端及其应用预启动方法
CN107783801A (zh) * 2017-11-06 2018-03-09 广东欧珀移动通信有限公司 应用程序预测模型建立、预加载方法、装置、介质及终端
CN108762844A (zh) * 2018-05-29 2018-11-06 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端

Also Published As

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

Similar Documents

Publication Publication Date Title
CN108762843B (zh) 应用程序的预加载方法、装置、存储介质及智能终端
WO2019223510A1 (fr) Procédé et appareil de réglage de préchargement de programme d'application, support de données et terminal mobile
CN108647055B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108363593B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108614722B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108647052B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108710513B (zh) 应用程序启动方法、装置、存储介质及终端
CN108595230B (zh) 应用程序预加载方法、装置、存储介质及终端
EP3575961B1 (fr) Procédé et appareil de mise à jour de modèle de prédiction d'application, support d'informations et terminal
WO2019228134A1 (fr) Procédé et dispositif de préchargement de programmes d'application, support de stockage, et terminal
CN108958830B (zh) 应用程序启动方法、装置、存储介质及终端
US20190370603A1 (en) Method and apparatus for establishing an application prediction model, storage medium and terminal
CN108762831B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108595224B (zh) 应用程序提示方法、装置、存储介质及终端
WO2019223540A1 (fr) Procédé et appareil de préchargement de programme d'application, support de stockage, et terminal
US11099861B2 (en) Method for preloading application, storage medium, and terminal
CN108595231B (zh) 应用程序预加载方法、装置、存储介质及智能终端
WO2019233354A1 (fr) Procédé et dispositif de préchargement d'application, support d'informations et terminal
CN108958828B (zh) 应用程序预加载方法、装置、存储介质及终端
WO2019223511A1 (fr) Procédé et appareil de préchargement de programme d'application, support d'informations et terminal
CN108776599B (zh) 预加载应用的管理方法、装置、存储介质及智能终端
CN108647056B (zh) 应用程序预加载方法、装置、存储介质及终端
WO2019218886A1 (fr) Procédé de gestion de préchargement d'application, dispositif, support de stockage et terminal intelligent
CN108762836B (zh) 预加载应用的管理方法、装置、存储介质及智能终端
WO2019228149A1 (fr) Procédé et appareil de collecte d'un échantillon de prédiction, support de stockage et terminal intelligent

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