WO2019223578A1 - Application program preloading method and apparatus, and storage medium and terminal - Google Patents

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

Info

Publication number
WO2019223578A1
WO2019223578A1 PCT/CN2019/086954 CN2019086954W WO2019223578A1 WO 2019223578 A1 WO2019223578 A1 WO 2019223578A1 CN 2019086954 W CN2019086954 W CN 2019086954W WO 2019223578 A1 WO2019223578 A1 WO 2019223578A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
preloaded
current
preset
target
Prior art date
Application number
PCT/CN2019/086954
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 WO2019223578A1 publication Critical patent/WO2019223578A1/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/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading

Definitions

  • the embodiments of the present application relate to the technical field of application preloading, for example, to a method, a device, a storage medium, and a terminal for preloading an application.
  • 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 in the terminal.
  • an embodiment of the present application provides an application preloading method, including: determining that an application to be preloaded is detected when an application preloading event is triggered; and for each of the applications to be preloaded, The pre-loaded application program determines a target application program that has a preset association relationship with the current to-be-pre-loaded application program; while pre-loading the currently-to-be-pre-loaded application program, or at the current to-be-pre-loaded application program After pre-loading, pre-load the target application.
  • an embodiment of the present application provides an application preloading device, including: an application to be preloaded determination module configured to determine an application to be preloaded when an application preloading event is triggered is detected; a target application determination module Is configured to determine, for each of the applications to be preloaded, a target application that has a preset association relationship with the current application to be preloaded; an application preloading module is configured to While pre-loading the currently-to-be-pre-loaded application, or after pre-loading the currently-to-be-pre-loaded application, pre-load the target application.
  • an embodiment of the present application provides a computer-readable storage medium on which a computer program is stored.
  • the program is executed by a processor, the method for preloading an application according to the first aspect of the embodiment of the present application is implemented.
  • 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 implemented as in the embodiment of the present application.
  • FIG. 1 is a schematic flowchart of an application preloading process 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 a 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. As shown in FIG. 1, the method includes steps 101 to 103.
  • step 101 when it is detected that an application preloading event is triggered, an application program to be preloaded is determined.
  • 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.
  • the application to be preloaded can be understood as an application that the user may soon open, which may be a fixed application that is set in advance, or an application that is predicted in a certain manner.
  • the applications to be preloaded may include one or more.
  • a prediction model may be used to make predictions on the application to be preloaded.
  • the prediction model can be a machine learning model, and the algorithms used can include Recurrent Neural Networks (RNN), Long Short-Term Memory (LSTM) networks, threshold recurrent units, simple recurrent units, automatic encoding , Decision tree, random forest, feature mean classification, classification regression tree, hidden Markov, K-NearestNeighbor (KNN) algorithm, logistic regression model, Bayesian model, Gaussian model, and KL divergence (Kullback Leibler divergence) and so on.
  • RNN Recurrent Neural Networks
  • LSTM Long Short-Term Memory
  • KNN K-NearestNeighbor
  • logistic regression model Bayesian model
  • Gaussian model Gaussian model
  • KL divergence Kullback Leibler divergence
  • training samples can be collected, the preset initial model can be trained by using the training samples, and finally a prediction model for predicting the application to be preloaded can be obtained.
  • the elements included in the training sample may include a time series or sequence sequence in which the application is opened; may include the time, place, and frequency of the application being opened; and may include a running state of the terminal, such as a switch of a mobile data network Status, the connection status of the wireless hotspot, the identity information of the connected wireless hotspot, the currently running application, the 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 and unplugging status, charging status, battery power information, and screen display duration of the headphone jack can also include data collected by sensors integrated in the terminal, such as motion sensors, light sensors, temperature sensors, and humidity sensors.
  • an appropriate sample element can be selected according to the selected machine learning model, and the selected machine learning model can be determined according to the selected sample element. It can also be combined with the requirements of prediction accuracy and preset speed.
  • the selection of models and sample elements is not limited in the embodiments of the present application.
  • determining the application to be preloaded may include determining the application to be preloaded according to the previous output result of the prediction model, or may include performing prediction by using the prediction model to determine the current output result of the prediction model as the to be preloaded. application.
  • the prediction model may output the startup probability of each candidate application set in the candidate application set, and determine the candidate application with a higher startup probability as the standby application. Preload the application.
  • the determining an application to be preloaded includes: predicting a startup probability of a candidate application; and determining a preset number of candidate applications with a high startup probability as the application to be preloaded.
  • the candidate applications may include all applications installed in the terminal, and may also include some applications. Some applications may not include system applications or applications that are rarely used by users. This embodiment of the present application does not limit the manner and quantity of candidate application programs.
  • the candidate applications can be determined according to the number of times and / or the duration of use of each application within a preset period before the current time.
  • the preset period is, for example, one month.
  • the corresponding application is determined as a candidate application, or each application is sorted according to the number of times and / or the duration of use, and the top-ranked application is determined as a candidate application.
  • the prediction model described above may be used to determine the startup probability of each candidate application. For example, according to the training samples during prediction model training, current samples are collected, and the current samples are input into the prediction model to obtain the startup probability of each candidate application.
  • the startup probability can be sorted from high to low, and the candidate N applications (N is a preset value) are determined as the applications to be loaded. This setting can preload multiple applications, and these multiple applications are determined according to the startup probability, which can improve the accuracy of the prediction.
  • step 102 for each of the applications to be preloaded, a target application that has a preset association relationship with the current application to be preloaded is determined.
  • a target application that has a preset association relationship with the pre-loaded application is determined.
  • the application to be preloaded includes five applications, which are application A, application B, application C, application D, and application E, respectively, and these five applications (application A , Application B, application C, application D, and application E) the target application with a preset association relationship. It should be noted that, among the one or more applications to be preloaded, not necessarily each of the applications to be preloaded has a target application in a preset association relationship with it.
  • a preset association relationship between applications can be understood as an association between applications that meets a certain condition.
  • the preset association relationship may include an association start relationship.
  • the online shopping applications and online payment applications can be regarded as associated startup applications, that is, the online payment applications can be regarded as related to online shopping applications.
  • the application is an application with a preset association relationship.
  • users often share interesting, important or interesting news news through social applications to other users, and then they can share news reading applications and social
  • An application is regarded as an association startup application, that is, a social application can be regarded as an application that has a preset association relationship with a news reading application.
  • the preset association relationship may further include a relationship started in a fixed sequence. For example, users often open application B after using application A, then they can consider application A and application B as applications in a fixed sequential startup relationship, that is, application B is presented as application A. Application for preset associations.
  • a target application that has a preset association relationship with the current application to be preloaded may be determined based on the preset association application list, and a preset association relationship with the current application to be preloaded may be determined according to the associated application prediction model.
  • the target application can also be determined according to the user's selection of the target application that has a preset association relationship with the current to-be-loaded application. It should be noted that the embodiment of the present application does not limit the manner of determining the target application that has a preset association relationship with the current to-be-loaded application.
  • the target application that has a preset association relationship with the current application to be preloaded also belongs to the application to be preloaded, that is, the application to be preloaded includes a group of applications with a preset association relationship. program.
  • the target application that has a preset association relationship with the current application to be preloaded may also be an application program other than the application to be preloaded. This embodiment of the present application does not limit this.
  • step 103 while pre-loading the current to-be-pre-loaded application program, or after pre-loading the current to-be-pre-loaded application program, pre-load the target application program.
  • the current to-be-preloaded application program and the target application program are preloaded at the same time.
  • the current application to be preloaded is application A
  • the target application that has a preset association relationship with application A is application B
  • preload operation is performed on both application A and application B, that is, It is said that the preloading process of application A and application B can be performed in parallel.
  • the target application is preloaded after the current application to be preloaded is preloaded.
  • the target application can be preloaded after the preset duration of the current pre-loaded application is preloaded; after the pre-loading of the startup resources corresponding to the current to-be-loaded application is completely preloaded, the target application can be preloaded.
  • the target application is preloaded; it is also possible to preload the target application after preloading some of the startup resources corresponding to the current to-be-loaded application.
  • Part of the startup resources can be understood as the current to-be-loaded application startup Part of all the startup resources needed at the time. This embodiment of the present application does not limit this.
  • the specific process of preloading and the resources loaded are not limited, and the preloading of the target application is taken as an example for description.
  • a corresponding hardware resource can be allocated to a target application, and related data required for startup can be loaded based on the allocated hardware resource.
  • 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 based on the specific type of target application. For example, if the target application is a social software, you can preload the startup screen, contact list, and recent message records in the target application; if the target application is a game, you can preload the target application. Game background related data.
  • an application to be preloaded is determined, and for each of the applications to be preloaded in the application to be preloaded, the current application The target application whose pre-loaded application has a preset association relationship, while pre-loading the current to-be-pre-loaded application, or after pre-loading the current to-be-pre-loaded application, pre-load the target application .
  • determining a target application that has a preset association relationship with the current application to be preloaded includes: obtaining a list of preset association applications; wherein the list of preset association applications includes multiple groups of preset associations A combination of related application programs; and searching for a target application program that has a preset association relationship with a current to-be-loaded application program from the preset associated application list. This setting can simply and quickly determine a target application that has a preset association relationship with the current application to be preloaded.
  • the plurality of groups of application combinations in the preset association application included in the preset association application may be obtained by summing up a user's habits or rules of using the application.
  • the method for obtaining the preset associated application list includes: obtaining an application usage sequence and a number of occurrences corresponding to the application usage sequence within a preset time period; wherein the application usage sequence Including two applications launched in association; when the number of occurrences is greater than a preset number threshold, using the application sequence as an application combination in a preset association relationship, and generating an application based on the application combination
  • the preset associated application list is described. This setting can determine the preset associated application list that is more in line with the user's own according to the user's use of the application, thereby making the target application that is determined to have a preset association with the current to-be-loaded application more targeted. To better meet user needs.
  • the application uses the sequence, and the number of occurrences corresponding to the sequence used by the application is counted.
  • the number of occurrences corresponding to the application usage sequence is greater than the preset number of times threshold, it indicates that the user is habitually using the application usage sequence.
  • the application usage sequence may be used as an application combination in a preset association relationship, or That is, the application uses a strong association relationship between two applications in the sequence, and generates a preset associated application list based on the application combination. It can be understood that the preset association application list includes multiple groups of application combinations in a preset association relationship.
  • application A initiates a call request for application B, and application A associates and starts application B
  • the application usage sequence can be expressed as: ( Application A ⁇ Application B, 5), where 5 in (Application A ⁇ Application B, 5) indicates that Application A has been associated with starting Application B 5 times.
  • the application running in the foreground is switched from application C to application D, that is, after the user has used application C, the application D has appeared 10 times in a preset period of time.
  • the application sequence is expressed as: (application C ⁇ application D, 10).
  • an application sequence (application A ⁇ application B, 5) and (application C ⁇ application D, 10) may be used as an application combination in a preset association relationship.
  • the number in the application sequence indicates the number of occurrences of the application sequence within a preset time period. The more occurrences, that is, the larger the number, indicates that the two applications in the application sequence have a preset association relationship. The stronger the intensity.
  • the multiple applications may be used as target applications or associated.
  • the application with the highest intensity is used as the target application, and a preset number of applications with higher correlation strength may also be used as the target application, which is not limited in this embodiment of the present application.
  • the determined applications to be preloaded include: Taobao, QQ, Weibo, and WeChat.
  • the applications that have a preset association relationship with Taobao include Alipay and WeChat.
  • Alipay and WeChat can be used as the target application with a preset association with Taobao at the same time, or Alipay with a higher correlation strength can be used as the target application with a preset association with Taobao.
  • QQ, Weibo and WeChat in the application to be preloaded there is no target application that has a preset association relationship with it.
  • determining a target application that is in a preset association relationship with the current application to be preloaded includes: obtaining current usage scenario information; and determining that the application is to be preloaded with the current application to be preloaded according to the current usage scenario information. Set the target application for the relationship. This setting can reasonably determine the target application that has a preset association relationship with the current application to be preloaded according to the current usage scenario information.
  • the usage scene information includes at least one of the following: time information, date category, mobile data network switch status, wireless hotspot connection status, identity information of the connected wireless hotspot, previous foreground application, plug of the headphone jack Unplug status, charging status, battery power information, screen display duration, terminal motion status, location information, Bluetooth connection status, and last screen off time.
  • the user has different usage habits for different application application sequences, that is, the target application that is determined to have a preset association relationship with the current application to be preloaded is different. Therefore, The target application that has a preset association relationship with the current application to be preloaded can be determined according to the current usage scenario information.
  • the current application to be preloaded is Cool Dog Music. From the list of preset related applications, it can be determined that the applications that have a preset association relationship with Cool Dog Music include NetEase Cloud Music and iQiyi Video.
  • the target application corresponding to the current to-be-loaded application based on the current usage scenario information. For example, if the terminal is in motion at this time, you can use Netease Cloud Music as the target application with a preset association relationship with Kugou Music; if the terminal is in a static state at this time, you can use iQiyi Video as Kugou The target application for which the music is in a preset association relationship.
  • determining a target application that is in a preset association relationship with an application to be pre-loaded according to the current use scene information includes: inputting the current use scene information and the current application to be pre-loaded, and inputting In the pre-trained associated application prediction model, a target application that has a preset association relationship with the current to-be-preloaded application is determined according to an output result of the associated application prediction model; wherein the associated application prediction model is based on In the preset historical time period, the usage rules of different applications under different historical usage scene information are trained.
  • This setting can easily and quickly determine the target application that has a preset association relationship with the current to-be-loaded application under the current use scenario based on the pre-trained related application prediction model, and the target application obtained is more in line with user needs .
  • the associated application prediction model can be understood as that after inputting the current usage scenario information and the current application to be preloaded, it can be quickly determined that the current usage scenario information is preset with the current application to be preloaded.
  • the associated application prediction model may be a statistical model or a machine learning model, or a mixture of the two.
  • the algorithm used can also include RNN, LSTM network, threshold loop unit, simple loop unit, autoencoder, decision tree, random forest, feature mean classification, classification regression tree, hidden Markov, KNN algorithm, logistic regression model,
  • the Bayesian model, Gaussian model, KL divergence, etc. are not limited in the embodiments of the present application.
  • the application sequence under different historical usage scenario information is used as a training sample set, and the training The sample set is trained to generate a correlation application prediction model. That is, the usage rules of different application programs under different historical usage scene information are learned in a preset historical time period to generate a related application prediction model.
  • the obtained current usage scenario information and the current application to be preloaded are input into a related application prediction model, and the related application prediction model analyzes the current usage scenario information, and outputs a target that has a preset association relationship with the current to be preloaded application. application.
  • This setting can pre-load the applications in the preset association relationship according to the association relationship among the applications to be preloaded in order to improve the startup speed of the applications in the preset association relationship.
  • determining a target application that has a preset association relationship with the current application to be preloaded includes: according to the application to be preloaded The corresponding startup probability is from high to low. For each to-be-pre-loaded application in the to-be-pre-loaded applications, it is determined from the to-be-loaded application that there is a preset association with the current to-be-loaded application.
  • the target application of the relationship; pre-loading the target application after pre-loading the current to-be-loaded application includes: pre-loading the current to-be-pre-loaded application, and presetting After the duration, pre-load the target application. This setting can further improve the startup speed of applications that have a preset association relationship while saving memory space.
  • the current to-be-pre-loaded application and the current to-be-pre-loaded application are pre-loaded.
  • the order of the startup probability corresponding to the application to be preloaded from high to low is: Taobao, WeChat, QQ, Gaode Map, Alipay, and Today's Headline. According to the above ranking, it is determined whether there is a target application in the foregoing to-be-loaded application program that has a preset association relationship with the current to-be-loaded application program.
  • pre-loading the current to-be-loaded application program includes: pre-loading an application interface corresponding to the current to-be-loaded application program based on a pre-created pre-loading active window stack, wherein the pre-loading The boundary coordinates corresponding to the loading active window stack are outside the coordinate range of the display screen; or, pre-loading the target application includes: pre-loading the target application corresponding to the target application based on a pre-created pre-load active window stack An application interface, wherein the boundary coordinates corresponding to the preloaded active window stack are outside the coordinate range of the display screen.
  • the following description takes the preloading of the target application as an example.
  • 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.
  • 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 task stack
  • Stack active window stack
  • a Task corresponds to an application.
  • a Task is used to store Activities.
  • a Task can store one or more Activities, and these Activities follow the "first in, first out, last in, first out" principle.
  • Stack is also used to manage Tasks. Generally, a Stack manages the Tasks that each Activity needs to display on a screen.
  • a Stack can manage one or more Tasks.
  • Stack also follows the basic management principles of the Stack.
  • 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 the user. It is not visible, so it will not affect the display content of the foreground application 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 is added to indicate 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, and are 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 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.
  • This setting can determine whether the pre-loaded stack exists after determining the target application to be pre-loaded. If it exists, it does not need to be created, and if it does not exist, it is created to save system resources.
  • 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 This setting 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 startup of the target application. Speed.
  • 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 update of an application interface corresponding to the target application within a preset time period based on the fake focus notification.
  • This setting 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 application side can forge the focus by separating the system side and the application side from inputting focus information.
  • the pre-loaded application forges the focus notification so that the pre-loaded application has the focus information, but the system-side focus information is still correct. In this way, the pre-loaded application can draw normally and achieve full 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 preset time period may be designed according to actual conditions, for example, it may be within a fixed time range after starting preloading, or it may be a period from starting preloading to completing preloading.
  • the length of the preset time period includes a playing time of starting an advertisement or starting an animation in the target application.
  • 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 startup advertisement or startup animation can be played out of the screen before the target application is started.
  • the target application When the target application is started, the main page of the application or other user-operable interface can be directly entered, so that The operational time of the target application is further advanced, reducing waiting time.
  • the method further includes: when receiving a running instruction of the target application, loading the pre-load An application interface corresponding to the target application included in the active window stack is migrated to the display screen for display.
  • This setting can directly migrate the already drawn application interface to the display screen for display when the target application really needs to be started, which can achieve fast switching of the application interface and improve startup speed.
  • the migrating an application interface corresponding to the target application included in the preloaded active window stack to the display screen for display includes: The task stack corresponding to the target application 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 implement the application interface corresponding to the target application on the display screen display.
  • This setting can ensure the stability of the interface migration process, and ensure that there are no screens, black screens, or slow migration speeds during the recovery process.
  • 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 The application program is displayed in a horizontal screen mode (such as some online games) by default.
  • some applications may switch between the horizontal and vertical screen 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 applicant set the size of the preloaded stack 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 steps 501 to 507.
  • step 501 the application usage sequence and the number of occurrences corresponding to the application usage sequence within a preset time period are obtained.
  • the application usage sequence includes two applications that are launched in association.
  • the preset time period can be set to the duration of one month.
  • step 502 when the number of occurrences is greater than the preset number of times threshold, the application uses the sequence as an application combination in a preset association relationship, and generates a preset associated application list based on the application combination.
  • the application uses a sequence: Taobao ⁇ Alipay
  • the number of occurrences is 10 in a month, which is greater than the preset number threshold 3
  • the application Taobao ⁇ Alipay can use the sequence as an application with a preset association relationship.
  • the combination that is, the generated preset associated application list includes the application combination Taobao ⁇ Alipay.
  • the sequence of application use: Jingdong Mall ⁇ Suning Tesco in a month, the number of occurrences is 6 times, greater than the preset number threshold 3, you can use the sequence of Jingdong Mall ⁇ Suning Tesco as a presentation
  • the application combination of the preset association relationship, that is, the generated preset association application list includes the application combination of Jingdong Mall ⁇ Suning Tesco.
  • step 503 when it is detected that the application preloading event is triggered, the application program to be preloaded is determined.
  • step 504 the preset associated application list is obtained.
  • the preset association application list includes multiple groups of application combinations that are in a preset association relationship.
  • step 505 for each application to be preloaded in the application to be preloaded, a target application in a preset association relationship with the current application to be preloaded is searched from the preset associated application list.
  • the current application to be preloaded is Taobao.
  • the target application that has a preset association relationship with Taobao can be determined as a payment package.
  • step 506 the target application is pre-loaded while pre-loading the current to-be-pre-loaded application or after pre-loading the current to-be-pre-loaded application.
  • Taobao and Alipay are preloaded at the same time, or Taobao is preloaded first, and Alipay is preloaded after a preset period of time.
  • step 507 when receiving the running instruction of the application to be loaded or the target application, the to-be-loaded application or the target application is started based on the pre-loaded resource.
  • the user clicks the desktop icon corresponding to Taobao, he receives a Taobao running instruction, and starts Taobao based on the pre-loaded resources, which can effectively improve the startup speed of Taobao. If the user needs to call Alipay in the process of using Taobao, he can start Alipay directly based on the pre-loaded resources, or it can increase the startup speed of Alipay.
  • a target in a preset association relationship with the current application to be preloaded is searched from the preset associated application list.
  • Application pre-load the target application while or after pre-loading the current application to be pre-loaded, to easily and quickly determine the target application that has a preset association relationship with the current application to be pre-loaded , Can better reflect the user's needs, and improve the startup speed of applications with preset associations.
  • FIG. 6 is a schematic flowchart of another application preloading method according to an embodiment of the present application. The method includes steps 601 to 607.
  • step 601 when it is detected that the application preloading event is triggered, a preset prediction model is used to predict the application program to be preloaded and the startup probability corresponding to the application program to be preloaded.
  • the application to be preloaded and the corresponding startup probability are: application B (30%), application J (22%), application D (6%), application F (2%), application Program A (10%), Application H (16%).
  • step 602 the application programs to be preloaded are sorted in the order of the startup probability corresponding to the applications to be preloaded from high to low.
  • the results of sorting the to-be-preloaded applications in order of the startup probability corresponding to the to-be-loaded applications are: application B, application J, application H, Application A, Application D, Application F.
  • step 603 the current usage scene information is acquired.
  • the current usage scenario information includes at least one of the following: time information, date category, mobile data network switch status, wireless hotspot connection status, identity information of the connected wireless hotspot, previous foreground application, and earphone jack Insertion and removal status, charging status, battery power information, screen display duration, terminal motion status, location information, Bluetooth connection status, and last screen off time.
  • step 604 for each to-be-pre-loaded application in the to-be-pre-loaded application, the current usage scene information and the current Preload the application and enter it into a pre-trained associated application prediction model.
  • the related application prediction model is trained according to usage rules of different application programs under different historical usage scene information in a preset historical time period.
  • step 605 a target application that has a preset association relationship with the current to-be-loaded application is determined according to an output result of the associated application prediction model.
  • the target application that has a preset association relationship with the current application to be preloaded may also belong to one of the applications to be preloaded, or may not belong to one of the applications to be preloaded, that is, the application to be preloaded. Applications outside the program.
  • the application J and the application D both belong to the application to be pre-loaded predicted by a preset prediction model.
  • the application program H belongs to a pre-loaded application program predicted by a preset prediction model, and the application program E does not belong to a preset prediction The application to be preloaded as predicted by the model.
  • step 606 an application interface corresponding to the current to-be-preloaded application program is preloaded based on a pre-created preloaded active window stack, and after a preset duration, the target is preloaded based on a pre-created preloaded active window stack.
  • Application interface corresponding to the application is preloaded based on a pre-created preloaded active window stack, and after a preset duration, the target is preloaded based on a pre-created preloaded active window stack.
  • the boundary coordinates corresponding to the preloaded active window stack are located outside the coordinate range of the display screen.
  • step 607 upon receiving the running instruction of the application to be loaded or the target application, the application interface corresponding to the application to be loaded or the target application included in the preloaded active window stack is migrated to the display screen for display.
  • the user after the user clicks the desktop icon corresponding to the application J, the user receives a running instruction of the application J, and migrates the application interface corresponding to the application J included in the preloaded active window stack to a display screen for display.
  • the user clicks the desktop icon corresponding to the application D the user receives a running instruction of the application D, and migrates the application interface corresponding to the application D included in the preloaded active window stack to the display screen for display.
  • the application preloading method provided by the embodiment of the present application in order of the startup probability corresponding to the application to be preloaded, from high to low, for each application to be preloaded in the application to be preloaded, the current usage scene information is And the current application to be preloaded, input to the pre-trained related application prediction model, and according to the output result of the related application prediction model, determine the target application that has a preset association relationship with the current to-be-loaded application, and Load the application for pre-loading, and pre-load the target application after a preset duration.
  • the target application that has a preset association relationship with the current to-be-loaded application under the current usage scenario can be simply and quickly determined, and the obtained target application is more relevant. It meets the needs of users and can further improve the startup speed of applications with preset association relationships.
  • FIG. 7 is a schematic structural 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.
  • An application program to be started may be implemented by executing an application preloading method. Do a preload.
  • the device includes an application determination module 701 to be preloaded, a target application determination module 702, and an application preloading module 703.
  • the application to be preloaded determination module 701 is configured to determine an application to be preloaded when it is detected that an application preloading event is triggered.
  • the target application determining module 702 is configured to determine, for each of the applications to be preloaded, a target application that is in a preset association relationship with the current application to be preloaded.
  • the application preloading module 703 is configured to preload the target application program while preloading the application program to be currently preloaded or after preloading the application program to be currently preloaded.
  • the application preloading device when detecting that an application preloading event is triggered, determines an application to be preloaded, and determines, for each application to be preloaded in the application to be preloaded, the current preloaded application.
  • the target application whose pre-loaded application has a preset association relationship, while pre-loading the current to-be-pre-loaded application, or after pre-loading the current to-be-pre-loaded application, pre-load the target application .
  • pre-loading applications that have a preset association relationship at the same time or pre-loading sequentially according to the association relationship can improve the hit rate of pre-loading applications that are actually started by the user, and further improve the The startup speed of the application with the preset relationship.
  • the target application determination module is configured to: obtain a preset associated application list; wherein the preset associated application list includes multiple groups of application combinations in a preset association relationship; Let the target application list be found in the associated application list with a preset association relationship with the current to-be-loaded application.
  • the method for obtaining the preset associated application list includes: obtaining an application usage sequence and a number of occurrences corresponding to the application usage sequence within a preset time period; wherein the application usage sequence Including two applications launched in association; when the number of occurrences is greater than a preset number threshold, using the application sequence as an application combination in a preset association relationship, and generating an application based on the application combination
  • the preset associated application list is described.
  • the target application determination module includes: a scene information acquisition unit configured to acquire current usage scenario information; a target application determination unit configured to determine an application to be currently preloaded based on the current usage scenario information
  • the program is a target application with a preset association relationship.
  • the target application determining unit is configured to: input the current usage scene information and the current application to be preloaded into a pre-trained related application prediction model, and predict based on the related application prediction model.
  • the output result determines a target application that has a preset association relationship with the current to-be-preloaded application program; wherein the associated application prediction model is based on the information of different application programs under different historical usage scenarios within a preset historical time period. Obtained using regular training.
  • the use scene information includes at least one of the following: time information, date category, mobile data network switch status, wireless hotspot connection status, identity information of the connected wireless hotspot, previous foreground application, headset The jack's plugging and unplugging status, charging status, battery power information, screen display time, terminal's motion status, location information, Bluetooth connection status, and last screen off time.
  • the target application determining module is configured to: in the order of the startup probability corresponding to the application to be preloaded from high to low, for each application to be preloaded in the application to be preloaded To determine, from the applications to be preloaded, a target application that has a preset association relationship with the current application to be preloaded;
  • the application preloading module is configured to preload the current application to be preloaded, and preload the target application after a preset duration.
  • pre-loading the current to-be-loaded application program includes pre-loading an application interface corresponding to the current to-be-loaded application program based on a pre-created pre-loading active window stack, wherein the The boundary coordinates corresponding to the loading active window stack are outside the coordinate range of the display screen; or the preloading the target application includes: preloading the target application corresponding to the target application based on a pre-created preloading active window stack.
  • An application interface wherein the boundary coordinates corresponding to the preloaded active window stack are outside the coordinate range of the display screen.
  • An embodiment of the present application further provides a storage medium containing computer-executable instructions.
  • the method is configured to perform an application preloading method.
  • the method includes: detecting an application preloading event. When triggered, determine the application to be preloaded; for each of the applications to be preloaded, determine a target application that has a preset association relationship with the current application to be preloaded; in While pre-loading the current to-be-loaded application program, or after pre-loading the current to-be-loaded application program, pre-load the target application program.
  • Storage medium any of various types of memory devices or storage devices.
  • the term "storage medium” is intended to include: installation media, such as Compact Read-Only Memory (CD-ROM), floppy disks, or magnetic tape devices; computer system memory or random access memory, such as dynamic random access memory ( Dynamic Random Access Memory (DRAM), Double Data Rate Random Access Memory (DDRRAM), Static Random Access Memory (SRAM), Extended Data Output Random Access (Extended Data Output Output) Random Access Memory (EDORAM), Rambus 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.
  • 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 for execution.
  • the term "storage medium" may include two or more storage media that may reside in different locations (e.g., 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 in the memory and executable by the processor. When the processor 802 executes the computer program, the application program preloading according to the embodiment of the present application is implemented. method.
  • the terminal provided in the embodiment of the present application simultaneously preloads the applications in a preset association relationship or sequentially preloads according to the association relationship, which can improve the hit rate of preloading the applications that are actually started by the user, and further improve Speed of launching applications in preset associations.
  • 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). (Hereinafter referred to as CPU), a circuit board (not shown in the figure) and a power supply circuit (not shown in the figure).
  • CPU central processing unit
  • 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). (Hereinafter referred to as CPU), a circuit board (not shown in the figure) and a power supply circuit (not shown in the figure).
  • CPU central processing unit
  • the circuit board is disposed in a space surrounded by the housing; the CPU 902 and the memory 901 are disposed on the circuit board; and the power supply circuit is configured to supply power to various circuits or devices of the terminal;
  • the memory 901 is configured to store executable program code; the CPU 902 runs a computer program corresponding to the executable program code by reading the executable program code stored in the memory 901 to implement the following steps: In the case where it is detected that the application preload event is triggered, determine the application to be preloaded; for each of the applications to be preloaded, determine to have a preset association relationship with the current application to be preloaded The target application program; while pre-loading the current to-be-loaded application program, or after pre-loading the current to-be-loaded application program, pre-loading the target application program.
  • 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 various components shown in the figures can 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 CPU902, 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 configured to control 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 mainly 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 configured to perform 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.
  • the audio circuit 906 is mainly 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, the storage medium, and the terminal provided in the foregoing embodiments can execute the application preloading method provided by any embodiment of the present application, and have corresponding function modules 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)

Abstract

Provided are an application program preloading method and apparatus, and a storage medium and a terminal. The method comprises: when it is detected that an application preloading event is triggered, determining application programs to be preloaded (101); for each of the application programs to be preloaded, determining a target application program having a pre-set association relationship with a current application program to be preloaded (102); and preloading the target application program while the current application program to be preloaded is preloaded, or after the current application program is preloaded (103).

Description

应用程序预加载方法、装置、存储介质及终端Application program preloading method, device, storage medium and terminal
本申请要求在2018年05月21日提交中国专利局、申请号为201810488536.0的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。This application claims priority from a Chinese patent application filed with the Chinese Patent Office on May 21, 2018 with application number 201810488536.0, 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 preloading, for example, to a method, a device, a storage medium, and a terminal for preloading an application.
背景技术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 following is an overview of the topics detailed in this article. This summary is not intended to limit the scope of protection of the claims.
本申请实施例提供应用程序预加载方法、装置、存储介质及终端,可以优化终端中应用程序的预加载方案。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 the terminal.
第一方面,本申请实施例提供了一种应用程序预加载方法,包括:检测到应用预加载事件被触发时,确定待预加载应用程序;对于所述待预加载应用程序中的每个待预加载应用程序,确定与当前待预加载应用程序呈预设关联关系的目标应用程序;在对所述当前待预加载应用程序进行预加载的同时,或在对所述当前待预加载应用程序进行预加载之后,对所述目标应用程序进行预加载。In a first aspect, an embodiment of the present application provides an application preloading method, including: determining that an application to be preloaded is detected when an application preloading event is triggered; and for each of the applications to be preloaded, The pre-loaded application program determines a target application program that has a preset association relationship with the current to-be-pre-loaded application program; while pre-loading the currently-to-be-pre-loaded application program, or at the current to-be-pre-loaded application program After pre-loading, pre-load the target application.
第二方面,本申请实施例提供了一种应用程序预加载装置,包括:待预加载应用确定模块,设置为检测到应用预加载事件被触发时,确定待预加载应用程序;目标应用确定模块,设置为对于所述待预加载应用程序中的每个待预加载应用程序,确定与当前待预加载应用程序呈预设关联关系的目标应用程序;应用预加载模块,设置为在对所述当前待预加载应用程序进行预加载的同时,或在对所述当前待预加载应用程序进行预加载之后,对所述目标应用程序进行预加载。In a second aspect, an embodiment of the present application provides an application preloading device, including: an application to be preloaded determination module configured to determine an application to be preloaded when an application preloading event is triggered is detected; a target application determination module Is configured to determine, for each of the applications to be preloaded, a target application that has a preset association relationship with the current application to be preloaded; an application preloading module is configured to While pre-loading the currently-to-be-pre-loaded application, or after pre-loading the currently-to-be-pre-loaded application, pre-load the target application.
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例第一方面所述的应用程序预加载方法。In a third aspect, an embodiment of the present application provides a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the method for preloading an application according to the first aspect of the embodiment of the present application is implemented.
第四方面,本申请实施例提供了一种终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例第一方 面所述的应用程序预加载方法。In a fourth aspect, 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 implemented as in the embodiment of the present application. The application preloading method described in the first aspect.
在阅读并理解了附图和详细描述后,可以明白其他方面。After reading and understanding the drawings and detailed description, other aspects can be understood.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1为本申请实施例提供的一种应用程序预加载的流程示意图;FIG. 1 is a schematic flowchart of an application preloading process 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 a 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 solutions of the present application will be further described below with reference to the accompanying drawings and specific embodiments. It can be understood that the specific embodiments described herein are only used to explain the present application, rather than limiting the present application. It should also be noted that, for convenience of description, the drawings only show a part of the structure related to the present application, but not the entire structure.
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。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 the flowchart describes the steps as sequential processing, many of the steps can be performed in parallel, concurrently, or simultaneously. In addition, the order of the steps can 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所示,该方法包括步骤101至步骤103。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 FIG. 1, the method includes steps 101 to 103.
在步骤101中,检测到应用预加载事件被触发时,确定待预加载应用程序。In step 101, when it is detected that an application preloading event is triggered, an application program to be preloaded is determined.
示例性的,本申请实施例中的终端可包括手机、平板电脑、笔记本电脑以及智能家电等终端设备。终端中装载有操作系统。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.
示例性的,待预加载的应用程序可以理解为用户可能即将打开的应用程序,可以是预先 设置好的固定的应用程序,也可以是采用一定的方式预测出来的应用程序等。待预加载的应用程序可以包括一个或多个。Exemplarily, the application to be preloaded can be understood as an application that the user may soon open, which may be a fixed application that is set in advance, or an application that is predicted in a certain manner. The applications to be preloaded may include one or more.
在一实施例中,可采用预测模型对待预加载的应用程序进行预测。该预测模型可以是机器学习模型,所采用的算法可以包括循环神经网络(Recurrent neural networks,RNN)、长短期记忆(Long Short-Term Memory,LSTM)网络、门限循环单元、简单循环单元、自动编码器、决策树、随机森林、特征均值分类、分类回归树、隐马尔科夫、K最近邻(k-NearestNeighbor,KNN)算法、逻辑回归模型、贝叶斯模型、高斯模型以及KL散度(Kullback Leibler divergence)等等。In one embodiment, a prediction model may be used to make predictions on the application to be preloaded. The prediction model can be a machine learning model, and the algorithms used can include Recurrent Neural Networks (RNN), Long Short-Term Memory (LSTM) networks, threshold recurrent units, simple recurrent units, automatic encoding , Decision tree, random forest, feature mean classification, classification regression tree, hidden Markov, K-NearestNeighbor (KNN) algorithm, logistic regression model, Bayesian model, Gaussian model, and KL divergence (Kullback Leibler divergence) and so on.
在一实施例中,可在用户使用终端的过程中,采集训练样本,采用训练样本对预设初始模型进行训练,最终得到用于预测待预加载的应用程序的预测模型。示例性的,训练样本中包含的元素可包括应用程序被打开的时间序列或次序序列;可包括应用程序被打开的时间、地点以及频次等;可包括终端的运行状态,如移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、当前运行的应用程序、上一个前景应用程序、当前应用程序在后台停留的时长、当前应用程序最近一次被切换至后台的时间、耳机插孔的插拔状态、充电状态、电池电量信息以及屏幕显示时长等等;还可包括终端中集成的传感器采集到的数据,如运动传感器、光线传感器、温度传感器以及湿度传感器等等。In one embodiment, during the process of using the terminal by the user, training samples can be collected, the preset initial model can be trained by using the training samples, and finally a prediction model for predicting the application to be preloaded can be obtained. Exemplarily, the elements included in the training sample may include a time series or sequence sequence in which the application is opened; may include the time, place, and frequency of the application being opened; and may include a running state of the terminal, such as a switch of a mobile data network Status, the connection status of the wireless hotspot, the identity information of the connected wireless hotspot, the currently running application, the 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 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.
示例性的,可根据所选用的机器学习模型选择合适的样本元素,也可根据所选的样本元素确定所选用的机器学习模型,还可结合对预测准确度以及预设速度等方面的需求进行模型及样本元素的选择等,本申请实施例不做限定。Exemplarily, an appropriate sample element can be selected according to the selected machine learning model, and the selected machine learning model can be determined according to the selected sample element. It can also be combined with the requirements of prediction accuracy and preset speed. The selection of models and sample elements is not limited in the embodiments of the present application.
本申请实施例中,确定待预加载应用程序可以包括根据预测模型之前的输出结果,确定待预加载应用程序,也可以包括利用预测模型进行预测,将预测模型的当前输出结果确定为待预加载应用程序。In the embodiment of the present application, determining the application to be preloaded may include determining the application to be preloaded according to the previous output result of the prediction model, or may include performing prediction by using the prediction model to determine the current output result of the prediction model as the to be preloaded. application.
本申请实施例中,当待预加载应用程序为多个(N个)时,预测模型可以输出候选应用程序集合中每个候选应用集合的启动概率,将启动概率较高的候选应用确定为待预加载应用程序。在一实施例中,所述确定待预加载应用程序,包括:预测候选应用程序的启动概率;将启动概率较高的预设数值个候选应用程序确定为待预加载应用程序。示例性的,候选应用程序可包括终端中安装的所有应用程序,也可包括部分应用程序。部分应用程序可以不包含系统应用程序,还可以不包含用户很少使用的应用程序。本申请实施例对候选应用程序的确定方式以及数量不做限定。在一实施例中,可根据当前时刻之前的预设时段内各应用程序的使用次数和/或使用时长确定候选应用程序,预设时段例如是1个月,当使用次数和/或使用时长超过相应的阈值时,将所对应的应用程序确定为候选应用程序,或者,按照使用次数和/或使用时长对各应用程序进行排序,将排名靠前的应用程序确定为候选应用程序。In the embodiment of the present application, when there are multiple (N) applications to be preloaded, the prediction model may output the startup probability of each candidate application set in the candidate application set, and determine the candidate application with a higher startup probability as the standby application. Preload the application. In an embodiment, the determining an application to be preloaded includes: predicting a startup probability of a candidate application; and determining a preset number of candidate applications with a high startup probability as the application to be preloaded. Exemplarily, the candidate applications may include all applications installed in the terminal, and may also include some applications. Some applications may not include system applications or applications that are rarely used by users. This embodiment of the present application does not limit the manner and quantity of candidate application programs. In one embodiment, the candidate applications can be determined according to the number of times and / or the duration of use of each application within a preset period before the current time. The preset period is, for example, one month. When the number of uses and / or the duration exceeds When the corresponding threshold value is determined, the corresponding application is determined as a candidate application, or each application is sorted according to the number of times and / or the duration of use, and the top-ranked application is determined as a candidate application.
示例性的,可采用上文所述的预测模型来确定各候选应用程序的启动概率。例如,按照预测模型训练时的训练样本,采集当前样本,将当前样本输入至预测模型中,得到各候选应用程序的启动概率。可对启动概率进行由高到低的排序,将排在前N(N为预设数值)的候选应用程序确定为待加载应用程序。这样设置能够对多个应用程序进行预加载,且这多个应用程序是根据启动概率来确定的,可以提高预测的准确性。Exemplarily, the prediction model described above may be used to determine the startup probability of each candidate application. For example, according to the training samples during prediction model training, current samples are collected, and the current samples are input into the prediction model to obtain the startup probability of each candidate application. The startup probability can be sorted from high to low, and the candidate N applications (N is a preset value) are determined as the applications to be loaded. This setting can preload multiple applications, and these multiple applications are determined according to the startup probability, which can improve the accuracy of the prediction.
在步骤102中,对于所述待预加载应用程序中的每个待预加载应用程序,确定与当前待预加载应用程序呈预设关联关系的目标应用程序。In step 102, for each of the applications to be preloaded, a target application that has a preset association relationship with the current application to be preloaded is determined.
在本申请实施例中,当确定的待预加载应用程序只包括一个时,确定与该预加载应用程 序呈预设关联关系的目标应用程序。当待预加载应用程序包含多个时,针对多个待预加载应用程序中的每个待预加载应用程序,确定与当前待预加载应用程序呈预设关联关系的目标应用程序。示例性的,待预加载应用程序包括五个应用程序,分别为应用程序A、应用程序B、应用程序C、应用程序D及应用程序E,则分别确定与这五个应用程序(应用程序A、应用程序B、应用程序C、应用程序D及应用程序E)呈预设关联关系的目标应用程序。需要说明的是,一个或多个待预加载应用程序中,并不一定每个待预加载应用程序均存在与之呈预设关联关系的目标应用程序。In the embodiment of the present application, when only one application to be pre-loaded is determined, a target application that has a preset association relationship with the pre-loaded application is determined. When there are multiple applications to be preloaded, for each of the multiple applications to be preloaded, a target application that has a preset association relationship with the current application to be preloaded is determined. Exemplarily, the application to be preloaded includes five applications, which are application A, application B, application C, application D, and application E, respectively, and these five applications (application A , Application B, application C, application D, and application E) the target application with a preset association relationship. It should be noted that, among the one or more applications to be preloaded, not necessarily each of the applications to be preloaded has a target application in a preset association relationship with it.
示例性的,应用程序间的预设关联关系可以理解为应用程序之间存在的满足一定条件的关联性。预设关联关系可以包括关联启动关系。例如,网络购物类应用程序经常关联启动网络支付类应用程序,则可以将网络购物类应用程序和网络支付类应用程序视为关联启动应用程序,也即可以将网络支付类程序作为与网络购物类应用程序呈预设关联关系的应用程序。又如,用户在使用新闻阅读类应用程序的过程中,经常将有趣的、重大的或感兴趣的新闻消息,通过社交类应用程序分享给其他用户,则可以将新闻阅读类应用程序和社交类应用程序视为关联启动应用程序,也即可以将社交类应用程序作为与新闻阅读类应用程序呈预设关联关系的应用程序。预设关联关系还可以包括按固定先后顺序启动的关系。例如,用户经常在使用完应用程序A后,打开应用程序B,则可将应用程序A和应用程序B视为呈固定先后顺序启动关系的应用程序,也即将应用程序B作为与应用程序A呈预设关联关系的应用程序。Exemplarily, a preset association relationship between applications can be understood as an association between applications that meets a certain condition. The preset association relationship may include an association start relationship. For example, when online shopping applications are often associated with launching online payment applications, the online shopping applications and online payment applications can be regarded as associated startup applications, that is, the online payment applications can be regarded as related to online shopping applications. The application is an application with a preset association relationship. For another example, in the process of using news reading applications, users often share interesting, important or interesting news news through social applications to other users, and then they can share news reading applications and social An application is regarded as an association startup application, that is, a social application can be regarded as an application that has a preset association relationship with a news reading application. The preset association relationship may further include a relationship started in a fixed sequence. For example, users often open application B after using application A, then they can consider application A and application B as applications in a fixed sequential startup relationship, that is, application B is presented as application A. Application for preset associations.
示例性的,可以基于预设关联应用列表,确定与当前待预加载应用程序呈预设关联关系的目标应用程序,还可以根据关联应用预测模型确定与当前待预加载应用程序呈预设关联关系的目标应用程序,也可以根据用户选择确定与当前待预加载应用程序呈预设关联关系的目标应用程序。需要说明的是本申请实施例对确定与当前待预加载应用程序呈预设关联关系的目标应用程序的方式不做限定。Exemplarily, a target application that has a preset association relationship with the current application to be preloaded may be determined based on the preset association application list, and a preset association relationship with the current application to be preloaded may be determined according to the associated application prediction model. The target application can also be determined according to the user's selection of the target application that has a preset association relationship with the current to-be-loaded application. It should be noted that the embodiment of the present application does not limit the manner of determining the target application that has a preset association relationship with the current to-be-loaded application.
在一实施例中,当待预加载应用程序包括多个时,可以判断多个待预加载应用程序中,是否包含与当前待预加载应用程序呈预设关联关系的应用程序,若存在,则将该应用程序作为与当前待预加载应用程序呈预设关联关系的目标应用程序。可以理解的是,此时,与当前待预加载应用程序呈预设关联关系的目标应用程序也属于待预加载应用程序,也即待预加载应用程序中包含一组呈预设关联关系的应用程序。在一实施例中,与当前待预加载应用程序呈预设关联关系的目标应用程序,也可以是待预加载应用程序之外的其他应用程序。本申请实施例对此不做限定。In one embodiment, when there are multiple applications to be preloaded, it can be determined whether the multiple applications to be preloaded include applications that have a preset association relationship with the current application to be preloaded. Use the application as a target application that has a preset association relationship with the current application to be preloaded. It can be understood that at this time, the target application that has a preset association relationship with the current application to be preloaded also belongs to the application to be preloaded, that is, the application to be preloaded includes a group of applications with a preset association relationship. program. In an embodiment, the target application that has a preset association relationship with the current application to be preloaded may also be an application program other than the application to be preloaded. This embodiment of the present application does not limit this.
在步骤103中,在对所述当前待预加载应用程序进行预加载的同时,或在对所述当前待预加载应用程序进行预加载之后,对所述目标应用程序进行预加载。In step 103, while pre-loading the current to-be-pre-loaded application program, or after pre-loading the current to-be-pre-loaded application program, pre-load the target application program.
在本申请实施例中,同时对当前待预加载应用程序与目标应用程序进行预加载。示例性的,当前待预加载应用程序为应用程序A,与应用程序A呈预设关联关系的目标应用程序为应用程序B,则同时对应用程序A和应用程序B进行预加载操作,也就是说应用程序A和应用程序B的预加载过程可以是并行进行的。在一实施例中,在对当前待预加载应用程序进行预加载之后,对目标应用程序进行预加载。其中,可在对当前待预加载应用程序进行预加载预设时长之后,再对目标应用程序进行预加载;还可在对当前待预加载应用程序对应的启动资源完全预加载完成后,再对目标应用程序进行预加载;也可以对当前待预加载应用程序对应的部分启动资源预加载完成后,再对目标应用程序进行预加载,其中,部分启动资源可理解为当前待预加载应用程序启动时所需要的全部启动资源中的一部分。本申请实施例对此不 做限定。In the embodiment of the present application, the current to-be-preloaded application program and the target application program are preloaded at the same time. Exemplarily, the current application to be preloaded is application A, and the target application that has a preset association relationship with application A is application B, and then preload operation is performed on both application A and application B, that is, It is said that the preloading process of application A and application B can be performed in parallel. In one embodiment, the target application is preloaded after the current application to be preloaded is preloaded. Wherein, the target application can be preloaded after the preset duration of the current pre-loaded application is preloaded; after the pre-loading of the startup resources corresponding to the current to-be-loaded application is completely preloaded, the target application can be preloaded. The target application is preloaded; it is also possible to preload the target application after preloading some of the startup resources corresponding to the current to-be-loaded application. Part of the startup resources can be understood as the current to-be-loaded application startup Part of all the startup resources needed at the time. This embodiment of the present application does not limit this.
本申请实施例中对预加载的具体过程以及所加载的资源不做限定,以对目标应用程序进行预加载为例进行说明。例如可为目标应用程序分配相应的硬件资源,并基于分配的硬件资源加载启动所需的相关数据。示例性的,可包括应用进程启动、应用服务启动、内存分配、文件内容读取、网络数据获取以及界面渲染等。此外,预加载的资源可根据目标应用程序的具体类型来确定。例如,若目标应用程序为一个社交软件,可以预加载该目标应用程序中的启动画面、联系人列表以及近期的消息记录等;若目标应用程序为一个游戏,可以预加载该目标应用程序中的游戏背景相关数据等。In the embodiment of the present application, the specific process of preloading and the resources loaded are not limited, and the preloading of the target application is taken as an example for description. For example, a corresponding hardware resource can be allocated to a target application, and related data required for startup can be loaded based on the allocated hardware resource. 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 based on the specific type of target application. For example, if the target application is a social software, you can preload the startup screen, contact list, and recent message records in the target application; if the target application is a game, you can preload the target application. Game background related data.
本申请实施例中提供的应用程序预加载方法,检测到应用预加载事件被触发时,确定待预加载应用程序,并对于待预加载应用程序中的每个待预加载应用程序,确定与当前待预加载应用程序呈预设关联关系的目标应用程序,在对当前待预加载应用程序进行预加载的同时,或在对当前待预加载应用程序进行预加载之后,对目标应用程序进行预加载。通过采用上述技术方案,将呈预设关联关系的应用程序同时进行预加载或按关联关系先后依次进行预加载,可提高对用户真实启动的应用程序进行预加载的命中率,并进一步提升对呈预设关联关系的应用程序的启动速度。In the application preloading method provided in the embodiment of the present application, when it is detected that an application preloading event is triggered, an application to be preloaded is determined, and for each of the applications to be preloaded in the application to be preloaded, the current application The target application whose pre-loaded application has a preset association relationship, while pre-loading the current to-be-pre-loaded application, or after pre-loading the current to-be-pre-loaded application, pre-load the target application . By adopting the above technical solution, pre-loading applications that have a preset association relationship at the same time or pre-loading sequentially according to the association relationship can improve the hit rate of pre-loading applications that are actually started by the user, and further improve the The startup speed of the application with the preset relationship.
在一些实施例中,确定与当前待预加载应用程序呈预设关联关系的目标应用程序,包括:获取预设关联应用列表;其中,所述预设关联应用列表中包括多组呈预设关联关系的应用程序组合;从所述预设关联应用列表中查找与当前待预加载应用程序呈预设关联关系的目标应用程序。这样设置可简单、快速地确定出与当前待预加载应用程序呈预设关联关系的目标应用程序。In some embodiments, determining a target application that has a preset association relationship with the current application to be preloaded includes: obtaining a list of preset association applications; wherein the list of preset association applications includes multiple groups of preset associations A combination of related application programs; and searching for a target application program that has a preset association relationship with a current to-be-loaded application program from the preset associated application list. This setting can simply and quickly determine a target application that has a preset association relationship with the current application to be preloaded.
示例性的,从预设关联应用列表中查找是否存在与当前待预加载应用程序对应的应用程序,若有,则将该应用程序确定为与当前待预加载应用程序呈预设关联关系的目标应用程序。其中,预设关联应用程序中包含的多组呈预设关联关系的应用程序组合可以是对用户使用应用程序的习惯或规律进行总结得到的。Exemplarily, find out whether there is an application corresponding to the current application to be preloaded from the preset associated application list, and if so, determine the application as a target that has a preset association relationship with the current application to be preloaded application. Wherein, the plurality of groups of application combinations in the preset association application included in the preset association application may be obtained by summing up a user's habits or rules of using the application.
在一实施例中,所述预设关联应用列表的获得方式,包括:获取预设时间段内的应用程序使用序列及所述应用程序使用序列对应的出现次数;其中,所述应用程序使用序列包括两个关联启动的应用程序;在所述出现次数大于预设次数阈值的情况下,将所述应用程序使用序列作为呈预设关联关系的应用程序组合,并基于所述应用程序组合生成所述预设关联应用列表。这样设置可根据用户对应用程序的使用规律,确定更贴合用户本身的预设关联应用列表,从而使得确定的与当前待预加载应用程序呈预设关联关系的目标应用程序,更有针对性,更能满足用户需求。In an embodiment, the method for obtaining the preset associated application list includes: obtaining an application usage sequence and a number of occurrences corresponding to the application usage sequence within a preset time period; wherein the application usage sequence Including two applications launched in association; when the number of occurrences is greater than a preset number threshold, using the application sequence as an application combination in a preset association relationship, and generating an application based on the application combination The preset associated application list is described. This setting can determine the preset associated application list that is more in line with the user's own according to the user's use of the application, thereby making the target application that is determined to have a preset association with the current to-be-loaded application more targeted. To better meet user needs.
示例性的,获取从当前时间向前追溯一个月这一时间段内,应用程序使用序列,并统计应用程序使用序列对应的出现次数。在应用程序使用序列对应的出现次数大于预设次数阈值的情况下,说明用户习惯地使用该应用程序使用序列,此时,可将应用程序使用序列作为呈预设关联关系的应用程序组合,也即该应用程序使用序列中的两个应用程序呈强关联关系,并基于应用程序组合生成预设关联应用列表。可以理解的是,预设关联应用列表中包括多组呈预设关联关系的应用程序组合。例如,在预设时间段内,应用程序A运行的过程中,通过应用程序A发起对应用程序B的调用请求,应用程序A关联启动应用程序B,可将该应用程序使用序列表示为:(应用程序A→应用程序B,5),其中,(应用程序A→应用程序B,5)中的5表示应用程序A关联启动应用程序B出现过5次。又如,前台运行的应用程序由应用 程序C切换为应用程序D的情况,即用户使用完应用程序C后,使用应用程序D的情况,在预设时间段内出现过10次,则可将该应用程序序列表示为:(应用程序C→应用程序D,10)。如果预设次数阈值设置为3,则可将应用程序序列(应用程序A→应用程序B,5)和(应用程序C→应用程序D,10)作为呈预设关联关系的应用程序组合。其中,应用程序序列中的数字,表示应用程序序列在预设时间段内的出现次数,出现次数越多,即数字越大,表示该应用程序序列中的两个应用程序间呈预设关联关系的强度越强。Exemplarily, during the period of one month from the current time, the application uses the sequence, and the number of occurrences corresponding to the sequence used by the application is counted. In the case that the number of occurrences corresponding to the application usage sequence is greater than the preset number of times threshold, it indicates that the user is habitually using the application usage sequence. At this time, the application usage sequence may be used as an application combination in a preset association relationship, or That is, the application uses a strong association relationship between two applications in the sequence, and generates a preset associated application list based on the application combination. It can be understood that the preset association application list includes multiple groups of application combinations in a preset association relationship. For example, during a preset period of time, during the running of application A, application A initiates a call request for application B, and application A associates and starts application B, and the application usage sequence can be expressed as: ( Application A → Application B, 5), where 5 in (Application A → Application B, 5) indicates that Application A has been associated with starting Application B 5 times. For another example, in the case where the application running in the foreground is switched from application C to application D, that is, after the user has used application C, the application D has appeared 10 times in a preset period of time. The application sequence is expressed as: (application C → application D, 10). If the preset number of times threshold is set to 3, an application sequence (application A → application B, 5) and (application C → application D, 10) may be used as an application combination in a preset association relationship. The number in the application sequence indicates the number of occurrences of the application sequence within a preset time period. The more occurrences, that is, the larger the number, indicates that the two applications in the application sequence have a preset association relationship. The stronger the intensity.
需要说明的是,当从预设关联应用列表中,查找到与当前待预加载应用程序呈预设关联关系的多个应用程序时,可以将多个应用程序作为目标应用程序,也可以将关联强度最高的应用程序作为目标应用程序,还可以将预设数量个关联强度较高的应用程序作为目标应用程序,本申请实施例对此不做限定。It should be noted that when a plurality of applications that are in a preset association relationship with the application to be preloaded are found from the preset association application list, the multiple applications may be used as target applications or associated. The application with the highest intensity is used as the target application, and a preset number of applications with higher correlation strength may also be used as the target application, which is not limited in this embodiment of the present application.
示例性的,通过上述方式,获取的预设关联应用列表如下表所示:Exemplarily, the preset associated application list obtained through the above manner is shown in the following table:
(淘宝→支付宝,15)(Taobao → Alipay, 15) (淘宝→微信,5)(Taobao → WeChat, 5)
(电话→微信,5)(Phone → WeChat, 5) (美团→高德地图,4)(Meituan → Gaode map, 4)
(相机→美图秀秀,8)(Camera → Meitu Xiuxiu, 8) (摩拜单车→ofo共享单车,12)(Mobike → ofo bike sharing, 12)
(饿了么→美团外卖,6)(Hungry → Meituan Takeaway, 6) (多锐运动→Keep,5)(Doraic movement → Keep, 5)
(今日头条→微信,4)(Headline Today → WeChat, 4) (酷狗音乐→网易云音乐,5)(Cool Dog Music → Netease Cloud Music, 5)
(京东商城→苏宁易购,7)(Jingdong Mall → Suning Tesco, 7) (酷狗音乐→爱奇艺视频,6)(Cool Dog Music → Iqiyi Video, 6)
确定的待预加载的应用程序包括:淘宝、QQ、微博及微信,对于淘宝这一待预加载应用程序,从预设关联应用列表中,查找到与淘宝呈预设关联关系的应用程序包括支付宝和微信,此时,可以将支付宝和微信同时作为与淘宝呈预设关联关系的目标应用程序,也可以将关联强度较高的支付宝作为与淘宝呈预设关联关系的目标应用程序。而对于待预加载应用程序中的QQ、微博及微信,不存在与其呈预设关联关系的目标应用程序。The determined applications to be preloaded include: Taobao, QQ, Weibo, and WeChat. For the Taobao to be preloaded application, from the list of preset associated applications, the applications that have a preset association relationship with Taobao include Alipay and WeChat. At this time, Alipay and WeChat can be used as the target application with a preset association with Taobao at the same time, or Alipay with a higher correlation strength can be used as the target application with a preset association with Taobao. For QQ, Weibo and WeChat in the application to be preloaded, there is no target application that has a preset association relationship with it.
在一些实施例中,确定与当前待预加载应用程序呈预设关联关系的目标应用程序,包括:获取当前使用场景信息;根据所述当前使用场景信息,确定与当前待预加载应用程序呈预设关联关系的目标应用程序。这样设置可以根据当前使用场景信息,合理确定与当前待预加载应用程序呈预设关联关系的目标应用程序。In some embodiments, determining a target application that is in a preset association relationship with the current application to be preloaded includes: obtaining current usage scenario information; and determining that the application is to be preloaded with the current application to be preloaded according to the current usage scenario information. Set the target application for the relationship. This setting can reasonably determine the target application that has a preset association relationship with the current application to be preloaded according to the current usage scenario information.
其中,使用场景信息包括以下至少一项:时间信息、日期类别、移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、上一个前台应用程序、耳机插孔的插拔状态、充电状态、电池电量信息、屏幕显示时长、终端的运动状态、位置信息、蓝牙连接状态,以及上一次屏幕熄灭时长。Wherein, the usage scene information includes at least one of the following: time information, date category, mobile data network switch status, wireless hotspot connection status, identity information of the connected wireless hotspot, previous foreground application, plug of the headphone jack Unplug status, charging status, battery power information, screen display duration, terminal motion status, location information, Bluetooth connection status, and last screen off time.
在本申请实施例中,在不同的使用场景下,用户对不同应用程序使用序列的使用习惯不同,也即确定的与当前待预加载应用程序呈预设关联关系的目标应用程序不同,因此,可根据当前使用场景信息确定与当前待预加载应用程序呈预设关联关系的目标应用程序。示例性的,当前待预加载应用程序为酷狗音乐,从预设关联应用列表中,可以确定与酷狗音乐呈预设关联关系的应用程序包括网易云音乐和爱奇艺视频,为了节约内存空间,节省系统资源,也为了更贴合用户需求,可根据当前使用场景信息,合理确定与当前待预加载应用程序对应的目标应用程序。例如,若此时终端处于运动状态,则可以将网易云音乐作为与酷狗音乐呈预设关联关系的目标应用程序;若此时终端处于静止状态,则可以将爱奇艺视频作为与酷狗音乐呈预设关联关系的目标应用程序。In the embodiment of the present application, in different usage scenarios, the user has different usage habits for different application application sequences, that is, the target application that is determined to have a preset association relationship with the current application to be preloaded is different. Therefore, The target application that has a preset association relationship with the current application to be preloaded can be determined according to the current usage scenario information. Exemplarily, the current application to be preloaded is Cool Dog Music. From the list of preset related applications, it can be determined that the applications that have a preset association relationship with Cool Dog Music include NetEase Cloud Music and iQiyi Video. In order to save memory Space, save system resources, and in order to better meet user needs, you can reasonably determine the target application corresponding to the current to-be-loaded application based on the current usage scenario information. For example, if the terminal is in motion at this time, you can use Netease Cloud Music as the target application with a preset association relationship with Kugou Music; if the terminal is in a static state at this time, you can use iQiyi Video as Kugou The target application for which the music is in a preset association relationship.
在一实施例中,根据所述当前使用场景信息,确定与当前待预加载应用程序呈预设关联 关系的目标应用程序,包括:将所述当前使用场景信息及当前待预加载应用程序,输入至预先训练的关联应用预测模型中,根据所述关联应用预测模型的输出结果,确定与所述当前待预加载应用程序呈预设关联关系的目标应用程序;其中,所述关联应用预测模型根据预设历史时间段内,不同应用程序在不同历史使用场景信息下的使用规律训练得到。这样设置可以基于预先训练的关联应用预测模型,简单、快捷地确定当前使用场景下,与当前待预加载应用程序呈预设关联关系的目标应用程序,且获取的目标应用程序更贴合用户需求。In an embodiment, determining a target application that is in a preset association relationship with an application to be pre-loaded according to the current use scene information includes: inputting the current use scene information and the current application to be pre-loaded, and inputting In the pre-trained associated application prediction model, a target application that has a preset association relationship with the current to-be-preloaded application is determined according to an output result of the associated application prediction model; wherein the associated application prediction model is based on In the preset historical time period, the usage rules of different applications under different historical usage scene information are trained. This setting can easily and quickly determine the target application that has a preset association relationship with the current to-be-loaded application under the current use scenario based on the pre-trained related application prediction model, and the target application obtained is more in line with user needs .
在本申请实施例中,关联应用预测模型可以理解为在输入当前使用场景信息和当前待预加载应用程序后,可以快速确定出在当前使用场景信息下,与当前待预加载应用程序呈预设关联关系的目标应用程序的学习模型。其中,关联应用预测模型可以是统计模型或者机器学习模型,或者两者的混合模型等。所采用的算法同样可以包括RNN、LSTM网络、门限循环单元、简单循环单元、自动编码器、决策树、随机森林、特征均值分类、分类回归树、隐马尔科夫、KNN算法、逻辑回归模型、贝叶斯模型、高斯模型以及KL散度等等,本申请实施例不做限定。示例性的,将预设历史时间段内(如从当前时间向前追溯一个月这一时间段内),将在不同历史使用场景信息下的应用程序序列,作为训练样本集,并对该训练样本集进行训练生成关联应用预测模型。即,对预设历史时间段内,不同应用程序在不同历史使用场景信息下的使用规律进行学习,生成关联应用预测模型。将获取的当前使用场景信息及当前待预加载应用程序,输入至关联应用预测模型中,关联应用预测模型对当前使用场景信息进行分析,输出与当前待预加载应用程序呈预设关联关系的目标应用程序。这样设置可以将待预加载应用程序中呈预设关联关系的应用程序按关联关系先后依次进行预加载,提升对呈预设关联关系的应用程序的启动速度。In the embodiment of the present application, the associated application prediction model can be understood as that after inputting the current usage scenario information and the current application to be preloaded, it can be quickly determined that the current usage scenario information is preset with the current application to be preloaded. Association model of the target application's learning model. The associated application prediction model may be a statistical model or a machine learning model, or a mixture of the two. The algorithm used can also include RNN, LSTM network, threshold loop unit, simple loop unit, autoencoder, decision tree, random forest, feature mean classification, classification regression tree, hidden Markov, KNN algorithm, logistic regression model, The Bayesian model, Gaussian model, KL divergence, etc. are not limited in the embodiments of the present application. Exemplarily, in a preset historical time period (such as a period of one month from the current time), the application sequence under different historical usage scenario information is used as a training sample set, and the training The sample set is trained to generate a correlation application prediction model. That is, the usage rules of different application programs under different historical usage scene information are learned in a preset historical time period to generate a related application prediction model. The obtained current usage scenario information and the current application to be preloaded are input into a related application prediction model, and the related application prediction model analyzes the current usage scenario information, and outputs a target that has a preset association relationship with the current to be preloaded application. application. This setting can pre-load the applications in the preset association relationship according to the association relationship among the applications to be preloaded in order to improve the startup speed of the applications in the preset association relationship.
在一些实施例中,对于所述待预加载应用程序中的每个待预加载应用程序,确定与当前待预加载应用程序呈预设关联关系的目标应用程序,包括:按照待预加载应用程序对应的启动概率由高到低的顺序,对于所述待预加载应用程序中的每个待预加载应用程序,从所述待预加载应用程序中确定与当前待预加载应用程序呈预设关联关系的目标应用程序;在对所述当前待预加载应用程序进行预加载之后,对所述目标应用程序进行预加载,包括:对所述当前待预加载应用程序进行预加载,并在预设时长之后,对所述目标应用程序进行预加载。这样设置在节约内存空间的同时,可以进一步提高对呈预设关联关系的应用程序的启动速度。In some embodiments, for each of the applications to be preloaded, determining a target application that has a preset association relationship with the current application to be preloaded includes: according to the application to be preloaded The corresponding startup probability is from high to low. For each to-be-pre-loaded application in the to-be-pre-loaded applications, it is determined from the to-be-loaded application that there is a preset association with the current to-be-loaded application. The target application of the relationship; pre-loading the target application after pre-loading the current to-be-loaded application includes: pre-loading the current to-be-pre-loaded application, and presetting After the duration, pre-load the target application. This setting can further improve the startup speed of applications that have a preset association relationship while saving memory space.
在本申请实施例中,当待预加载应用程序中存在与当前待预加载应用程序呈预设关联关系的目标应用程序时,将当前待预加载应用程序和与当前待预加载应用程序呈预设关联关系的目标应用程序,按照先后顺序先后依次进行预加载。示例性的,按照待预加载应用程序对应的启动概率由高到低的顺序排序分别为:淘宝、微信、QQ、高德地图、支付宝及今日头条。按照上述排序,判断在上述待预加载应用程序中是否存在与当前待预加载应用程序呈预设关联关系的目标应用程序。可以理解的是,首先判断在微信、QQ、高德地图、支付宝及今日头条这五个待预加载应用程序中,是否存在与淘宝呈预设关联关系的目标应用程序,例如,与淘宝呈预设关联关系的目标应用程序为支付宝,则对淘宝进行预加载,并在预设时长之后,如10s之后,对支付宝进行预加载。然后再判断在QQ、高德地图及今日头条这三个待预加载应用程序中,是否存在与微信呈预设关联关系的目标应用程序,依次类推。In the embodiment of the present application, when a target application that has a preset association relationship with the current to-be-pre-loaded application exists in the to-be-pre-loaded application, the current to-be-pre-loaded application and the current to-be-pre-loaded application are pre-loaded. Set the target application of the association relationship to preload in order. Exemplarily, the order of the startup probability corresponding to the application to be preloaded from high to low is: Taobao, WeChat, QQ, Gaode Map, Alipay, and Today's Headline. According to the above ranking, it is determined whether there is a target application in the foregoing to-be-loaded application program that has a preset association relationship with the current to-be-loaded application program. It can be understood that, first of all, in the five pre-loaded applications of WeChat, QQ, Gaode Map, Alipay, and Toutiao Today, whether there is a target application with a preset association relationship with Taobao, for example, with Taobao If the target application of the association relationship is Alipay, preload Taobao, and preload Alipay after a preset time period, such as 10s. Then determine whether there are target applications that have a preset association with WeChat among the three applications to be preloaded, such as QQ, Gaode Map and Today's Headline, and so on.
在一些实施例中,对所述当前待预加载应用程序进行预加载,包括:基于预先创建的预加载活动窗口堆栈预加载所述当前待预加载应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外;或,所述对所述目标应用程序进 行预加载,包括:基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。下面以对目标应用程序进行预加载为例进行下面的说明。In some embodiments, pre-loading the current to-be-loaded application program includes: pre-loading an application interface corresponding to the current to-be-loaded application program based on a pre-created pre-loading active window stack, wherein the pre-loading The boundary coordinates corresponding to the loading active window stack are outside the coordinate range of the display screen; or, pre-loading the target application includes: pre-loading the target application corresponding to the target application based on a pre-created pre-load active window stack An application interface, wherein the boundary coordinates corresponding to the preloaded active window stack are outside the coordinate range of the display screen. The following description takes the preloading of the target application as an example.
本申请实施例中,活动窗口可理解为一个独立的直接面向用户提供交互和操作的界面,在不同的操作系统中可能采用不同的名词来命名该界面。为了便于理解,下面以安卓(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 (task stack) and Stack (active window stack). A Task corresponds to an application. A Task is used to store Activities. A Task can store one or more Activities, and these Activities follow the "first in, first out, last in, first out" principle. Stack is also used to manage Tasks. Generally, a Stack manages the Tasks that each Activity needs to display on a screen. A Stack can manage one or more Tasks. Of course, Stack also follows the basic management principles of the Stack. . 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 visible and system only visible. 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 the user. It is not visible, so it will not affect the display content of the foreground application 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 to indicate 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, and are 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 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. This setting can determine whether the pre-loaded stack exists after determining the target application to be pre-loaded. If it exists, it does not need to be created, and 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. This setting 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 startup of the target application. Speed. 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 update of an application interface corresponding to the target application within a preset time period based on the fake focus notification. This setting 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 application side can forge the focus by separating the system side and the application side from inputting focus information. In the embodiment of the present application, the pre-loaded application forges the focus notification so that the pre-loaded application has the focus information, but the system-side focus information is still correct. In this way, the pre-loaded application can draw normally and achieve full 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 preset time period may be designed according to actual conditions, for example, it may be within a fixed time range after starting preloading, or it may be a period from starting preloading to completing preloading. In some embodiments, the length of the 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. In the embodiment of the present application, it is set so that the startup advertisement or startup animation can be played out of the screen before the target application is started. When the target application is started, the main page of the application or other user-operable interface can be directly entered, so that The operational time of the target application is further advanced, reducing 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 the target application included in the active window stack is migrated to the display screen for display. This setting can directly migrate the already drawn application interface to the display screen for display when the target application really needs to be started, which can achieve fast switching of the application interface and improve startup speed.
在一些实施例中,所述将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示,包括:将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的任务栈迁移至应用活动窗口堆栈的顶部;更新所述任务栈的尺寸信息、配置信息和可见性,以实现所述目标应用程序对应的应用界面在所述显示屏幕进行显示。这样设置能够保证界面迁移过程的稳定性,保证恢复过程不会出现卡屏、黑屏或迁移速度慢等情况。In some embodiments, the migrating an application interface corresponding to the target application included in the preloaded active window stack to the display screen for display includes: The task stack corresponding to the target application 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 implement the application interface corresponding to the target application on the display screen display. This setting can ensure the stability of the interface migration process, and ensure that there are no screens, black screens, or slow migration speeds 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, especially mobile 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 The application program is displayed in a horizontal screen mode (such as some online games) by default. During the use of the terminal, some applications may switch between the horizontal and vertical screen 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. This setting takes into consideration the display screen landscape, pre-loaded application landscape display, and some applications' normal display. 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 pre-loading the stack boundaries is as follows:
左上角的横坐标为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 applicant set the size of the preloaded stack 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为本申请实施例提供的另一种应用程序预加载方法的流程示意图,该方法包括步骤501至步骤507。FIG. 5 is a schematic flowchart of another application preloading method according to an embodiment of the present application. The method includes steps 501 to 507.
在步骤501中,获取预设时间段内的应用程序使用序列及应用程序使用序列对应的出现次数。In step 501, the application usage sequence and the number of occurrences corresponding to the application usage sequence within a preset time period are obtained.
其中,应用程序使用序列包括两个关联启动的应用程序。The application usage sequence includes two applications that are launched in association.
例如,预设时间段可以设为一个月的时长。For example, the preset time period can be set to the duration of one month.
在步骤502中,在出现次数大于预设次数阈值的情况下,将应用程序使用序列作为呈预设关联关系的应用程序组合,并基于应用程序组合生成预设关联应用列表。In step 502, when the number of occurrences is greater than the preset number of times threshold, the application uses the sequence as an application combination in a preset association relationship, and generates a preset associated application list based on the application combination.
例如,应用程序使用序列:淘宝→支付宝在一个月时长内,出现次数为10次,大于预设次数阈值3,则可将淘宝→支付宝这一应用程序使用序列作为呈预设关联关系的应用程序组合,也即生成的预设关联应用列表中包含淘宝→支付宝这一应用程序组合。又如,应用程序使用序列:京东商城→苏宁易购在一个月时长内,出现次数为6次,大于预设次数阈值3,则可将京东商城→苏宁易购这一应用程序使用序列作为呈预设关联关系的应用程序组合,也即生成的预设关联应用列表中包含京东商城→苏宁易购这一应用程序组合。For example, if the application uses a sequence: Taobao → Alipay, the number of occurrences is 10 in a month, which is greater than the preset number threshold 3, then the application Taobao → Alipay can use the sequence as an application with a preset association relationship. The combination, that is, the generated preset associated application list includes the application combination Taobao → Alipay. For another example, the sequence of application use: Jingdong Mall → Suning Tesco in a month, the number of occurrences is 6 times, greater than the preset number threshold 3, you can use the sequence of Jingdong Mall → Suning Tesco as a presentation The application combination of the preset association relationship, that is, the generated preset association application list includes the application combination of Jingdong Mall → Suning Tesco.
在步骤503中,检测到应用预加载事件被触发时,确定待预加载应用程序。In step 503, when it is detected that the application preloading event is triggered, the application program to be preloaded is determined.
在步骤504中,获取所述预设关联应用列表。In step 504, the preset associated application list is obtained.
其中,预设关联应用列表中包括多组呈预设关联关系的应用程序组合。The preset association application list includes multiple groups of application combinations that are in a preset association relationship.
在步骤505中,对于待预加载应用程序中的每个待预加载应用程序,从预设关联应用列表中查找与当前待预加载应用程序呈预设关联关系的目标应用程序。In step 505, for each application to be preloaded in the application to be preloaded, a target application in a preset association relationship with the current application to be preloaded is searched from the preset associated application list.
例如,当前待预加载应用程序为淘宝,基于预设关联应用列表,可以确定与淘宝呈预设关联关系的目标应用程序为支付包。For example, the current application to be preloaded is Taobao. Based on the preset associated application list, the target application that has a preset association relationship with Taobao can be determined as a payment package.
在步骤506中,在对当前待预加载应用程序进行预加载的同时,或在对当前待预加载应用程序进行预加载之后,对目标应用程序进行预加载。In step 506, the target application is pre-loaded while pre-loading the current to-be-pre-loaded application or after pre-loading the current to-be-pre-loaded application.
例如,对淘宝和支付宝同时进行预加载,或者,先对淘宝进行预加载,在预设时长之后,再对支付宝进行预加载。For example, Taobao and Alipay are preloaded at the same time, or Taobao is preloaded first, and Alipay is preloaded after a preset period of time.
在步骤507中,在接收到待加载应用程序或目标应用程序的运行指令时,基于已预加载资源启动所述待加载应用程序或目标应用程序。In step 507, when receiving the running instruction of the application to be loaded or the target application, the to-be-loaded application or the target application is started based on the pre-loaded resource.
示例性的,当用户点击淘宝对应的桌面图标后,接收到淘宝的运行指令,基于已预加载 资源启动淘宝,可有效提升淘宝的启动速度。如果用户在使用淘宝的过程中,需要调用支付宝,则可以基于已预加载资源直接启动支付宝,也可提升支付宝的启动速度。For example, when the user clicks the desktop icon corresponding to Taobao, he receives a Taobao running instruction, and starts Taobao based on the pre-loaded resources, which can effectively improve the startup speed of Taobao. If the user needs to call Alipay in the process of using Taobao, he can start Alipay directly based on the pre-loaded resources, or it can increase the startup speed of Alipay.
本申请实施例提供的应用程序预加载方法,对于待预加载应用程序中的每个待预加载应用程序,从预设关联应用列表中查找与当前待预加载应用程序呈预设关联关系的目标应用程序,在对当前待预加载应用程序进行预加载的同时或之后,对目标应用程序进行预加载,可简单、快速地确定出与当前待预加载应用程序呈预设关联关系的目标应用程序,更能真实反映用户需求,并提高对呈预设关联关系的应用程序的启动速度。In the application preloading method provided by the embodiment of the present application, for each application to be preloaded in the application to be preloaded, a target in a preset association relationship with the current application to be preloaded is searched from the preset associated application list. Application, pre-load the target application while or after pre-loading the current application to be pre-loaded, to easily and quickly determine the target application that has a preset association relationship with the current application to be pre-loaded , Can better reflect the user's needs, and improve the startup speed of applications with preset associations.
图6为本申请实施例提供的另一种应用程序预加载方法的流程示意图,该方法包括步骤601至步骤607。FIG. 6 is a schematic flowchart of another application preloading method according to an embodiment of the present application. The method includes steps 601 to 607.
在步骤601中,检测到应用预加载事件被触发时,利用预设预测模型预测待预加载应用程序及待预加载应用程序对应的启动概率。In step 601, when it is detected that the application preloading event is triggered, a preset prediction model is used to predict the application program to be preloaded and the startup probability corresponding to the application program to be preloaded.
示例性的,待预加载应用程序及对应的启动概率分别为:应用程序B(30%)、应用程序J(22%)、应用程序D(6%)、应用程序F(2%)、应用程序A(10%)、应用程序H(16%)。Exemplarily, the application to be preloaded and the corresponding startup probability are: application B (30%), application J (22%), application D (6%), application F (2%), application Program A (10%), Application H (16%).
在步骤602中,按照待预加载应用程序对应的启动概率由高到低的顺序,对所述待预加载应用程序进行排序。In step 602, the application programs to be preloaded are sorted in the order of the startup probability corresponding to the applications to be preloaded from high to low.
在本申请实施例中,按照待预加载应用程序对应的启动概率由高到低的顺序,对所述待预加载应用程序进行排序的结果为:应用程序B、应用程序J、应用程序H、应用程序A、应用程序D、应用程序F。In the embodiment of the present application, the results of sorting the to-be-preloaded applications in order of the startup probability corresponding to the to-be-loaded applications are: application B, application J, application H, Application A, Application D, Application F.
在步骤603中,获取当前使用场景信息。In step 603, the current usage scene information is acquired.
其中,当前使用场景信息包括以下至少一项:时间信息、日期类别、移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、上一个前台应用程序、耳机插孔的插拔状态、充电状态、电池电量信息、屏幕显示时长、终端的运动状态、位置信息、蓝牙连接状态,以及上一次屏幕熄灭时长。The current usage scenario information includes at least one of the following: time information, date category, mobile data network switch status, wireless hotspot connection status, identity information of the connected wireless hotspot, previous foreground application, and earphone jack Insertion and removal status, charging status, battery power information, screen display duration, terminal motion status, location information, Bluetooth connection status, and last screen off time.
在步骤604中,按照待预加载应用程序对应的启动概率由高到低的顺序,对于所述待预加载应用程序中的每个待预加载应用程序,将所述当前使用场景信息及当前待预加载应用程序,输入至预先训练的关联应用预测模型中。In step 604, for each to-be-pre-loaded application in the to-be-pre-loaded application, the current usage scene information and the current Preload the application and enter it into a pre-trained associated application prediction model.
其中,所述关联应用预测模型根据预设历史时间段内,不同应用程序在不同历史使用场景信息下的使用规律训练得到。The related application prediction model is trained according to usage rules of different application programs under different historical usage scene information in a preset historical time period.
在步骤605中,根据所述关联应用预测模型的输出结果,确定与所述当前待预加载应用程序呈预设关联关系的目标应用程序。In step 605, a target application that has a preset association relationship with the current to-be-loaded application is determined according to an output result of the associated application prediction model.
其中,与当前待预加载应用程序呈预设关联关系的目标应用程序,可以也属于待预加载应用程序中的一个,也可以不属于待预加载应用程序中的一个,即属于待预加载应用程序之外的应用程序。The target application that has a preset association relationship with the current application to be preloaded may also belong to one of the applications to be preloaded, or may not belong to one of the applications to be preloaded, that is, the application to be preloaded. Applications outside the program.
例如,与应用程序J呈预设关联关系的目标应用程序为应用程序D时,应用程序J与应用程序D同属于通过预设预测模型预测出的待预加载应用程序。又如,与应用程序H呈预设关联关系的目标应用程序为应用程序E时,应用程序H属于通过预设预测模型预测出的待预加载应用程序,而应用程序E不属于通过预设预测模型预测出的待预加载应用程序。For example, when the target application that has a preset association relationship with the application J is the application D, the application J and the application D both belong to the application to be pre-loaded predicted by a preset prediction model. For another example, when the target application that has a preset association relationship with the application program H is the application program E, the application program H belongs to a pre-loaded application program predicted by a preset prediction model, and the application program E does not belong to a preset prediction The application to be preloaded as predicted by the model.
在步骤606中,基于预先创建的预加载活动窗口堆栈预加载所述当前待预加载应用程序对应的应用界面,并在预设时长之后,基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面。In step 606, an application interface corresponding to the current to-be-preloaded application program is preloaded based on a pre-created preloaded active window stack, and after a preset duration, the target is preloaded based on a pre-created preloaded active window stack. Application interface corresponding to the application.
其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。The boundary coordinates corresponding to the preloaded active window stack are located outside the coordinate range of the display screen.
在步骤607中,在接收到待加载应用程序或目标应用程序的运行指令时,将预加载活动窗口堆栈中包含的待加载应用程序或目标应用程序对应的应用界面迁移至显示屏幕进行显示。In step 607, upon receiving the running instruction of the application to be loaded or the target application, the application interface corresponding to the application to be loaded or the target application included in the preloaded active window stack is migrated to the display screen for display.
示例性的,当用户点击应用程序J对应的桌面图标后,接收到应用程序J的运行指令,将预加载活动窗口堆栈中包含的应用程序J对应的应用界面迁移至显示屏幕进行显示。又如,当用户点击应用程序D对应的桌面图标后,接收到应用程序D的运行指令,将预加载活动窗口堆栈中包含的应用程序D对应的应用界面迁移至显示屏幕进行显示Exemplarily, after the user clicks the desktop icon corresponding to the application J, the user receives a running instruction of the application J, and migrates the application interface corresponding to the application J included in the preloaded active window stack to a display screen for display. For another example, after the user clicks the desktop icon corresponding to the application D, the user receives a running instruction of the application D, and migrates the application interface corresponding to the application D included in the preloaded active window stack to the display screen for display.
本申请实施例提供的应用程序预加载方法,按照待预加载应用程序对应的启动概率由高到低的顺序,对于待预加载应用程序中的每个待预加载应用程序,将当前使用场景信息及当前待预加载应用程序,输入至预先训练的关联应用预测模型中,根据关联应用预测模型的输出结果,确定与当前待预加载应用程序呈预设关联关系的目标应用程序,对当前待预加载应用程序进行预加载,并再预设时长之后,对目标应用程序进行预加载。通过上述技术方案,可以基于预先训练的关联应用预测模型,简单、快捷地确定当前使用场景下,与当前待预加载应用程序呈预设关联关系的目标应用程序,且获取的目标应用程序更贴合用户需求,并能够进一步提高对呈预设关联关系的应用程序的启动速度。The application preloading method provided by the embodiment of the present application, in order of the startup probability corresponding to the application to be preloaded, from high to low, for each application to be preloaded in the application to be preloaded, the current usage scene information is And the current application to be preloaded, input to the pre-trained related application prediction model, and according to the output result of the related application prediction model, determine the target application that has a preset association relationship with the current to-be-loaded application, and Load the application for pre-loading, and pre-load the target application after a preset duration. Through the above technical solution, based on the pre-trained associated application prediction model, the target application that has a preset association relationship with the current to-be-loaded application under the current usage scenario can be simply and quickly determined, and the obtained target application is more relevant. It meets the needs of users and can further improve the startup speed of applications with preset association relationships.
图7为本申请实施例提供的一种应用程序预加载装置的结构示意图,该装置可由软件和/或硬件实现,一般集成在终端中,可通过执行应用程序预加载方法来对待启动的应用程序进行预加载。如图7所示,该装置包括待预加载应用确定模块701,目标应用确定模块702以及应用预加载模块703。FIG. 7 is a schematic structural 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. An application program to be started may be implemented by executing an application preloading method. Do a preload. As shown in FIG. 7, the device includes an application determination module 701 to be preloaded, a target application determination module 702, and an application preloading module 703.
待预加载应用确定模块701,设置为检测到应用预加载事件被触发时,确定待预加载应用程序。The application to be preloaded determination module 701 is configured to determine an application to be preloaded when it is detected that an application preloading event is triggered.
目标应用确定模块702,设置为对于所述待预加载应用程序中的每个待预加载应用程序,确定与当前待预加载应用程序呈预设关联关系的目标应用程序。The target application determining module 702 is configured to determine, for each of the applications to be preloaded, a target application that is in a preset association relationship with the current application to be preloaded.
应用预加载模块703,设置为在对所述当前待预加载应用程序进行预加载的同时,或在对所述当前待预加载应用程序进行预加载之后,对所述目标应用程序进行预加载。The application preloading module 703 is configured to preload the target application program while preloading the application program to be currently preloaded or after preloading the application program to be currently preloaded.
本申请实施例中提供的应用程序预加载装置,检测到应用预加载事件被触发时,确定待预加载应用程序,并对于待预加载应用程序中的每个待预加载应用程序,确定与当前待预加载应用程序呈预设关联关系的目标应用程序,在对当前待预加载应用程序进行预加载的同时,或在对当前待预加载应用程序进行预加载之后,对目标应用程序进行预加载。通过采用上述技术方案,将呈预设关联关系的应用程序同时进行预加载或按关联关系先后依次进行预加载,可提高对用户真实启动的应用程序进行预加载的命中率,并进一步提升对呈预设关联关系的应用程序的启动速度。The application preloading device provided in the embodiment of the present application, when detecting that an application preloading event is triggered, determines an application to be preloaded, and determines, for each application to be preloaded in the application to be preloaded, the current preloaded application. The target application whose pre-loaded application has a preset association relationship, while pre-loading the current to-be-pre-loaded application, or after pre-loading the current to-be-pre-loaded application, pre-load the target application . By adopting the above technical solution, pre-loading applications that have a preset association relationship at the same time or pre-loading sequentially according to the association relationship can improve the hit rate of pre-loading applications that are actually started by the user, and further improve the The startup speed of the application with the preset relationship.
在一实施例中,所述目标应用确定模块,设置为:获取预设关联应用列表;其中,所述预设关联应用列表中包括多组呈预设关联关系的应用程序组合;从所述预设关联应用列表中查找与当前待预加载应用程序呈预设关联关系的目标应用程序。In one embodiment, the target application determination module is configured to: obtain a preset associated application list; wherein the preset associated application list includes multiple groups of application combinations in a preset association relationship; Let the target application list be found in the associated application list with a preset association relationship with the current to-be-loaded application.
在一实施例中,所述预设关联应用列表的获得方式,包括:获取预设时间段内的应用程序使用序列及所述应用程序使用序列对应的出现次数;其中,所述应用程序使用序列包括两个关联启动的应用程序;在所述出现次数大于预设次数阈值的情况下,将所述应用程序使用序列作为呈预设关联关系的应用程序组合,并基于所述应用程序组合生成所述预设关联应用 列表。In an embodiment, the method for obtaining the preset associated application list includes: obtaining an application usage sequence and a number of occurrences corresponding to the application usage sequence within a preset time period; wherein the application usage sequence Including two applications launched in association; when the number of occurrences is greater than a preset number threshold, using the application sequence as an application combination in a preset association relationship, and generating an application based on the application combination The preset associated application list is described.
在一实施例中,所述目标应用确定模块,包括:场景信息获取单元,设置为获取当前使用场景信息;目标应用确定单元,设置为根据所述当前使用场景信息,确定与当前待预加载应用程序呈预设关联关系的目标应用程序。In an embodiment, the target application determination module includes: a scene information acquisition unit configured to acquire current usage scenario information; a target application determination unit configured to determine an application to be currently preloaded based on the current usage scenario information The program is a target application with a preset association relationship.
在一实施例中,所述目标应用确定单元,设置为:将所述当前使用场景信息及当前待预加载应用程序,输入至预先训练的关联应用预测模型中,根据所述关联应用预测模型的输出结果,确定与所述当前待预加载应用程序呈预设关联关系的目标应用程序;其中,所述关联应用预测模型根据预设历史时间段内,不同应用程序在不同历史使用场景信息下的使用规律训练得到。In one embodiment, the target application determining unit is configured to: input the current usage scene information and the current application to be preloaded into a pre-trained related application prediction model, and predict based on the related application prediction model. The output result determines a target application that has a preset association relationship with the current to-be-preloaded application program; wherein the associated application prediction model is based on the information of different application programs under different historical usage scenarios within a preset historical time period. Obtained using regular training.
在一实施例中,使用场景信息包括以下至少一项:时间信息、日期类别、移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、上一个前台应用程序、耳机插孔的插拔状态、充电状态、电池电量信息、屏幕显示时长、终端的运动状态、位置信息、蓝牙连接状态,以及上一次屏幕熄灭时长。In an embodiment, the use scene information includes at least one of the following: time information, date category, mobile data network switch status, wireless hotspot connection status, identity information of the connected wireless hotspot, previous foreground application, headset The jack's plugging and unplugging status, charging status, battery power information, screen display time, terminal's motion status, location information, Bluetooth connection status, and last screen off time.
在一实施例中,所述目标应用确定模块,设置为:按照待预加载应用程序对应的启动概率由高到低的顺序,对于所述待预加载应用程序中的每个待预加载应用程序,从所述待预加载应用程序中确定与当前待预加载应用程序呈预设关联关系的目标应用程序;In an embodiment, the target application determining module is configured to: in the order of the startup probability corresponding to the application to be preloaded from high to low, for each application to be preloaded in the application to be preloaded To determine, from the applications to be preloaded, a target application that has a preset association relationship with the current application to be preloaded;
所述应用预加载模块,设置为:对所述当前待预加载应用程序进行预加载,并在预设时长之后,对所述目标应用程序进行预加载。The application preloading module is configured to preload the current application to be preloaded, and preload the target application after a preset duration.
在一实施例中,对所述当前待预加载应用程序进行预加载,包括:基于预先创建的预加载活动窗口堆栈预加载所述当前待预加载应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外;或所述对所述目标应用程序进行预加载,包括:基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。In an embodiment, pre-loading the current to-be-loaded application program includes pre-loading an application interface corresponding to the current to-be-loaded application program based on a pre-created pre-loading active window stack, wherein the The boundary coordinates corresponding to the loading active window stack are outside the coordinate range of the display screen; or the preloading the target application includes: preloading the target application corresponding to the target application based on a pre-created preloading active window stack. An application interface, wherein the boundary coordinates corresponding to the preloaded active window stack are outside the coordinate range of the display screen.
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时设置为执行应用程序预加载方法,该方法包括:在检测到应用预加载事件被触发的情况下,确定待预加载应用程序;对于所述待预加载应用程序中的每个待预加载应用程序,确定与当前待预加载应用程序呈预设关联关系的目标应用程序;在对所述当前待预加载应用程序进行预加载的同时,或在对所述当前待预加载应用程序进行预加载之后,对所述目标应用程序进行预加载。An embodiment of the present application further provides a storage medium containing computer-executable instructions. When the computer-executable instructions are executed by a computer processor, the method is configured to perform an application preloading method. The method includes: detecting an application preloading event. When triggered, determine the application to be preloaded; for each of the applications to be preloaded, determine a target application that has a preset association relationship with the current application to be preloaded; in While pre-loading the current to-be-loaded application program, or after pre-loading the current to-be-loaded application program, pre-load the target application program.
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如只读光盘(Compact Disc Read-Only Memory,CD-ROM)、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如动态随机存取存储器(Dynamic Random Access Memory,DRAM)、双倍数据速率随机存取存储器(Double Data Rate Random Access Memory,DDRRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)、扩充数据输出随机存储器(Extended Data Output Random Access Memory,EDORAM),兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机设置为执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在 通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。Storage medium-any of various types of memory devices or storage devices. The term "storage medium" is intended to include: installation media, such as Compact Read-Only Memory (CD-ROM), floppy disks, or magnetic tape devices; computer system memory or random access memory, such as dynamic random access memory ( Dynamic Random Access Memory (DRAM), Double Data Rate Random Access Memory (DDRRAM), Static Random Access Memory (SRAM), Extended Data Output Random Access (Extended Data Output Output) Random Access Memory (EDORAM), Rambus 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. 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 for execution. The term "storage medium" may include two or more storage media that may reside in different locations (e.g., 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及存储在存储器上并可在处理器运行的计算机程序,所述处理器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 in the memory and executable by the processor. When the processor 802 executes the computer program, the application program preloading according to the embodiment of the present application is implemented. method.
本申请实施例提供的终端,将呈预设关联关系的应用程序同时进行预加载或按关联关系先后依次进行预加载,可提高对用户真实启动的应用程序进行预加载的命中率,并进一步提升对呈预设关联关系的应用程序的启动速度。The terminal provided in the embodiment of the present application simultaneously preloads the applications in a preset association relationship or sequentially preloads according to the association relationship, which can improve the hit rate of preloading the applications that are actually started by the user, and further improve Speed of launching applications in preset associations.
图9为本申请实施例提供的另一种终端的结构示意图,该终端可以包括:壳体(图中未示出)、存储器901、中央处理器(central processing unit,CPU)902(又称处理器,以下简称CPU)、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU902和所述存储器901设置在所述电路板上;所述电源电路,设置为为所述终端的各个电路或器件供电;所述存储器901,设置为存储可执行程序代码;所述CPU902通过读取所述存储器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). (Hereinafter referred to as CPU), 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 disposed on the circuit board; and the power supply circuit is configured to supply power to various circuits or devices of the terminal; The memory 901 is configured to store executable program code; the CPU 902 runs a computer program corresponding to the executable program code by reading the executable program code stored in the memory 901 to implement the following steps: In the case where it is detected that the application preload event is triggered, determine the application to be preloaded; for each of the applications to be preloaded, determine to have a preset association relationship with the current application to be preloaded The target application program; while pre-loading the current to-be-loaded application program, or after pre-loading the current to-be-loaded application program, pre-loading the target application program.
所述终端还包括:外设接口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 various components shown in the figures can 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可以被CPU902、外设接口903等访问,所述存储器901可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。 Memory 901, which can be accessed by CPU902, 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 configured to control 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 mainly 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 configured to perform 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 mainly 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, the storage medium, and the terminal provided in the foregoing embodiments can execute the application preloading method provided by any embodiment of the present application, and have corresponding function modules 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:
    在检测到应用预加载事件被触发的情况下,确定待预加载应用程序;Determine the application to be preloaded when it is detected that the application preload event is triggered;
    对于所述待预加载应用程序中的每个待预加载应用程序,确定与当前待预加载应用程序呈预设关联关系的目标应用程序;For each of the applications to be preloaded, determining a target application that has a preset association relationship with the current application to be preloaded;
    在对所述当前待预加载应用程序进行预加载的同时,或在对所述当前待预加载应用程序进行预加载之后,对所述目标应用程序进行预加载。While pre-loading the current to-be-loaded application program, or after pre-loading the current to-be-loaded application program, pre-load the target application program.
  2. 根据权利要求1所述的方法,其中,确定与当前待预加载应用程序呈预设关联关系的目标应用程序,包括:The method according to claim 1, wherein determining the target application in a preset association relationship with the current to-be-loaded application comprises:
    获取预设关联应用列表;其中,所述预设关联应用列表中包括多组呈预设关联关系的应用程序组合;Obtaining a preset associated application list, where the preset associated application list includes multiple groups of application combinations in a preset associated relationship;
    从所述预设关联应用列表中查找与当前待预加载应用程序呈预设关联关系的目标应用程序。Find a target application that has a preset association relationship with the current application to be preloaded from the preset associated application list.
  3. 根据权利要求2所述的方法,其其中,所述预设关联应用列表的获得方式,包括:The method according to claim 2, wherein the method for obtaining the preset associated application list comprises:
    获取预设时间段内的应用程序使用序列及所述应用程序使用序列对应的出现次数;其中,所述应用程序使用序列包括两个关联启动的应用程序;Obtaining an application usage sequence within a preset time period and the number of occurrences corresponding to the application usage sequence; wherein the application usage sequence includes two applications that are started in association;
    在所述出现次数大于预设次数阈值的情况下,将所述应用程序使用序列作为呈预设关联关系的应用程序组合,并基于所述应用程序组合生成所述预设关联应用列表。When the number of occurrences is greater than a preset number of times threshold, the application uses the sequence as an application combination in a preset association relationship, and generates the preset associated application list based on the application combination.
  4. 根据权利要求1所述的方法,其中,确定与当前待预加载应用程序呈预设关联关系的目标应用程序,包括:The method according to claim 1, wherein determining the target application in a preset association relationship with the current to-be-loaded application comprises:
    获取当前使用场景信息;Get the current usage scene information;
    根据所述当前使用场景信息,确定与当前待预加载应用程序呈预设关联关系的目标应用程序。According to the current usage scenario information, a target application that has a preset association relationship with the current application to be preloaded is determined.
  5. 根据权利要求4所述的方法,其中,根据所述当前使用场景信息,确定与当前待预加载应用程序呈预设关联关系的目标应用程序,包括:The method according to claim 4, wherein determining a target application that has a preset association relationship with an application to be preloaded currently according to the current usage scenario information comprises:
    将所述当前使用场景信息及当前待预加载应用程序,输入至预先训练的关联应用预测模型中,根据所述关联应用预测模型的输出结果,确定与所述当前待预加载应用程序呈预设关联关系的目标应用程序;其中,所述关联应用预测模型根据预设历史时间段内,不同应用程序在不同历史使用场景信息下的使用规律训练得到。Inputting the current use scene information and the current application to be preloaded into a pre-trained related application prediction model, and determining to present a preset with the current to be preloaded application according to an output result of the related application prediction model The target application of the association relationship; wherein the associated application prediction model is trained according to a usage rule of different applications under different historical usage scenario information within a preset historical time period.
  6. 根据权利要求4或5所述的方法,其中,使用场景信息包括以下至少一项:The method according to claim 4 or 5, wherein the usage scene information includes at least one of the following:
    时间信息、日期类别、移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、上一个前台应用程序、耳机插孔的插拔状态、充电状态、电池电量信息、屏幕显示时长、终端的运动状态、位置信息、蓝牙连接状态,以及上一次屏幕熄灭时长。Time information, date category, mobile data network switch status, wireless hotspot connection status, identity information of the connected wireless hotspot, previous foreground application, plug and unplug status of the headphone jack, charging status, battery power information, screen Display duration, terminal motion status, location information, Bluetooth connection status, and last screen off time.
  7. 根据权利要求1所述的方法,其中,对于所述待预加载应用程序中的每个待预加载应用程序,确定与当前待预加载应用程序呈预设关联关系的目标应用程序,包括:The method according to claim 1, wherein, for each of the applications to be preloaded, determining a target application in a preset association relationship with the current application to be preloaded, comprising:
    按照待预加载应用程序对应的启动概率由高到低的顺序,对于所述待预加载应用程序中的每个待预加载应用程序,从所述待预加载应用程序中确定与当前待预加载应用程序呈预设关联关系的目标应用程序;According to the order of the startup probability corresponding to the application to be preloaded from high to low, for each application to be preloaded in the application to be preloaded, it is determined from the application to be preloaded that the current application is to be preloaded. The target application whose application is in a preset association relationship;
    在对所述当前待预加载应用程序进行预加载之后,对所述目标应用程序进行预加载,包括:After pre-loading the current to-be-loaded application, pre-loading the target application includes:
    对所述当前待预加载应用程序进行预加载,并在预设时长之后,对所述目标应用程序进行预加载。Pre-load the current to-be-pre-loaded application, and pre-load the target application after a preset duration.
  8. 根据权利要求1所述的方法,其中,The method according to claim 1, wherein:
    对所述当前待预加载应用程序进行预加载,包括:基于预先创建的预加载活动窗口堆栈预加载所述当前待预加载应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外;或Pre-loading the current to-be-loaded application program includes: pre-loading an application interface corresponding to the current to-be-loaded application program based on a pre-created pre-loading active window stack, where the pre-loading active window stack corresponds to Boundary coordinates are outside the coordinate range of the display screen; or
    所述对所述目标应用程序进行预加载,包括:基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。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 a boundary coordinate corresponding to the pre-loading active window stack is located on a display Outside the coordinate range of the screen.
  9. 根据权利要求8所述的方法,其中,所述预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,包括:The method according to claim 8, wherein the pre-created pre-loaded active window stack pre-loads an application interface corresponding to the target application 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.
  10. 根据权利要求8所述的方法,其中,在基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面之后,还包括:The method according to claim 8, wherein after pre-loading an application interface corresponding to the target application based on a pre-created pre-loaded active window stack, further comprising:
    在接收到所述目标应用程序的运行指令时,将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。When receiving the running instruction of the target application, the application interface corresponding to the target application included in the preloaded active window stack is migrated to the display screen for display.
  11. 一种应用程序预加载装置,包括:An application preloading device includes:
    待预加载应用确定模块,设置为在检测到应用预加载事件被触发的情况下,确定待预加载应用程序;An application to be preloaded determination module, configured to determine an application to be preloaded when it is detected that an application preloading event is triggered;
    目标应用确定模块,设置为对于所述待预加载应用程序中的每个待预加载应用程序,确定与当前待预加载应用程序呈预设关联关系的目标应用程序;A target application determination module configured to determine, for each of the applications to be preloaded, a target application that has a preset association relationship with the current application to be preloaded;
    应用预加载模块,设置为在对所述当前待预加载应用程序进行预加载的同时,或在对所述当前待预加载应用程序进行预加载之后,对所述目标应用程序进行预加载。The application preloading module is configured to preload the target application program while preloading the current application program to be preloaded, or after preloading the current application program to be preloaded.
  12. 根据权利要求11所述的装置,其中,所述目标应用确定模块设置为:The apparatus according to claim 11, wherein the target application determination module is configured to:
    获取预设关联应用列表;其中,所述预设关联应用列表中包括多组呈预设关联关系的应用程序组合;Obtaining a preset associated application list, where the preset associated application list includes multiple groups of application combinations in a preset associated relationship;
    从所述预设关联应用列表中查找与当前待预加载应用程序呈预设关联关系的目标应用程序。Find a target application that has a preset association relationship with the current application to be preloaded from the preset associated application list.
  13. 根据权利要求12所述的装置,其中,所述目标应用确定模块通过以下方式获得所述预设关联应用列表:The apparatus according to claim 12, wherein the target application determination module obtains the preset associated application list in the following manner:
    获取预设时间段内的应用程序使用序列及所述应用程序使用序列对应的出现次数;其中,所述应用程序使用序列包括两个关联启动的应用程序;Obtaining an application usage sequence within a preset time period and the number of occurrences corresponding to the application usage sequence; wherein the application usage sequence includes two applications that are started in association;
    在所述出现次数大于预设次数阈值的情况下,将所述应用程序使用序列作为呈预设关联关系的应用程序组合,并基于所述应用程序组合生成所述预设关联应用列表。When the number of occurrences is greater than a preset number of times threshold, the application uses the sequence as an application combination in a preset association relationship, and generates the preset associated application list based on the application combination.
  14. 根据权利要求11所述的装置,其中,所述目标应用确定模块包括场景信息获取单元和目标应用确定单元;The apparatus according to claim 11, wherein the target application determination module comprises a scene information acquisition unit and a target application determination unit;
    所述场景信息获取单元,设置为获取当前使用场景信息;The scene information obtaining unit is configured to obtain current use scene information;
    所述目标应用确定单元,设置为根据所述当前使用场景信息,确定与当前待预加载应用程序呈预设关联关系的目标应用程序。The target application determining unit is configured to determine a target application that has a preset association relationship with an application to be preloaded currently according to the current usage scenario information.
  15. 根据权利要求14所述的装置,其中,所述目标应用确定单元设置为:The apparatus according to claim 14, wherein the target application determination unit is configured to:
    将所述当前使用场景信息及当前待预加载应用程序,输入至预先训练的关联应用预测模型中,根据所述关联应用预测模型的输出结果,确定与所述当前待预加载应用程序呈预设关联关系的目标应用程序;其中,所述关联应用预测模型根据预设历史时间段内,不同应用程序在不同历史使用场景信息下的使用规律训练得到。Inputting the current use scene information and the current application to be preloaded into a pre-trained related application prediction model, and determining to present a preset with the current to be preloaded application according to an output result of the related application prediction model The target application of the association relationship; wherein the associated application prediction model is trained according to a usage rule of different applications under different historical usage scenario information within a preset historical time period.
  16. 根据权利要求14或15所述的装置,其中,使用场景信息包括以下至少一项:The apparatus according to claim 14 or 15, wherein the usage scene information includes at least one of the following:
    时间信息、日期类别、移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、上一个前台应用程序、耳机插孔的插拔状态、充电状态、电池电量信息、屏幕显示时长、终端的运动状态、位置信息、蓝牙连接状态,以及上一次屏幕熄灭时长。Time information, date category, mobile data network switch status, wireless hotspot connection status, identity information of the connected wireless hotspot, previous foreground application, plug and unplug status of the headphone jack, charging status, battery power information, screen Display duration, terminal motion status, location information, Bluetooth connection status, and last screen off time.
  17. 根据权利要求11所述的装置,其中,The apparatus according to claim 11, wherein:
    所述目标应用确定模块设置为:按照待预加载应用程序对应的启动概率由高到低的顺序,对于所述待预加载应用程序中的每个待预加载应用程序,从所述待预加载应用程序中确定与当前待预加载应用程序呈预设关联关系的目标应用程序;The target application determination module is configured to: in the order of the startup probability corresponding to the application to be preloaded from high to low, for each application to be preloaded in the application to be preloaded, from the to be preloaded Determining a target application in the application that has a preset association relationship with the current application to be preloaded;
    所述应用预加载模块设置为:对所述当前待预加载应用程序进行预加载,并在预设时长之后,对所述目标应用程序进行预加载。The application preloading module is configured to preload the current to-be-preloaded application program, and preload the target application program after a preset period of time.
  18. 根据权利要求11所述的装置,其中,所述应用预加载模块设置为通过以下方式对所述当前待预加载应用程序进行预加载:基于预先创建的预加载活动窗口堆栈预加载所述当前待预加载应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外;或The apparatus according to claim 11, wherein the application preloading module is configured to preload the current to-be-preloaded application program in the following manner: preload the current to-be-loaded based on a pre-created preloading active window stack. An application interface corresponding to a preloaded application, wherein the boundary coordinates corresponding to the preloaded active window stack are outside the coordinate range of the display screen; or
    所述应用预加载模块设置为通过以下方式对所述目标应用程序进行预加载:基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。The application preloading module is configured to preload the target application in the following manner: preload an application interface corresponding to the target application based on a pre-created preload active window stack, wherein the preload active window The boundary coordinates of the stack are outside the coordinate range of the display screen.
  19. 一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-10中任一所述的应用程序预加载方法。A computer-readable storage medium having stored thereon a computer program that, when executed by a processor, implements the method for preloading an application program according to any one of claims 1-10.
  20. 一种终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-10任一所述的应用程序预加载方法。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 application program according to any one of claims 1 to 10 is preloaded. method.
PCT/CN2019/086954 2018-05-21 2019-05-15 Application program preloading method and apparatus, and storage medium and terminal WO2019223578A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810488536.0 2018-05-21
CN201810488536.0A CN108363593B (en) 2018-05-21 2018-05-21 Application program preloading method and device, storage medium and terminal

Publications (1)

Publication Number Publication Date
WO2019223578A1 true WO2019223578A1 (en) 2019-11-28

Family

ID=63012233

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/086954 WO2019223578A1 (en) 2018-05-21 2019-05-15 Application program preloading method and apparatus, and storage medium and terminal

Country Status (2)

Country Link
CN (1) CN108363593B (en)
WO (1) WO2019223578A1 (en)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109960539A (en) * 2017-12-21 2019-07-02 广东欧珀移动通信有限公司 Application program preloads method, apparatus, storage medium and mobile terminal
CN108363593B (en) * 2018-05-21 2020-01-21 Oppo广东移动通信有限公司 Application program preloading method and device, storage medium and terminal
CN109271352B (en) * 2018-08-18 2021-10-22 上海豹云网络信息服务有限公司 Method and system for prefetching files in mobile internet according to state information
CN109189737B (en) * 2018-08-18 2021-11-26 北京合思信息技术有限公司 Method and system for prefetching files in mobile internet according to time segments
CN109298907B (en) * 2018-08-23 2021-03-26 Oppo广东移动通信有限公司 Application program display method, application program display device and terminal
CN109298906A (en) * 2018-08-23 2019-02-01 Oppo广东移动通信有限公司 Window call-out method, window calling device and mobile terminal
CN109298910B (en) * 2018-09-14 2022-03-11 Oppo广东移动通信有限公司 Window calling method, mobile terminal and computer readable storage medium
CN111597009B (en) 2018-09-21 2023-08-04 Oppo广东移动通信有限公司 Application program display method and device and terminal equipment
CN109271254A (en) * 2018-09-25 2019-01-25 连尚(新昌)网络科技有限公司 Method, electronic equipment and the medium risen using process tune
CN109358916A (en) * 2018-11-20 2019-02-19 锐捷网络股份有限公司 The starting method and device of embedded system
KR20200100958A (en) * 2019-02-19 2020-08-27 삼성전자주식회사 Electronic device and method for prefetching application
CN111694626A (en) * 2019-03-15 2020-09-22 Oppo广东移动通信有限公司 Application skipping method and device, terminal and storage medium
CN110069226B (en) * 2019-04-01 2022-05-17 海信视像科技股份有限公司 Mobile display method for application in display equipment and display equipment
CN110231963B (en) * 2019-06-12 2022-11-15 Oppo广东移动通信有限公司 Application control method and related device
CN110471711A (en) * 2019-07-31 2019-11-19 维沃移动通信有限公司 Application program pre-add support method and terminal device
CN112905255A (en) * 2019-11-19 2021-06-04 阿里巴巴集团控股有限公司 Information processing method and device and electronic equipment
CN111007976B (en) * 2019-11-26 2021-01-26 维沃移动通信有限公司 Application control method and terminal equipment
CN111599148A (en) * 2020-03-06 2020-08-28 维沃移动通信有限公司 Electronic equipment and connection method thereof
CN111427629B (en) * 2020-03-30 2023-03-17 北京梧桐车联科技有限责任公司 Application starting method and device, vehicle equipment and storage medium
CN113747060B (en) * 2021-08-12 2022-10-21 荣耀终端有限公司 Image processing method, device and storage medium
CN113672303A (en) * 2021-08-20 2021-11-19 Oppo广东移动通信有限公司 Application program starting method, electronic equipment and storage medium
CN115016855B (en) * 2021-11-17 2023-05-09 荣耀终端有限公司 Method, apparatus and storage medium for application preloading
CN116627534B (en) * 2021-11-19 2024-04-05 荣耀终端有限公司 Application processing method and device
CN115080143A (en) * 2022-06-14 2022-09-20 北京字跳网络技术有限公司 Page resource preloading method, device, equipment and storage medium

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105700942A (en) * 2015-12-30 2016-06-22 广东欧珀移动通信有限公司 Associated start method and associated start device for application process
CN106528210A (en) * 2016-10-20 2017-03-22 广东欧珀移动通信有限公司 Application running method and apparatus
CN106603872A (en) * 2017-01-23 2017-04-26 努比亚技术有限公司 Method for starting application according to association strategy, device and mobile terminal
CN106843961A (en) * 2017-01-19 2017-06-13 上海斐讯数据通信技术有限公司 System and its application method that a kind of application program of mobile phone is preloaded and cleared up
CN107168727A (en) * 2017-03-31 2017-09-15 咪咕数字传媒有限公司 A kind of program process starts method and device
CN107295044A (en) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 A kind of method and apparatus for carrying out application program management
CN107291744A (en) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 It is determined that and with the method and device of the relationship between application program
CN107783801A (en) * 2017-11-06 2018-03-09 广东欧珀移动通信有限公司 Application program forecast model is established, preloads method, apparatus, medium and terminal
CN108363593A (en) * 2018-05-21 2018-08-03 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
CN105657522B (en) * 2016-01-05 2019-06-28 深圳市金立通信设备有限公司 A kind of method and terminal of video playing
CN106406966B (en) * 2016-10-31 2020-04-07 维沃移动通信有限公司 Application program preloading method and mobile terminal
CN107734616B (en) * 2017-10-31 2021-01-15 Oppo广东移动通信有限公司 Application program closing method and device, storage medium and electronic equipment

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105700942A (en) * 2015-12-30 2016-06-22 广东欧珀移动通信有限公司 Associated start method and associated start device for application process
CN107295044A (en) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 A kind of method and apparatus for carrying out application program management
CN107291744A (en) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 It is determined that and with the method and device of the relationship between application program
CN106528210A (en) * 2016-10-20 2017-03-22 广东欧珀移动通信有限公司 Application running method and apparatus
CN106843961A (en) * 2017-01-19 2017-06-13 上海斐讯数据通信技术有限公司 System and its application method that a kind of application program of mobile phone is preloaded and cleared up
CN106603872A (en) * 2017-01-23 2017-04-26 努比亚技术有限公司 Method for starting application according to association strategy, device and mobile terminal
CN107168727A (en) * 2017-03-31 2017-09-15 咪咕数字传媒有限公司 A kind of program process starts method and device
CN107783801A (en) * 2017-11-06 2018-03-09 广东欧珀移动通信有限公司 Application program forecast model is established, preloads method, apparatus, medium and terminal
CN108363593A (en) * 2018-05-21 2018-08-03 Oppo广东移动通信有限公司 Application program preloads method, apparatus, storage medium and terminal

Also Published As

Publication number Publication date
CN108363593B (en) 2020-01-21
CN108363593A (en) 2018-08-03

Similar Documents

Publication Publication Date Title
WO2019223578A1 (en) Application program preloading method and apparatus, and storage medium and terminal
WO2019223510A1 (en) Application program preloading method and apparatus, storage medium, and mobile terminal
US11086663B2 (en) Preloading application using active window stack
US11604660B2 (en) Method for launching application, storage medium, and terminal
EP3575962B1 (en) Method and device for preloading application, storage medium and intelligent terminal
US11397590B2 (en) Method for preloading application, storage medium, and terminal
CN108647055B (en) Application program preloading method and device, storage medium and terminal
WO2019233241A1 (en) Method and apparatus for starting application program, and storage medium and terminal
US11467855B2 (en) Application preloading method and device, storage medium and terminal
CN108647052B (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
US11099861B2 (en) Method for preloading application, storage medium, and terminal
CN108595224B (en) Application program prompting method and device, storage medium and terminal
CN108762831B (en) Application program preloading method and device, storage medium and terminal
WO2019223511A1 (en) Application program preloading method and apparatus, storage medium, and terminal
WO2019218886A1 (en) Application pre-loading management method, device, storage medium and smart terminal
WO2019228134A1 (en) Application program pre-loading method and device, storage medium, and terminal
CN108958828B (en) Application program preloading method and device, storage medium and terminal
WO2019214477A1 (en) Application program pre-loading method and device, storage medium and terminal
WO2019228149A1 (en) Collection method and apparatus for prediction sample, and storage medium and smart 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: 19806952

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: 19806952

Country of ref document: EP

Kind code of ref document: A1