WO2019223511A1 - 应用程序的预加载方法、装置、存储介质及终端 - Google Patents

应用程序的预加载方法、装置、存储介质及终端 Download PDF

Info

Publication number
WO2019223511A1
WO2019223511A1 PCT/CN2019/085475 CN2019085475W WO2019223511A1 WO 2019223511 A1 WO2019223511 A1 WO 2019223511A1 CN 2019085475 W CN2019085475 W CN 2019085475W WO 2019223511 A1 WO2019223511 A1 WO 2019223511A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
data
preloaded
terminal
backup
Prior art date
Application number
PCT/CN2019/085475
Other languages
English (en)
French (fr)
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 WO2019223511A1 publication Critical patent/WO2019223511A1/zh

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/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • 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/451Execution arrangements for user interfaces

Definitions

  • the embodiments of the present application relate to an application program loading technology, for example, to a method, a device, a storage medium, and a terminal for preloading an application program.
  • terminals such as smart phones, tablet computers, laptops, and smart home appliances have become essential electronic devices in people's daily lives.
  • terminal devices With the continuous intelligentization of terminal devices, most terminal devices are loaded with operating systems, enabling terminal devices to install a variety of applications to meet different needs of users.
  • the embodiments of the present application provide a method, a device, a storage medium, and a terminal for preloading an application program, which can optimize a loading solution of the application program.
  • an embodiment of the present application provides a method for preloading an application program, including:
  • An application interface corresponding to the application is preloaded based on a pre-created preloaded active window stack, wherein a boundary coordinate corresponding to the preloaded active window stack is outside a coordinate range of a display screen.
  • an embodiment of the present application further provides a device for preloading an application program, including:
  • the backup data download module is configured to download backup preloaded data when a data download instruction is detected
  • An application program determining module configured to determine an application program to be preloaded according to the backup preload data
  • the application interface loading module is configured to preload an application interface corresponding to the application based on a pre-created preloaded active window stack, wherein a boundary coordinate corresponding to the preloaded active window stack is outside a coordinate range of a display screen.
  • a computer-readable storage medium is provided in an embodiment of the present application.
  • a computer program is stored on the storage medium, and when the computer program is executed by a processor, the pre-processing of the application program according to the embodiment of the present application is implemented. Loading method.
  • an embodiment of the present application provides a terminal, including a memory, a processor, and a computer program stored in the memory and executable by the processor.
  • the processor executes the computer program, the implementation is as in the present application.
  • FIG. 1 is a schematic flowchart of a method for preloading an application program according to an embodiment of the present application
  • FIG. 2 is a schematic diagram of a relative position relationship between a preloaded active window stack and a display screen display area according to an embodiment of the present application
  • FIG. 3 is a schematic diagram of a relative position relationship between another preloaded active window stack and a display screen display area according to an embodiment of the present application
  • FIG. 4 is a schematic diagram of application interface migration provided by an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of another application preloading method according to an embodiment of the present application.
  • FIG. 6 is a structural block diagram of an application preloading device according to an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a terminal according to an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of another terminal according to an embodiment of the present application.
  • FIG. 1 is a schematic flowchart of a method for preloading an application program according to an embodiment of the present application. This embodiment may be applicable to a case of preloading an application program in a newly replaced smart terminal.
  • the method may be implemented by the application program.
  • the pre-loading device is implemented, where the device may be implemented by software and / or hardware, and may generally be integrated in a terminal. As shown in Figure 1, the method includes:
  • Step 110 When a data download instruction is detected, download the backup preloaded data.
  • 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 trigger condition of the data download instruction may be set according to the actual situation, which is not specifically limited in the embodiment of the present application.
  • the trigger condition of the data download instruction may be triggered when the user clicks the data download button; or it may be detected When there is no preloaded data in the smart terminal, a data download instruction is triggered; or when a mismatch between the smart terminal ID and the user ID is detected, a data download instruction is triggered to download the backup preloaded data corresponding to the user ID, and The identity of the terminal and the user identity are set to match.
  • the system can detect the data download instruction 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 backup preloaded data may include terminal usage data and an application prediction model.
  • the terminal usage data may be terminal usage data generated according to the user's use of the smart terminal, and may include a time sequence or sequence sequence in which the application is opened; may include the time, place, and frequency of the application being opened; and may include the terminal's Running status, such as the on / off status of the mobile data network, 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 the current application staying in the background, the current application The time when it was last switched to the background, plugging and unplugging status of the headphone jack, charging status, battery power information, and screen display time, etc .; it can also include data collected by sensors integrated in the terminal, such as motion sensors, light sensors, A combination of one or more of a temperature sensor, a humidity sensor, and the like.
  • the application prediction model may be a prediction model used to predict an application to be preloaded by collecting terminal usage data generated when a user uses a smart terminal as a training sample and training a preset initialization model.
  • it may be a model for predicting an application to be loaded according to user terminal usage data
  • the prediction model may be a machine learning model, and an algorithm used may include recurrent neural networks (RNN) , Long Short-Term Memory (LSTM) network, threshold recurring unit, simple recurring unit, autoencoder, decision tree, random forest, feature mean classification, classification regression tree, hidden Markov, K nearest neighbor ( k-NearestNeighbor (KNN) algorithm, logistic regression model, Bayesian model, Gaussian model, KL divergence (Kullback–Leibler divergence), and so on.
  • RNN recurrent neural networks
  • LSTM Long Short-Term Memory
  • KNN K nearest neighbor
  • KNN K nearest neighbor
  • logistic regression model Bayesian model
  • Gaussian model KL divergence
  • the appropriate terminal usage data can be selected according to the selected application prediction model, and the selected application prediction model can be determined according to the selected terminal usage data. It can also combine prediction accuracy and prediction speed.
  • the selection of the model and terminal usage data is not limited in the embodiment of the present application.
  • the storage location of the backup preloaded data is not limited in this application, and can be stored in a virtual cloud server, a background server, or a server preset by the user himself.
  • a virtual cloud server a background server
  • a server preset by the user himself.
  • the smart terminal when downloading and backing up the preloaded data, may be Bluetooth, Wireless Local Area Networks (WLAN), third-generation mobile communication technology (3rd-Generation, 3G), or fourth-generation mobile Communication technology (4G) Mobile communication technology and other wireless communication methods for downloading.
  • WLAN Wireless Local Area Networks
  • 3G third-generation mobile communication technology
  • 4G fourth-generation mobile Communication technology
  • the smart terminal can obtain the terminal identification and user identification stored in it, and send a download request carrying the terminal identification and user identification to Cloud server.
  • the cloud server After receiving the download request, the cloud server obtains the backup preload data corresponding to the user ID in the download request, and sends the obtained backup preload data to the smart terminal corresponding to the terminal ID.
  • Step 120 Determine the application to be preloaded according to the backup preload data.
  • the application to be preloaded can be understood as an application that needs to perform a preload operation.
  • the application can also include one or more.
  • the application to be preloaded may be determined according to the terminal data and the application prediction model in the backup preloaded data.
  • the application program to be loaded may be determined based on the terminal usage data only.
  • the terminal usage data records that the user frequently uses an application program in a period of time, and the application program is determined to be pending in this period of time.
  • Loaded application it can also be based on the application prediction model only.
  • the application prediction model determines the current application to be loaded according to the training situation, or it can be based on the application prediction model. Combine the terminal usage data to determine the application that needs to be loaded (for example, use the application prediction model to predict at least one application to be opened based on the currently running application A and the last running application B).
  • determining the application to be preloaded by using the application prediction model may include determining the application to be preloaded according to the previous output result of the application prediction model, or determining the current output result of the application prediction model. Application to be preloaded.
  • an application that may be opened by a user may be predicted first, and the program may include one or more, which may be preset
  • the fixed application can also be an application predicted in a certain way. Then, from the predicted applications that the user may be about to open, the application to be preloaded is further determined.
  • the predicted user may be one that is about to be opened, the current application to be preloaded is also corresponding. There is only one; when there are multiple applications that are predicted to be opened by a user, the current application to be preloaded may be one (that is, applications that may be opened by multiple users are determined to be one to be preloaded one by one).
  • the application to be preloaded is determined based on the backup preload data downloaded from the server.
  • the program can avoid the situation that the application preload cannot be performed in the initial stage of the smart terminal replacement.
  • the terminal (including application programs) usage data is generated in real time, and the newly generated terminal usage data can be converted into sample data to enrich the sample set.
  • the application to be preloaded may be determined based on the backup preloaded data downloaded from the server; after the user's newly replaced smart terminal has been used for a period of time, the The smart terminal will also generate its corresponding terminal usage data during this period of use.
  • the application prediction model can be trained based on the newly generated terminal usage data and backup preloaded data. If it is detected that the model training event is triggered, the application to be preloaded is predicted based on the trained application preloading model, thereby effectively avoiding the occurrence of incorrect preloading caused by changes in user usage habits and ensuring the determined to be preloaded. Loaded application accuracy.
  • the application prediction model may also be trained using only the newly generated terminal usage data.
  • Step 130 Pre-load the application interface corresponding to the pre-loaded active window stack based on the pre-created application interface, wherein the boundary coordinates corresponding to the pre-loaded active window stack are outside the coordinate range of the display screen.
  • the active window may be understood as an independent interface that directly provides users with interaction and operation, and different terms may be used to name the interface in different operating systems.
  • the following description is made by taking an Android operating system as an example.
  • the active window is called Activity.
  • Activity is a component responsible for interacting with the user. It provides a screen (which can be understood as a screen interface instead of a physical display screen) for the user to interactively complete a certain task.
  • an Activity is usually a separate screen, which can display some controls or listen to and handle user events.
  • Task stack Task stack
  • Stack activity window stack
  • Task corresponds to an application. Task is set to store Activity. One Task can store one or more Activities, and these Activities follow the "first in, first out, last in, first out" principle.
  • the Stack is set to manage Tasks.
  • a Stack manages the Tasks belonging to one or more Activities that need to be displayed on a screen.
  • a Stack can manage one or more Tasks.
  • the Stack also follows the basics of the Stack. Management principles.
  • the screens described here are not necessarily complete and independent display screens. Taking “two screens" as an example, these two screens may be just two areas in a complete display screen that independently display their respective display contents. Of course, if the terminal has two or more independent display screens, the "two screens" may also be two independent display screens.
  • multi-window mode is supported, which can include split-screen mode, picture-in-picture mode, and FreeForm.
  • the stack where the application is located can have its own size, which can include the upper, lower, left, and right coordinates in a coordinate system with the upper left corner of the terminal screen as the origin.
  • (a, b, c, d) generally describes a rectangular boundary, which can be expressed by the coordinates of the upper left corner and the lower right corner of the rectangle, that is, the upper left corner of the rectangle is (a, b), right The lower corner coordinate is (c, d), and such a rectangular area corresponds to the size of the Stack.
  • the layout of the application in the stack is based on the size of the stack, which means that the application interface corresponding to the activity is displayed within the boundary of the size.
  • pre-loading the application interface of the 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 reach the user. Invisible purpose, 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 (preloaded stack) is added, which is set to represent the stack displayed by the preloaded application, and the boundary coordinates of the preloaded stack are set outside the coordinate range of the display screen, to be preloaded
  • the application can be displayed on that Stack.
  • a new Stack dedicated to displaying preloaded applications can be created.
  • a new stack is created because the newly created preloaded stack can have its own size and visibility, thereby achieving the purpose of preloading outside the display screen.
  • the creation timing of the preloaded stack is not limited.
  • the preloaded stack is set to the resident state by default before the terminal leaves the factory, that is, the preloaded stack always exists; the terminal can also be successfully opened when the terminal is powered on or the terminal is unlocked successfully Create later; it can also be created after the application preload event is triggered (before the application is determined) and so on.
  • pre-loading an application interface corresponding to the 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 a preset A rule creates a preloaded active window stack; preloads an application interface corresponding to the application based on the created preloaded active window stack.
  • the advantage of this setting is that after determining the application to be preloaded, it is determined whether the preloaded stack exists. If it exists, it does not need to be created. If it does not exist, it is created to save system resources. It can be understood that when the application contains multiple, that is, when multiple applications need to be preloaded continuously in a short period of time, before the first application starts to load, the preloading Stack has been created, then the second Before the application starts 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 preloaded Stack preloaded application is not limited, for example, the application interface may be drawn and displayed based on the size of the preloaded Stack.
  • the application preloading method downloadeds backup preloaded data when a data download instruction is detected; determines the application to be preloaded based on the backup preloaded data; and preloads the preloaded active window stack Load the application interface corresponding to the application, where the boundary coordinates corresponding to the preloaded active window stack are outside the coordinate range of the display screen.
  • the method before the data download instruction is detected, the method further includes: detecting that a smart terminal replacement event is triggered, and sending a download prompt of the backup preloaded data to the user.
  • a smart terminal replacement event is triggered, the user is prompted whether to download the preloaded data of the smart terminal before the replacement to the smart terminal after the replacement, which prevents the user from ignoring the download of the backup preloaded data.
  • the replacement is optimized When a smart terminal is used, the preloading operation process of the application improves the accuracy of preloading.
  • a triggering condition of a smart terminal replacement event may be set according to an actual situation, and is not specifically limited in the embodiment of the present application.
  • a smart terminal replacement event can be triggered when it is detected that the user's action meets a preset condition (such as clicking the terminal replacement button or voice input "replaced smart terminal" in the replaced smart terminal); When the matching terminal ID is not the terminal ID of the terminal, a smart terminal replacement event is triggered, and so on.
  • the system can detect that the smart terminal replacement 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 method further includes: obtaining historical preloading data of the smart terminal, wherein the historical preloading data includes an application prediction model and terminal use data for the prediction operation of the prediction model; when the data is detected, When a backup instruction is sent, the historical preloaded data is sent to a cloud server to instruct the cloud server to update the backup preloaded data that is available for download.
  • the advantage of this setting is that the backup preloaded data in the cloud server can be updated in real time according to the usage of the smart terminal, which ensures the real-time and validity of the backup preloaded data in the cloud server.
  • the historical pre-processing data may be terminal usage data generated during a process of using a smart terminal by a user and an application prediction model for determining an application to be loaded.
  • the way of obtaining historical preloaded data affects the update process of the backup data in the cloud server. For example, when the obtained historical preloaded data is all the preloaded data generated by the smart terminal before the current moment, the backup data in the cloud server is updated. The obtained historical preloaded data may be used to replace the backup data corresponding to the terminal device stored in the cloud server. When the historical preloaded data obtained is historical preloaded data generated after the last time the preloaded data was obtained, when updating the backup data in the cloud server, the acquired historical preloaded data may be directly stored in the corresponding terminal device. Backing up data.
  • downloading the backup preloaded data when the data download instruction is detected includes: obtaining the terminal identifier and the user identifier of the current smart terminal when the data download instruction is detected; and sending and carrying the terminal
  • the download request for the identifier and the user identifier is sent to the cloud server, wherein the download request is used to instruct the cloud server to obtain the backup preload data corresponding to the user identifier, and send the backup preload data to the terminal identifier corresponding Smart terminal.
  • the advantage of this setting is that it enables the cloud server to obtain the backup preloaded data according to the user ID and sends it to the smart terminal corresponding to the terminal ID, which ensures the accuracy of the downloaded backup preloaded data and avoids the situation where the cloud server has more backup data , Getting and sending backup preloaded data is confusing.
  • the terminal identification of a smart terminal can be an identifier that uniquely identifies the identity of the smart terminal. For example, it can be an International Mobile Equipment Identification Number (IMEI), an Electronic Serial Number (ESN), or a hardware address (Media Access Access). Control, MAC) and so on.
  • the user identification may be an identification that identifies an intelligent terminal user, for example, it may be a mobile subscriber identification number (Mobile Identification Number, MSIN); it may also be an international mobile subscriber identification number (International Mobile Subscriber Identification Number, stored in the SIM card). IMSI); it can also be the only login account for the user to log in to the smart terminal.
  • MSIN Mobile Identification Number
  • MSI International Mobile Subscriber Identification Number
  • IMSI International Mobile Subscriber Identification Number
  • pre-loading an application interface corresponding to the application based on a pre-created pre-loaded active window stack includes: creating a target process corresponding to the application; in a pre-created pre-loaded active window stack Creating a task stack corresponding to the application program; starting an active window corresponding to the application program in the task stack based on the target process; drawing and displaying an application interface corresponding to the application program based on the started active window.
  • 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 before the drawing and displaying an application interface corresponding to the application program based on the activated active window, the method further includes: sending a fake focus notification to the application program, and It is assumed that the continuous drawing and display update of the application interface corresponding to the application program are maintained within the time period; the length of the preset time period includes the playing time of starting an advertisement or starting an animation in the application program.
  • the advantage of this setting is that it can complete the drawing and display of the application interface when the application obtains focus and is visible to the system, improving the completion of preloading, and 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. 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.
  • the purpose of falsifying the focus on the application side is achieved by separating the system side and the application side from inputting focus information.
  • the focus notification for the preloaded application is forged, so that the preloaded application has focus information, but the focus information on the system side is still correct. Such processing can enable the preloaded application to draw normally and achieve the purpose of all loading.
  • the focus exists on the system side and the application side. It can be considered as the server and the client.
  • the system side records the application that has the focus, and the application side saves a flag to indicate whether it has focus.
  • the timing of falsifying the input focus may be that when the Android window system adds a new window and the focus needs to be updated, a fake focus notification is generated and sent.
  • the method of falsifying the focus may be a method of calling the client side of the window to change the focus of the window, so that the window acquires focus.
  • a fake focus notification can be sent based on the Binder mechanism.
  • the Binder mechanism is the most commonly used method for inter-process communication of the Android system, and adopts a c / s architecture, that is, a client / service architecture.
  • the 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 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 advantage of this embodiment of the present application is that it can play the startup advertisement or startup animation off the screen before the application is launched.
  • the application When the application is launched, it can directly enter the main page of the application or other user-operable interfaces. This further advances the operable point in time of the application and reduces waiting time.
  • the method further includes: when receiving a running instruction of the target application, the pre-loading activity
  • the task stack corresponding to the target application included in the window stack is migrated to the top of the application active window stack; the size information, configuration information, and visibility of the task stack are updated to achieve the application interface corresponding to the target application.
  • the display screen performs display.
  • 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.
  • H is the screen height, that is, the area within the solid rectangle on the left is the main screen display area, and the area within the rectangle on the right dashed line is the preload display area.
  • the horizontal axis of the upper left corner is H, which is to prevent the display screen (also called the home screen) from being displayed on the pre-loaded application interface when the screen is horizontal, because the home screen has a horizontal screen mode in addition to the vertical screen mode.
  • the horizontal coordinate of the upper left corner of the rectangular area corresponding to the preloaded stack is set to the screen height.
  • the vertical coordinate of the upper left corner is 0, so that the preloaded application can correctly calculate the height of the status bar.
  • the Android application will customize the top status bar. If the corresponding vertical coordinate is not equal to 0, the height of the status bar may be wrong.
  • the size of the preloaded stack is set to (H, 0, 2H, H).
  • FIG. 4 is a schematic diagram of an application interface migration provided by an embodiment of the present application.
  • an application corresponding to the target application included in the active window stack is preloaded.
  • the interface 401 is migrated to the display screen 201 for display.
  • the task to which the preloaded application interface belongs is migrated to the top of the application activity window Stack, and the size information, configuration information, and visibility of the task are updated to thereby apply the interface. Able to display normally on the display screen.
  • the backup preload data includes terminal usage data and an application prediction model; correspondingly, determining the application to be preloaded according to the backup preload data includes: predicting according to the application The model determines the application program to be preloaded in combination with the terminal use data; correspondingly, after the downloading and backing up the preloaded data, the method further includes updating the terminal use data according to the use situation of the smart terminal; detecting model training The event is triggered, and the application prediction model is trained using the updated terminal usage data.
  • the advantage of this setting is that the application to be loaded is determined according to the application prediction model and the terminal usage data, which improves the accuracy of determining the application to be preloaded. Training and updating the application prediction model according to the terminal usage, ensuring the timeliness and accuracy of the prediction result of the application prediction model.
  • FIG. 5 is a schematic flowchart of another application preloading method according to an embodiment of the present application. The method includes the following steps:
  • Step 501 Obtain historical terminal usage data of a smart terminal and a historical application prediction model.
  • the frequency of obtaining historical terminal usage data and historical application prediction models of smart terminals is not limited in this application.
  • the frequency may be obtained in real time after detecting that the intelligent terminal generates usage data and / or application prediction models are updated; It is to obtain historical usage data and / or historical application prediction models generated by the smart terminal within a preset time period every preset time (such as one week).
  • Step 502 When the data backup instruction is detected, send the historical terminal usage data and historical application prediction model to the cloud server to instruct the cloud server to update the downloadable terminal usage data and application prediction model.
  • the triggering condition of the data backup instruction may be set according to actual conditions, which are not specifically limited in the embodiment of the present application.
  • the trigger condition of the data backup instruction may be triggered when the system detects that the user clicks the backup data button, or it may be the system After detecting that the user has enabled the data backup function, a data backup instruction is automatically triggered once every preset time period or when the total amount of data to be backed up reaches a preset amount.
  • the smart terminal when a data backup instruction is detected, the smart terminal sends the acquired historical terminal usage data and historical application prediction model and the user identifier corresponding to the smart terminal to the cloud server, and the cloud server will The terminal identification updates the received historical terminal usage data and the historical application prediction model to the terminal usage data and application prediction model corresponding to the user identification in the cloud server. Furthermore, the timeliness and accuracy of the terminal usage data and application prediction models available for download in the cloud server are guaranteed.
  • the terminal usage data and application prediction model corresponding to the user identification stored in the cloud server can be managed according to certain rules.
  • the user's usage data of the terminal device must be constantly changing.
  • the data management can filter out the user's early expired usage data while updating the terminal's usage data; while the management of the application prediction model can be for different forecasting scenarios, and only save the preset number of timeliness Application predictive model.
  • Step 503 It is detected that the replacement event of the smart terminal is triggered, and the terminal is used to send the terminal usage data and the downloading prompt of the application prediction model to the user.
  • a download prompt box may be automatically popped up through the display of the smart terminal to prompt the user to download the usage data and application prediction model of the smart terminal used in the new smart terminal.
  • the download prompt box may display "Detected that the terminal device has been replaced. In order to bring you a better experience, it is recommended that you download the relevant data of the device before replacement".
  • Step 504 When a data download instruction is detected, obtain a terminal identifier and a user identifier of the current smart terminal.
  • each smart terminal has a terminal identifier for representing its unique identity.
  • a user uses a smart terminal, it also corresponds to a user identifier representing the unique identity of the user.
  • a smart terminal has a terminal identifier and The user ID is one-to-one correspondence. Only when the user replaces the smart terminal, the corresponding relationship between the terminal ID of the smart terminal before the replacement and the user ID will be disconnected, and the terminal ID and the user ID of the replaced smart terminal will be established. Correspondence. When a data download instruction is detected, the terminal identifier of the current smart terminal and its corresponding user identifier are obtained.
  • Step 505 Send a download request carrying the terminal identifier and the user identifier to a cloud server.
  • the download request is used to instruct the cloud server to obtain the terminal usage data and application prediction model corresponding to the user ID, and send it to the smart terminal corresponding to the terminal ID.
  • the download request carries a terminal identifier and a user identifier.
  • the user identifier in the download request may be used to instruct the cloud server to obtain the terminal usage data and application prediction model corresponding to the user identifier.
  • the terminal identifier may be used to instruct the cloud server After obtaining the terminal usage data and the application prediction model, it is sent to the smart terminal corresponding to the terminal identification.
  • Step 506 Receive the terminal usage data and the application prediction model sent by the cloud server, and determine the application to be preloaded according to the application prediction model and the terminal usage data.
  • the application prediction model sent by the cloud server is received to update the built-in reference model of the smart terminal.
  • the terminal usage data can be the application usage records. For example, if the two application programs whose usage time is closest to the current system time are determined by the terminal usage data, the one-hot code of the application program is input into the application prediction model, and the one or more application programs output by the application prediction model are obtained. Open probability, based on the open probability, determining an application to be preloaded.
  • Step 507 Create a target process corresponding to the application.
  • Step 508 Create a task stack corresponding to the application in a pre-created pre-loaded active window stack.
  • Step 509 Start an active window corresponding to the application in the task stack based on the target process, and send a fake focus notification to the application.
  • Step 510 Update the focus flag corresponding to the application based on the fake focus notification, and continuously draw and update the application interface corresponding to the application based on the activated active window within a preset period of time.
  • Step 511 When a running instruction of the target application is received, the task stack corresponding to the target application included in the preloaded active window stack is migrated to the top of the application active window stack.
  • the target application may be understood as an application that needs to be currently run, and the target application may include one or more of the pre-loaded applications.
  • Application running you can perform step 511 to step 512 for each target application one by one to complete the operation of the target application, or you can simultaneously perform steps 511 to step 512 for multiple target applications to complete the target.
  • moving a task to an App Stack may include: deleting the task from a list in the original stack (that is, a preloaded stack), and in the new stack ( App stack) add this task at the top.
  • Each stack has a list to record all tasks contained in the stack; correspondingly, each task will also record the stack information of the task at the same time. Because the stack contains attributes such as size, configuration information, visibility, and ordering (zorder) that may be different from other stacks, you can change the zorder and other attributes of a task simply by adding the task to the list of the new stack. Added to the top of the new stack to make the task visible.
  • Step 512 Update the size information, configuration information, and visibility of the task stack, so that the application interface corresponding to the target application is displayed on the display screen.
  • the application interface corresponding to the target application is in the process of continuous drawing and display updating, and the timing when the user actually launches the target application is uncertain, and may occur during the preloading process.
  • the application interface currently displayed in the preloaded stack can be migrated to the display screen for display. If the user opens the target application after the preloading is completed, the last application interface when the preloading is completed can be migrated to the display screen for display.
  • updating the size information and configuration information of the task stack is to change the boundary of the application, and includes: actively updating the size and configuration information. Just using the above task migration operation can not immediately change the size and configuration of the task, so you can actively call the method to modify the task size and configuration to ensure that the application status is correct and can work normally in the foreground.
  • the task update is visible because after updating the size and configuration, the target application may not be visible at this time.
  • the method of updating the visibility of the new stack is called, and the visible applications are searched from the top to the bottom, and set to visible. And update the corresponding window surface to be visible.
  • the visible application judgment method may include: not being blocked by other applications on the zorder; not being blocked by the lock screen; and the state of the top activity of the application is a non-initializing or non-exiting state.
  • Step 513 Update terminal usage data according to the usage of the smart terminal.
  • the terminal usage data when the terminal usage data is updated according to the usage condition of the smart terminal, the terminal usage data may be updated at a preset time interval; the terminal usage data may be updated in real time according to the terminal usage condition, or it may be in response to the user After the triggered update instruction, the terminal usage data is updated once.
  • Step 514 It is detected that the model training event is triggered, and the updated terminal usage data is used to train the application prediction model.
  • the process of obtaining the historical preloaded data of the smart terminal from step 501 to step 502 to update the backup data in the cloud server and the process of step 513 to step 514 from training to updating the application prediction model according to the use of the smart terminal are two independent Operation process, its execution order is not limited in the embodiment of the present application, and the execution order may be in the order described in the embodiment of the present application, and may be performed simultaneously with steps 503 to 512 in the embodiment of the present application, or the cloud server and training may be updated
  • the two processes of the application predictive model can also be performed simultaneously.
  • the application preloading method provided in the embodiment of the present application can send preloaded data in a smart terminal to a cloud server. After replacing the smart terminal, determine the application to be preloaded by downloading the backup preloaded data.
  • the pre-loaded active window stack created outside the screen draws and displays the application interface of the application that needs to be pre-loaded, to a large extent, completes the preparation work before the application starts, and does not affect the display content of the foreground application on the display. As shown on the screen, when the target application is actually started, the pre-loaded application interface is directly transferred to the display screen for display, thereby effectively improving the startup speed.
  • FIG. 6 is a structural block diagram of an application preloading device according to an embodiment of the present application.
  • the device may be implemented by software and / or hardware, and is generally integrated in a terminal, and an application program may be performed by executing an application preloading method. Preloading. As shown in Figure 6, the device includes:
  • the backup data download module 601 is configured to download backup preloaded data when a data download instruction is detected;
  • An application program determining module 602 configured to determine an application program to be preloaded according to the backup preload data
  • the application interface loading module 603 is configured to preload an application interface corresponding to the application based on a pre-created preloaded active window stack, wherein a boundary coordinate corresponding to the preloaded active window stack is outside a coordinate range of a display screen.
  • the application preloading device downloads backup preloaded data when a data download instruction is detected; determines an application to be preloaded according to the backup preloaded data; and preloads the preloaded active window stack Load the application interface corresponding to the application, where the boundary coordinates corresponding to the preloaded active window stack are outside the coordinate range of the display screen.
  • the device further includes:
  • the download prompt sending module is configured to send a download prompt for backing up preloaded data to the user when it is detected that a smart terminal replacement event is triggered.
  • the device further includes:
  • the historical data obtaining module is configured to obtain historical preloaded data of a smart terminal, wherein the historical preloaded data includes an application prediction model and terminal usage data for the application prediction model to perform a prediction operation;
  • the historical data sending module is configured to send the historical preloaded data to a cloud server when a data backup instruction is detected, to instruct the cloud server to update the backup preloaded data that is available for download.
  • the backup data download module 601 is configured to:
  • the application interface loading module 603 is configured to: create a target process corresponding to the application program;
  • An application interface corresponding to the application program is drawn and displayed based on the activated active window.
  • the device further includes:
  • the fake focus module is configured to send a fake focus notification to the application program, and based on the fake focus notification, maintain continuous drawing and display update of an application interface corresponding to the application program within a preset period of time; the preset time
  • the length of the segment includes the playing time of launching an advertisement or launching an animation in the application.
  • the device further includes:
  • a task stack migration module configured to migrate a task stack corresponding to the target application included in the preloaded active window stack to a top of an application active window stack when a running instruction of the target application is received;
  • the task stack update module is configured to update the size information, configuration information, and visibility of the task stack, so that an application interface corresponding to the target application is displayed on the display screen.
  • the backup preloaded data includes terminal usage data and an application prediction model.
  • the application determining module 602 is configured to:
  • An application to be preloaded is determined according to the application prediction model and the terminal usage data.
  • the device further includes:
  • a data update module configured to update the terminal use data according to the use situation of the smart terminal
  • the model training module is configured to train the application prediction model using the updated terminal usage data in a case where it is detected that a model training event is triggered.
  • An embodiment of the present application further provides a storage medium containing computer-executable instructions.
  • the computer-executable instructions are used to execute a preloading method of an application program when executed by a computer processor.
  • the method includes:
  • An application interface corresponding to the application is preloaded based on a pre-created preloaded active window stack, wherein a boundary coordinate corresponding to the preloaded active window stack is outside a coordinate range of a display screen.
  • Storage medium any one or more types of memory devices or storage devices.
  • storage media is intended to include: installation media, such as Compact Disc Read-Only Memory (CD-ROM), floppy disks, or magnetic tape devices; computer system memory or random access memory, such as dynamic random access memory Access Memory (Dynamic Random Access Memory, DRAM), Double Rate Random Access Memory (DDR Random Access Memory, DDR RAM), Static Random Access Memory (Static Random Access Memory, SRAM), and extended data output random storage Access Memory (Extended Data, Random-Access Memory, EDO, RAM), Rambus Random-Access Memory (Random-Access Memory, RAM), etc .; Non-volatile memory, such as flash memory, magnetic media (such as hard disk or Optical storage); registers or other similar types of memory elements, etc.
  • installation media such as Compact Disc Read-Only Memory (CD-ROM), floppy disks, or magnetic tape devices
  • computer system memory or random access memory such as dynamic random access memory Access Memory (Dynamic Random Access Memory, DRAM), Double Rate
  • the storage medium may further include other types of memory or a combination thereof.
  • the storage medium may be located in a first computer system in which the program is executed, or may be located in a different second computer system connected to the first computer system through a network such as the Internet.
  • the second computer system may provide program instructions to the first computer system, and the first computer system is configured to execute the program instructions.
  • the term "storage medium" may include two or more storage media that may reside in different locations, such as in different computer systems connected through a network.
  • the storage medium may store program instructions (for example, embodied as a computer program) executable by one or more processors.
  • a storage medium including computer-executable instructions provided in the embodiments of the present application is not limited to the preloading operation of the application program as described above, and may also execute the application provided by any embodiment of the application. Relevant operations in the program's preload method.
  • FIG. 7 is a schematic structural diagram of a terminal according to an embodiment of the present application.
  • the terminal 700 may include: a memory 701, a processor 702, and a computer program stored on the memory 701 and executable on the processor 702. When the processor 702 executes the computer program, the application program according to the embodiment of the present application is implemented. Preload method.
  • the terminal provided in the embodiment of the present application can determine the application to be preloaded by downloading the backup preloaded data after replacing the smart terminal, and based on the preloaded active window stack created outside the display screen, the application interface of the preloaded application Do a preload.
  • This preloading method can quickly and accurately predict the application to be preloaded when the user replaces the smart terminal, which improves the accuracy of the preloading operation and the startup speed of the application.
  • FIG. 8 is a schematic structural diagram of another terminal provided by an embodiment of the present application.
  • the terminal may include: a housing (not shown in the figure), a memory 801, a central processing unit (CPU) 802 (also referred to as processing). Device), a circuit board (not shown in the figure), and a power supply circuit (not shown in the figure).
  • the circuit board is disposed in a space surrounded by the housing; the CPU 802 and the memory 801 are provided on the circuit board; and the power supply circuit is provided as a plurality of circuits or devices of the terminal Power supply;
  • the memory 801 is configured to store executable program code;
  • the CPU 802 runs a computer program corresponding to the executable program code by reading the executable program code stored in the memory 801 to implement the following step:
  • An application interface corresponding to the application is preloaded based on a pre-created preloaded active window stack, wherein a boundary coordinate corresponding to the preloaded active window stack is outside a coordinate range of a display screen.
  • the terminal also includes a peripheral interface 803, a radio frequency (RF) circuit 805, an audio circuit 806, a speaker 811, a power management chip 808, an input / output (I / O) subsystem 809, and other An input / control device 810, a touch screen 812, other input / control devices 810, and an external port 804. These components communicate through one or more communication buses or signal lines 807.
  • RF radio frequency
  • the illustrated terminal 800 is only an example of the terminal, and the terminal 800 may have more or fewer components than those shown in the figure, may combine two or more components, or may have Different component configurations.
  • the one or more components shown in the figures may be implemented in hardware, software, or a combination of hardware and software including one or more signal processing and / or application specific integrated circuits.
  • the following describes the terminal for application preloading provided in this embodiment, and the terminal uses a mobile phone as an example.
  • Memory 801 which can be accessed by CPU 802, peripheral interface 803, etc.
  • the memory 801 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 809 which can connect input / output peripherals on the device, such as touch screen 812 and other input / control devices 810, to peripheral interface 803.
  • the I / O subsystem 809 may include a display controller 8091 and one or more input controllers 8092 for controlling other input / control devices 810.
  • one or more input controllers 8092 receive electrical signals from or send electrical signals to other input / control devices 810, and other input / control devices 810 may include physical buttons (press buttons, rocker buttons, etc.) ), Dial, slide switch, joystick, click wheel.
  • the input controller 8092 can 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 812 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 8091 in the I / O subsystem 809 receives electrical signals from the touch screen 812 or sends electrical signals to the touch screen 812.
  • the touch screen 812 detects contacts on the touch screen, and the display controller 8091 converts the detected contacts into interactions with user interface objects displayed on the touch screen 812, that is, realizes human-computer interaction.
  • the user interface objects displayed on the touch screen 812 can 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 805 is configured to establish communication between the mobile phone and the wireless network (that is, the 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 805 receives and sends RF signals.
  • the RF signals are also referred to as electromagnetic signals.
  • the RF circuit 805 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 805 may include known circuits for performing these functions, including but not limited to antenna systems, RF transceivers, one or more amplifiers, tuners, one or more oscillators, digital signal processors, codecs (COder-DECoder, CODEC) chipset, Subscriber Identity Module (SIM), and so on.
  • the audio circuit 806 is configured to receive audio data from the peripheral interface 803, convert the audio data into an electrical signal, and send the electrical signal to the speaker 811.
  • the speaker 811 is configured to restore a voice signal received by the mobile phone from the wireless network through the RF circuit 805 to a sound and play the sound to a user.
  • the power management chip 808 is configured to provide power and power management for the hardware connected to the CPU 802, the I / O subsystem, and the peripheral interface.
  • 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 and effects for executing the method.
  • application preloading method provided in any embodiment of the present application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文公开了一种应用程序的预加载方法,包括:在检测到数据下载指令的情况下,下载备份预加载数据;根据所述备份预加载数据确定待预加载的应用程序;基于预先创建的预加载活动窗口堆栈预加载所述应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。本文还公开了一种应用程序的预加载装置、存储介质以及终端。

Description

应用程序的预加载方法、装置、存储介质及终端
本申请要求在2018年05月21日提交中国专利局、申请号为201810489660.9的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及应用程序加载技术,例如涉及一种应用程序的预加载方法、装置、存储介质及终端。
背景技术
目前,诸如智能手机、平板电脑、笔记本电脑以及智能家电等终端已成为人们日常生活中必不可少的电子设备。随着终端设备不断地智能化,多数终端设备中都装载有操作***,使得终端设备能够安装丰富多样的应用程序,满足用户不同的需求。
随着终端设备的配置不断提升,多数终端设备中可以安装几十甚至上百个应用程序,而随着应用程序的功能日益丰富,应用程序运行时所需加载的资源也越来越多。当用户选择启动一个应用程序时,终端会对该应用程序启动所需的资源进行加载,待预加载完毕后,进入应用程序的初始界面,整个过程通常要花费数秒甚至十几秒的时间,导致应用程序的启动效率较低,亟需改进。
发明内容
本申请实施例提供一种应用程序的预加载方法、装置、存储介质及终端,可以优化应用程序的加载方案。
在一实施例中,本申请实施例提供了一种应用程序的预加载方法,包括:
在检测到数据下载指令的情况下,下载备份预加载数据;
根据所述备份预加载数据确定待预加载的应用程序;
基于预先创建的预加载活动窗口堆栈预加载所述应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。
在一实施例中,本申请实施例还提供了一种应用程序的预加载装置,包括:
备份数据下载模块,设置为在检测到数据下载指令的情况下,下载备份预加载数据;
应用程序确定模块,设置为根据所述备份预加载数据确定待预加载的应用程序;
应用界面加载模块,设置为基于预先创建的预加载活动窗口堆栈预加载所述应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。
在一实施例中,本申请实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如本申请实施例所述的应用程序的预加载方法。
在一实施例中,本申请实施例提供了一种终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所 述的应用程序的预加载方法。
附图说明
图1为本申请实施例提供的一种应用程序的预加载方法的流程示意图;
图2为本申请实施例提供的一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图;
图3为本申请实施例提供的另一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图;
图4为本申请实施例提供的一种应用界面迁移示意图;
图5为本申请实施例提供的另一种应用程序的预加载方法的流程示意图;
图6为本申请实施例提供的一种应用程序的预加载装置的结构框图;
图7为本申请实施例提供的一种终端的结构示意图;
图8为本申请实施例提供的另一种终端的结构示意图。
具体实施方式
下面结合附图和实施例对本申请进行说明。可以理解的是,此处所描述的实施例仅仅用于解释本申请,而非对本申请的限定。为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将多个步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,一个或多个步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1为本申请实施例提供的一种应用程序的预加载方法的流程示意图,本实施例可适用于对新更换的智能终端中的应用程序进行预加载的情况,该方法可以由应用程序的预加载装置来执行,其中该装置可由软件和/或硬件实现,一般可集成在终端中。如图1所示,该方法包括:
步骤110、在检测到数据下载指令的情况下,下载备份预加载数据。
示例性的,本申请实施例中的终端可包括手机、平板电脑、笔记本电脑以及智能家电等终端设备。终端中装载有操作***。
示例性的,数据下载指令的触发条件可以是根据实际情况设置,本申请实施例不做具体限定,例如,可以是检测到用户点击数据下载按键时,触发数据下载指令;或者可以是在检测到智能终端中不存在预加载数据时,触发数据下载指令;或者还可以是检测到智能终端标识与用户标识不匹配时,触发数据下载指令,下载该用户标识对应的备份预加载数据,并将智能终端的标识与该用户标识设置为匹配状态。当数据下载指令被触发后,***可以通过读取标志位或接收触发指令等方式检测到数据下载指令,具体的检测方式本申请实施例也不做限定。
示例性的,备份预加载数据可以包括终端使用数据和应用程序预测模型。终端使用数据可以是根据用户对智能终端的使用情况生成的终端使用数据,可以包括应用程序被打开的时 间序列或次序序列;可包括应用程序被打开的时间、地点以及频次等;可包括终端的运行状态,如移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、当前运行的应用程序、上一个前景应用程序、当前应用程序在后台停留的时长、当前应用程序最近一次被切换至后台的时间、耳机插孔的插拔状态、充电状态、电池电量信息以及屏幕显示时长等等;还可包括终端中集成的传感器采集到的数据,如运动传感器、光线传感器、温度传感器以及湿度传感器等等中的一个或多个的组合。
应用程序预测模型可以是通过采集用户使用智能终端时生成的终端使用数据作为训练样本,对预设初始化模型进行训练后生成的用于预测待预加载的应用程序的预测模型。在一实施例中,可以是用来根据用户的终端使用数据来预测待加载应用程序的模型,该预测模型可以是机器学习模型,所采用的算法可以包括循环神经网络(Recurrent neural networks,RNN)、长短期记忆(Long Short-Term Memory,LSTM)网络、门限循环单元、简单循环单元、自动编码器、决策树、随机森林、特征均值分类、分类回归树、隐马尔科夫、K最近邻(k-NearestNeighbor,KNN)算法、逻辑回归模型、贝叶斯模型、高斯模型以及KL散度(Kullback–Leibler divergence)等等。
示例性的,可根据所选用的应用程序预测模型选择合适的终端使用数据,也可根据所选的终端使用数据确定所选用的应用程序预测模型,还可结合对预测准确度以及预测速度等方面的需求进行模型及终端使用数据的选择等,本申请实施例不做限定。
示例性的,备份预加载数据的存储位置本申请不做限定,可以存储在虚拟的云端服务器中,还可以存储在后台服务器中,也可以存储在该用户自身预设的服务器中,例如,用户可以将自己的电脑作为预设的服务器,将终端使用数据备份到用户自己电脑中,保证了用户终端使用数据的安全性,防止被他人窃取。
在本申请实施例中,下载备份预加载数据时,可以是智能终端通过蓝牙、无线局域网(Wireless Local Area Networks,WLAN)、第三代移动通信技术(3rd-Generation,3G)/***移动通信技术(the 4 Generation mobile communication technology,4G)移动通信技术等无线通信的方式进行下载,具体可以是智能终端获取其存储的终端标识及用户标识,并发送携带终端标识及用户标识的下载请求至云端服务器,云端服务器在接收到下载请求后,获取下载请求中用户标识对应的备份预加载数据,并将获取的备份预加载数据发送至终端标识对应的智能终端。
步骤120、根据备份预加载数据确定待预加载的应用程序。
示例性的,待预加载的应用程序可以理解为需要进行预加载操作的应用程序。该应用程序也可以包括一个或多个。在一实施例中,在确定待预加载的应用程序时,可以是根据备份预加载数据中的终端数据和应用程序预测模型来确定待预加载的应用程序。例如,可以是仅根据终端使用数据确定当前需要加载的应用程序,例如,终端使用数据中记载了用户在一个时间段经常使用一个应用程序,该应用程序在该时间段内就被确定为待预加载的应用程序;也可以是仅依据应用程序预测模型,输入当前的时间、地点等场景信息后,应用程序预测模型根据训练情况确定当前需要加载的应用程序,还可以是依据应用程序预测模型,结合终端使用数据共同确定当前需要加载的应用程序(如根据当前运行的应用A和上一时刻运行的应用B,采用应用程序预测模型,预测即将打开的至少一个应用程序)等。在一实施例中,通过应用程序预测模型确定待预加载的应用程序可以包括根据应用程序预测模型之前的输出结果确定待预加载的应用程序,也可以包括将应用程序预测模型的当前输出结果确定待预加载的应用程序。
在一实施例中,在确定当前需要进行预加载操作的待预加载的应用程序时,可以是先预测出用户可能即将打开的应用程序,该程序可以包括一个或多个,可以是预先设置好的固定 的应用程序,也可以是采用一定的方式预测出来的应用程序等。再从预测出的用户可能即将打开的应用程序中,进一步确定出当前待预加载的应用程序,当预测出的用户可能即将打开的应用程序为一个时,当前待预加载的应用程序相应的也仅有一个;当预测出的用户可能即将打开的应用程序为多个时,当前待预加载的应用程序可以为一个(即将多个用户可能即将打开的应用程序逐一确定为待预加载的应用程序,并依次进行预加载操作),也可以为多个(即将2个以上用户可能即将打开的应用程序确定为待预加载的应用程序,并同时进行预加载操作,也就是说多个待预加载的应用程序的预加载过程可以是并行进行的)。
在一实施例中,若更换了智能终端,新的智能终端内没有用户的终端使用数据,在确定待预加载的应用程序时,依据由服务器中下载的备份预加载数据确定待预加载的应用程序,可以避免智能终端更换的初期无法进行应用预加载的情况发生。终端设备在使用过程中,实时产生终端(包括应用程序)使用数据,可以将新产生的终端使用数据转化为样本数据,以丰富样本集。例如,当终端设备为用户新更换的智能终端时,确定待预加载的应用程序时依据的可以是从服务器中下载的备份预加载数据;当用户新更换的智能终端使用了一段时间后,该智能终端在这段使用期间也会生成其对应的终端使用数据,此时可以根据新产生的终端使用数据以及备份预加载数据训练应用程序预测模型。若检测到模型训练事件被触发,则基于训练后的应用程序预加载模型预测待预加载的应用程序,从而,有效地避免用户使用习惯变更导致的误预加载的情况发生,保证确定的待预加载的应用程序的准确性。在一实施例中,还可以仅采用新产生的终端使用数据训练应用程序预测模型。
步骤130、基于预先创建的预加载活动窗口堆栈预加载应用程序对应的应用界面,其中,预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。
本申请实施例中,活动窗口可理解为一个独立的直接面向用户提供交互和操作的界面,在不同的操作***中可能采用不同的名词来命名该界面。为了便于理解,下面以安卓(Android)操作***为例进行下面的说明。
在Android***中,活动窗口被称为Activity。Activity是一个负责与用户交互的组件,其提供一个屏幕(可以理解为屏幕界面,而非实体的显示屏幕),以供用户交互完成某项任务。在一个android应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件。在对Activity进行管理中,有这样两个概念:任务栈(Task)和活动窗口堆栈(Stack)。Task对应一个应用程序,Task设置为存放Activity,一个Task中可以存放一个或多个Activity,且这些Activity遵循“先进后出,后进先出”的原则。而Stack设置为对Task进行管理,通常,一个Stack对一个屏幕所需展示的一个或多个Activity所属的Task进行管理,一个Stack可以管理一个或多个Task,当然,Stack也同样遵循堆栈的基本管理原则。这里所述的屏幕并不一定是完整独立的显示屏,以“两个屏幕”为例,这两个屏幕可能只是一个完整显示屏中两个独立显示各自显示内容的区域。当然,如果终端具备两个甚至是两个以上的独立显示屏,则“两个屏幕”也可以是两个独立的显示屏。
在Android***中,支持多窗口模式,可包括分屏模式、画中画模式以及自由模式(FreeForm)。在多窗口模式下,应用程序所在的Stack可以有自己的尺寸(size),可以包括以终端屏幕左上角为原点的坐标系中的上下左右坐标。例如,(a,b,c,d),一般描述的是一个矩形的边界,可采用矩形左上角的坐标和右下角的坐标进行表示,即矩形的左上角坐标为(a,b),右下角坐标为(c,d),这样的矩形区域就对应Stack的size。Stack中的应用内布局是以Stack的size为准的,也就是说Activity对应的应用界面是在size的边界范围内进行显示的。
在多窗口模式下,可以允许多个应用程序处于可见状态,包括***和用户均可见和仅***可见。***和用户均可见指的是在显示屏幕上进行显示,且用户能够看到;仅***可见指 的是操作***可见,而用户不可见,可能被前台的应用遮挡或者如本申请所要实现的在显示屏幕外显示。
本申请实施例中,在显示屏幕外对应用程序的应用界面进行预加载,可以基于操作***的多窗口机制来实现,通过多窗口机制将应用程序对应的size设在显示屏幕外而达到对用户不可见的目的,从而不会影响到前台应用程序的显示内容在显示屏幕上的显示。
一般的,多窗口模式下,可以存在多种类型的Stack,如Home Stack表示桌面应用显示的Stack,App Stack表示第三方应用显示的Stack,还可以有其他分屏Stack等,上述三种Stack中包含的内容可在显示屏幕上显示,本申请实施例中统称为应用活动窗口堆栈。本申请实施例中,新增了预加载活动窗口堆栈(预加载Stack),设置为表示预加载应用显示的Stack,并设置预加载Stack的边界坐标位于显示屏幕的坐标范围之外,待预加载的应用程序可以显示在该Stack。对于Android***来说,可以基于Android***的多窗口机制,新建一个专门用于显示预加载应用的Stack。本申请实施例中,新建Stack是因为可以让新建的预加载Stack拥有自己的size以及可见性,从而实现在显示屏幕外预加载的目的。
本申请实施例中,对预加载Stack的创建时机不做限定,可以是在终端出厂前默认设置预加载Stack处于常驻状态,即预加载Stack一直存在;也可以在终端开机时或终端解锁成功后创建;还可以在应用预加载事件被触发后(可以在确定应用程序之前)创建等等。在一实施例中,所述基于预先创建的预加载活动窗口堆栈预加载所述应用程序对应的应用界面,包括:判断是否存在预先创建的预加载活动窗口堆栈;若不存在,则按照预设规则创建预加载活动窗口堆栈;基于所创建的预加载活动窗口堆栈预加载所述应用程序对应的应用界面。这样设置的好处在于,在确定待预加载的应用程序之后,判断预加载Stack是否存在,若存在,则无需新建,若不存在,则进行创建,可以节省***资源。可以理解的是,当应用程序包含多个时,也即需要在短时间内连续预加载多个应用程序时,在第一个应用程序开始加载前,预加载Stack已创建完毕,那么第二个应用程序开始加载前,预加载Stack是存在的,可以不必进行上述判断。
本申请实施例中,对基于预加载Stack预加载应用程序对应的应用界面的具体过程不做限定,例如可以基于预加载Stack的size进行应用界面的绘制并显示等。
本申请实施例中提供的应用程序预加载方法,在检测到数据下载指令时,下载备份预加载数据;根据备份预加载数据确定待预加载的应用程序;基于预先创建的预加载活动窗口堆栈预加载应用程序对应的应用界面,其中,预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。通过采用上述技术方案,可以在更换智能终端后,通过下载备份预加载数据确定待预加载的应用程序,对待预加载的应用程序进行预加载。该预加载方式能够在用户更换智能终端的情况下,快速准确的预测出待预加载的应用程序,提升了预加载操作的准确度,提高了应用程序的启动速度。
在一些实施例中,在检测到数据下载指令之前,还包括:检测到智能终端更换事件被触发,向用户发送备份预加载数据的下载提示。这样设置的好处在于,能够在智能终端更换事件被触发时,提示用户是否要将更换前的智能终端的预加载数据下载到更换后的智能终端中,防止因用户忽略备份预加载数据的下载导致新更换的智能终端中应用程序的预加载功能无法正常使用的情况,或者,防止因用户忽略备份预加载数据的下载,导致预加载一些不符合用户使用习惯的应用程序的情况发生,优化了更换智能终端时,应用程序的预加载操作过程,提升预加载的准确度。本申请实施例中,智能终端更换事件的触发条件可以根据实际情况设置,本申请实施例不做具体限定。例如,可以在检测到用户的动作满足预设条件(例如在更换的智能终端中点击终端更换按钮或语音输入“已更换智能终端”)时,触发智能终端更换事件;或者可以在检测到与用户标识匹配的终端标识不是该终端的终端标识时,触发智能终 端更换事件等等。在智能终端更换事件被触发后,***可以通过读取标志位或接收触发指令等方式检测到智能终端更换事件已被触发,具体的检测方式本申请实施例也不做限定。
在一些实施例中,还包括:获取智能终端的历史预加载数据,其中,所述历史预加载数据包括应用程序预测模型,以及供所述预测模型进行预测操作的终端使用数据;在检测到数据备份指令时,发送所述历史预加载数据至云端服务器,以指示所述云端服务器更新可供下载的备份预加载数据。这样设置的好处在于,能够根据智能终端的使用情况实时对云端服务器中的备份预加载数据进行更新,保证了云端服务器中备份预加载数据的实时性和有效性。历史预处理数据可以是用户使用智能终端的过程中产生的终端使用数据和用于确定待加载应用程序的应用程序预测模型。获取历史预加载数据的方式不同影响着云端服务器中备份数据的更新过程,例如,当获取的历史预加载数据是智能终端在当前时刻之前生成的所有预加载数据,则更新云端服务器中的备份数据时可以将获取的历史预加载数据替换云端服务器中存储的该终端设备对应的备份数据。当获取的历史预加载数据是在上次获取预加载数据后产生的历史预加载数据,则更新云端服务器中的备份数据时,可以是将获取的历史预加载数据直接存储在该终端设备对应的备份数据中。
在一些实施例中,在检测到数据下载指令的情况下,下载备份预加载数据,包括:在检测到数据下载指令的情况下,获取当前智能终端的终端标识及用户标识;发送携带所述终端标识及用户标识的下载请求至云端服务器,其中,所述下载请求用于指示所述云端服务器获取所述用户标识对应的备份预加载数据,并发送所述备份预加载数据至所述终端标识对应的智能终端。这样设置的好处在于,能够使得云端服务器根据用户标识获取备份预加载数据,发送给终端标识对应的智能终端,保证了下载的备份预加载数据的准确性,避免了云端服务器存储的备份数据较多时,获取和发送备份预加载数据出现混乱的情况。智能终端的终端标识可以是唯一表示智能终端身份的标识,例如,可以是国际移动设备识别码(International Mobile Equipment Identification Number,IMEI)、电子序列号(Electronic Serial Numbers,ESN)或硬件地址(Media Access Control,MAC)等。用户标识可以是识别智能终端用户身份的标识,例如,可以是移动用户识别码(Mobile Subscriber Identification Number,MSIN);也可以是存储与SIM卡中的国际移动用户识别码(International Mobile Subscriber Identification Number,IMSI);还可以是用户登录智能终端的唯一登录账号等。
在一些实施例中,所述基于预先创建的预加载活动窗口堆栈预加载所述应用程序对应的应用界面,包括:创建所述应用程序对应的目标进程;在预先创建的预加载活动窗口堆栈中创建所述应用程序对应的任务栈;基于所述目标进程在所述任务栈中启动所述应用程序对应的活动窗口;基于所启动的活动窗口绘制并显示所述应用程序对应的应用界面。这样设置的好处在于,能够基于屏幕坐标范围之外的预加载活动窗口堆栈对应用程序的应用界面进行绘制并显示,不会干扰前台应用程序的运行及显示,保证***稳定性,同时有效提高应用程序启动时的速度。在创建目标进程的同时,还可包括目标进程的初始化过程。在上述步骤的执行过程中,还可能涉及其他资源的预加载,如应用服务启动、内存分配、文件内容读取及网络数据获取等,本申请实施例对其他资源的预加载过程不做限定。
在一些实施例中,在所述基于所启动的活动窗口绘制并显示所述应用程序对应的应用界面之前,还包括:向所述应用程序发送伪造焦点通知,并基于所述伪造焦点通知在预设时间段内保持所述应用程序对应的应用界面的持续绘制以及显示更新;所述预设时间段的长度包括所述应用程序中启动广告或启动动画的播放时长。这样设置的好处在于,能够在应用程序获得焦点并对***可见的情况下完成应用界面的绘制及显示,提高预加载的完成度,且不对前台应用的焦点产生影响。本申请实施例中的焦点又称为输入焦点,伪造焦点与前台应用对应的焦点相互独立。一般的,对于目前的Android***来说,焦点是唯一的,例如触摸等输入操作只对焦点生效,对于输入焦点信息,***端和应用端是一致的,***端一旦修改输入 焦点信息,就会向应用发送输入焦点信息发生变化的信息,以此方法保证***端和应用端输入焦点信息一致。本申请实施例中,通过分离***端和应用端输入焦点信息的方式,实现应用端可伪造焦点的目的。本申请实施例中,对预加载应用伪造焦点通知,使预加载应用具有焦点信息,而***端的焦点信息仍然是正确的,这样处理可以使得预加载应用能够正常绘制,达到全部加载的目的。焦点存在于***端和应用端,可认为是服务端(server)和客户端(client),***端记录拥有焦点的应用,应用端保存标志位(flag)标识自己是否有焦点。伪造输入焦点的时机可以是当Android的窗口***新增窗口,需要更新焦点时,生成伪造焦点通知并进行发送。伪造焦点的方法可以是调用窗口的client端的改变窗口焦点的方法,使得该窗口获取焦点。在一实施例中,可基于Binder机制进行伪造焦点通知的发送,Binder机制是Android***的进程间通信的最常用的方式,采用c/s架构,即客户/服务架构。
本申请实施例中,预设时间段可根据实际情况设计,例如可以是开始预加载后的固定时长范围内,也可以是开始预加载到完成预加载的时段等。在一些实施例中,所述预设时间段的长度包括所述应用程序中启动广告或启动动画的播放时长。一些应用程序在启动的过程中,通常会播放一些广告或动画,广告或动画的播放时长通常为3秒至十几秒不等,在播放广告或动画期间,用户可能没办法进行任何操作,只能等待播放完毕,浪费用户的宝贵时间。本申请实施例这样设置的好处在于,能够在应用程序启动之前,在屏幕外播放完启动广告或启动动画,当应用程序启动时,可直接进入应用程序的主页面或其他用户可操作的界面,从而将应用程序的可操作时间点进一步提前,减少等待时间。
在一些实施例中,在所述基于预先创建的预加载活动窗口堆栈预加载所述应用程序对应的应用界面之后,还包括:在接收到目标应用程序的运行指令时,将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的任务栈迁移至应用活动窗口堆栈的顶部;更新所述任务栈的尺寸信息、配置信息和可见性,以实现所述目标应用程序对应的应用界面在所述显示屏幕进行显示。这样设置的好处在于,能够保证界面迁移过程的稳定性,保证恢复过程不会出现卡屏、黑屏或迁移速度慢等问题。
对于一些终端来说,尤其是手机及平板电脑等移动终端,为了方便用户的使用,显示屏幕的显示方式通常包括竖屏显示和横屏显示,许多应用程序默认采用竖屏方式进行显示,而有些应用程序默认采用横屏方式进行显示(如一些网络游戏),在终端的使用过程中,有些应用程序还会随着用户握持终端的方向而进行横竖屏显示的切换。在本申请的一些实施例中,所述预加载活动窗口堆栈对应的边界坐标为(H,0,2H,H),所述边界坐标对应的坐标系为***坐标,所述***坐标的原点为所述显示屏幕的左上角,H为所述显示屏幕的显示区域的长边长度。也就是说,H对应的边是显示屏幕的显示区域的最大边,在竖屏显示时为显示屏幕的高,在横屏显示时为显示屏幕的宽。这样设置的目的是考虑到显示屏幕横屏、预加载应用横屏显示,以及一些应用程序的正常显示。图2为本申请实施例提供的一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图。如图2所示,此时显示屏幕为竖屏方式,终端***坐标的原点为显示屏幕201的左顶点(0,0),显示屏幕201的宽度方向为X轴,高度方向为Y轴,预加载Stack 202对应的边界坐标为(H,0,2H,H),H为屏幕高,即左边实线矩形范围内的区域为主屏幕显示区域,右边虚线矩形范围内的区域为预加载显示区域。图3为本申请实施例提供的另一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图。如图3所示,此时显示屏幕为横屏方式,终端***坐标的原点为显示屏幕301的左顶点(0,0),显示屏幕301的高度方向为X轴,宽度方向为Y轴,预加载Stack 202对应的边界坐标为(H,0,2H,H),H为屏幕高,即左边实线矩形范围内的区域为主屏幕显示区域,右边虚线矩形范围内的区域为预加载显示区域。
预加载Stack的边界如此设置的原因在于:
左上角的横坐标为H,是为了防止横屏时显示屏幕(也可称为主屏幕)显示到预加载应用的界面,因为主屏幕除了竖屏模式,还有横屏模式,当主屏幕横屏的时候,为了防止主屏幕显示区域显示了预加载的应用的局部,所以将预加载Stack对应的矩形区域的左上角横坐标设为屏幕高。
左上角的纵坐标为0,是为了预加载应用能够正确计算状态栏高度。Android应用为了更好的设计用户界面(User Interface,UI),会自定义顶部状态栏,如果上边对应的纵坐标不等于0,那么状态栏的高度可能会错误。
右下角的横坐标为2H(2倍屏幕高),即预加载Stack对应的矩形的宽=屏幕高,是为了预加载Stack的size能够包含预加载时候的横屏应用(即应用界面为横屏显示方式的应用程序)。
右下角的纵坐标为H,即预加载Stack对应的矩形的高=屏幕高,是为了预加载Stack的size能够包含预加载时候的竖屏应用。
基于上述的原因,将预加载Stack的size设置为(H,0,2H,H)。
此外,图4为本申请实施例提供的一种应用界面迁移示意图,如图4所示,在接收到目标应用程序的运行指令时,将预加载活动窗口堆栈中包含的目标应用程序对应的应用界面401迁移至显示屏幕201进行显示,在一实施例中,将预加载应用界面所属的task迁移至应用活动窗口Stack的顶部,并更新该task的尺寸信息、配置信息和可见性,从而应用界面能够在显示屏幕上正常显示。
在一些实施例中,所述备份预加载数据包括终端使用数据和应用程序预测模型;相应的,所述根据所述备份预加载数据确定待预加载的应用程序,包括:依据所述应用程序预测模型,结合所述终端使用数据,确定待预加载的应用程序;相应的,在所述下载备份预加载数据之后,还包括根据智能终端的使用情况,更新所述终端使用数据;检测到模型训练事件被触发,使用更新后的终端使用数据训练所述应用程序预测模型。这样设置的好处在于,根据应用程序预测模型,结合终端使用数据确定待加载的应用该程序,提高了确定待预加载的应用程序的准确性。根据终端使用情况对应用程序预测模型进行训练更新,保证了应用程序预测模型的时效性和预测结果准确性。
图5为本申请实施例提供的另一种应用程序的预加载方法的流程示意图,该方法包括如下步骤:
步骤501、获取智能终端的历史终端使用数据和历史应用程序预测模型。
示例性的,获取智能终端的历史终端使用数据和历史应用程序预测模型的频率本申请不做限定,例如可以是检测到智能终端产生使用数据和/或应用程序预测模型更新后实时获取;还可以是每个预设时间(如一周)获取一次智能终端在预设时间段内产生的历史使用数据和/或历史应用程序预测模型等。
步骤502、在检测到数据备份指令时,发送历史终端使用数据和历史应用程序预测模型至云端服务器,以指示云端服务器更新可供下载的终端使用数据和应用程序预测模型。
示例性的,数据备份指令的触发条件可以是根据实际情况设置,本申请实施例不做具体限定,例如,可以是***检测到用户点击备份数据按键时,触发一次数据备份指令,也可以是***检测到用户开启数据备份功能后,每隔预设时长或待备份的数据总量达到预设数量时,自动触发一次数据备份指令等。
在本申请实施例中,在检测到数据备份指令时,智能终端就会将获取的历史终端使用数据和历史应用程序预测模型以及该智能终端对应的用户标识发送至云端服务器,云端服务器 会依据用户终端标识将接收到的历史终端使用数据和历史应用程序预测模型更新到云端服务器中该用户标识对应的终端使用数据和应用程序预测模型中。进而保证云端服务器中可供下载的终端使用数据和应用程序预测模型的时效性和准确性。
在一实施例中,云端服务器中存储的用户标识对应的终端使用数据和应用程序预测模型可以按照一定的规则进行管理,例如,用户对终端设备的使用数据肯定是在不断变化的,对于终端使用数据的管理可以在更新终端使用数据的同时将用户早期已过期的使用数据进行滤除;而对于应用程序预测模型的管理可以是针对不同的预测场景,仅保存时效性靠前的预设个数的应用程序预测模型。
步骤503、检测到智能终端更换事件被触发,向用户发送终端使用数据和应用程序预测模型的下载提示。
示例性的,当检测到智能终端更换事件被触发后,可以通过智能终端的显示屏自动弹出下载提示框,提示用户在新的智能终端中下载之前使用的智能终端的使用数据和应用程序预测模型,例如,下载提示框中可以显示“检测到终端设备已更换,为了给您带来更佳的使用体验,建议您下载更换前设备的相关数据”。
步骤504、在检测到数据下载指令时,获取当前智能终端的终端标识及用户标识。
示例性的,每个智能终端都具有用于表示其唯一身份的终端标识,用户在使用智能终端时,也会对应有一个表示用户唯一身份的用户标识,通常情况下一个智能终端其终端标识与用户标识是一一对应的,只有在用户更换智能终端时,才会断开更换前的智能终端的终端标识与用户标识之间的对应关系,建立更换后的智能终端的终端标识与用户标识的对应关系。在检测到数据下载指令时,获取当前智能终端的终端标识及其对应的用户标识。
步骤505、发送携带终端标识及用户标识的下载请求至云端服务器。
其中,下载请求用于指示云端服务器获取用户标识对应的终端使用数据和应用程序预测模型,并发送至终端标识对应的智能终端。
示例性的,下载请求中携带了终端标识和用户标识,下载请求中的用户标识可以用于指示云端服务器获取该用户标识对应的终端使用数据和应用程序预测模型,终端标识可以用于指示云端服务器在获取到终端使用数据和应用程序预测模型后,发送给终端标识对应的智能终端。
步骤506、接收云端服务器发送的终端使用数据和应用程序预测模型,依据应用程序预测模型,结合终端使用数据,确定待预加载的应用程序。
示例性的,接收云端服务器发送的应用程序预测模型,以此更新智能终端内置的参考模型。接收云端服务器发送的终端使用数据,终端的使用数据可以是应用程序的使用记录。如由该终端使用数据中确定使用时间距离当前***时间最近的两个应用程序,将该应用程序的one-hot编码输入应用程序预测模型,获取应用程序预测模型输出的一个或多个应用程序的开启概率,基于该开启概率确定待预加载的应用程序。
步骤507、创建应用程序对应的目标进程。
步骤508、在预先创建的预加载活动窗口堆栈中创建应用程序对应的任务栈。
步骤509、基于目标进程在任务栈中启动应用程序对应的活动窗口,并向应用程序发送伪造焦点通知。
步骤510、基于伪造焦点通知更新应用程序对应的焦点标志位,在预设时间段内基于所启动的活动窗口持续绘制并更新显示应用程序对应的应用界面。
步骤511、在接收到目标应用程序的运行指令时,将预加载活动窗口堆栈中包含的目标应用程序对应的任务栈迁移至应用活动窗口堆栈的顶部。
示例性的,目标应用程序可以理解为当前需要运行的应用程序,目标应用程序可以包括预加载的应用程序中的一个或多个。当目标应用程序为多个时,可以对每个目标应用程序逐一执行步骤511到步骤512完成目标应用程序的运行,也可以是同时对多个目标应用程序一并执行步骤511到步骤512完成目标应用程序的运行。
在一实施例中,以应用活动窗口为App Stack为例,将task移动到App Stack,可包括:从原stack(即预加载Stack)中的列表(list)中删除此task,在新stack(App Stack)中顶部添加此task。每个stack都有一个list,用以记录stack包含的所有task;对应地,每个task同时会记录本task所在的stack信息。因为stack包含相对其他stack可能不同的size、配置(configuration)信息、可见性和顺序设置(zorder)等属性,所以仅仅将task添加到新stack的list中就可以改变task的zorder等属性。添加在新stack中的顶部是为了使该task是可见的。
步骤512、更新任务栈的尺寸信息、配置信息和可见性,以实现目标应用程序对应的应用界面在显示屏幕进行显示。
可以理解的是,在预加载过程中,目标应用程序对应的应用界面处于持续的绘制及显示更新过程中,而用户真正启动目标应用程序的时机是不确定的,可能在预加载过程中就会接收到运行指令,那么可将当前在预加载Stack中显示的应用界面迁移到显示屏幕中进行显示。若用户在预加载完成之后,打开目标应用程序,那么可将预加载完成时的最后一个应用界面迁移到显示屏幕中进行显示。
在一实施例中,更新任务栈的尺寸信息、配置信息是为了改变应用的边界,包括:主动更新size和configuration信息。仅仅使用上面的task迁移操作无法立即改变task的size和configuration,所以可主动调用修改task size和configuration的方法,保证该应用状态正确,可以正常地在前台工作。
在一实施例中,更新task可见是因为,在更新了size和configuration后,此时目标应用可能还不可见,调用更新新stack可见性的方法,由顶部至底部搜索可见的应用,设置为可见,并更新对应的窗口surface可见。其中,可见的应用判断方法可包括:在zorder上未被其他应用遮挡;未被锁屏遮挡;应用的顶部activity的状态是非正在初始化或者非退出状态。
步骤513、根据智能终端的使用情况,更新终端使用数据。
示例性的,根据智能终端的使用情况,更新终端使用数据时,可以是每隔预设时间间隔更新一次终端使用数据;也可以是根据终端使用情况实时更新终端使用数据,还可以是响应于用户触发的更新指令后,更新一次终端使用数据等。
步骤514、检测到模型训练事件被触发,使用更新后的终端使用数据训练应用程序预测模型。
对于步骤501到步骤502获取智能终端的历史预加载数据更新云端服务器中的备份数据的过程和步骤513到步骤514根据智能终端的使用情况对应用程序预测模型进行训练更新的过程是两个独立的操作过程,其执行顺序本申请实施例并不作限定,其执行顺序可以按照本申请实施例记载的顺序,还可以与本申请实施例中的步骤503到步骤512同时执行,或者更新云端服务器与训练应用程序预测模型两过程也可以是同时进行。
本申请实施例提供的应用程序预加载方法,可以将智能终端中的预加载数据发送到云端服务器中,在更换智能终端后,通过下载备份预加载数据确定待预加载的应用程序,基于在显示屏幕外面创建的预加载活动窗口堆栈对需要进行预加载的应用程序的应用界面进行绘制 及显示,较大程度地完成应用启动前的准备工作,且不会影响到前台应用程序的显示内容在显示屏幕上的显示,当目标应用程序被真正启动时,直接将预加载好的应用界面迁移到显示屏幕进行显示,从而有效提升启动速度。
图6为本申请实施例提供的一种应用程序的预加载装置的结构框图,该装置可以由软件和/或硬件实现,一般集成在终端中,可通过执行应用程序预加载方法来进行应用程序的预加载。如图6所示,该装置包括:
备份数据下载模块601,设置为在检测到数据下载指令的情况下,下载备份预加载数据;
应用程序确定模块602,设置为根据所述备份预加载数据确定待预加载的应用程序;
应用界面加载模块603,设置为基于预先创建的预加载活动窗口堆栈预加载所述应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。
本申请实施例中提供的应用程序预加载装置,在检测到数据下载指令时,下载备份预加载数据;根据备份预加载数据确定待预加载的应用程序;基于预先创建的预加载活动窗口堆栈预加载应用程序对应的应用界面,其中,预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。通过采用上述技术方案,可以在更换智能终端后,通过下载备份预加载数据确定待预加载的应用程序,对待预加载的应用程序进行预加载。该预加载方式能够在用户更换智能终端的情况下,快速准确的预测出待预加载的应用程序,提升了预加载操作的准确度,提高了应用程序的启动速度。
在一实施例中,该装置还包括:
下载提示发送模块,设置为在检测到智能终端更换事件被触发的情况下,向用户发送备份预加载数据的下载提示。
在一实施例中,该装置还包括:
历史数据获取模块,设置为获取智能终端的历史预加载数据,其中,所述历史预加载数据包括应用程序预测模型,以及供所述应用程序预测模型进行预测操作的终端使用数据;
历史数据发送模块,设置为在检测到数据备份指令的情况下,发送所述历史预加载数据至云端服务器,以指示所述云端服务器更新可供下载的备份预加载数据。
在一实施例中,备份数据下载模块601是设置为:
在检测到数据下载指令的情况下,获取当前智能终端的终端标识及用户标识;
发送携带所述终端标识及用户标识的下载请求至云端服务器,其中,所述下载请求用于指示所述云端服务器获取所述用户标识对应的备份预加载数据,并发送所述备份预加载数据至所述终端标识对应的智能终端。
在一实施例中,应用界面加载模块603是设置为:创建所述应用程序对应的目标进程;
在预先创建的预加载活动窗口堆栈中创建所述应用程序对应的任务栈;
基于所述目标进程在所述任务栈中启动所述应用程序对应的活动窗口;
基于所启动的活动窗口绘制并显示所述应用程序对应的应用界面。
在一实施例中,该装置还包括:
伪造焦点模块,设置为向所述应用程序发送伪造焦点通知,并基于所述伪造焦点通知在预设时间段内保持所述应用程序对应的应用界面的持续绘制以及显示更新;所述预设时间段 的长度包括所述应用程序中启动广告或启动动画的播放时长。
在一实施例中,该装置还包括:
任务栈迁移模块,设置为在接收到目标应用程序的运行指令的情况下,将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的任务栈迁移至应用活动窗口堆栈的顶部;
任务栈更新模块,设置为更新所述任务栈的尺寸信息、配置信息和可见性,以实现所述目标应用程序对应的应用界面在所述显示屏幕进行显示。
在一实施例中,所述备份预加载数据包括终端使用数据和应用程序预测模型。
在一实施例中,应用程序确定模块602是设置为:
依据所述应用程序预测模型,结合所述终端使用数据,确定待预加载的应用程序。
在一实施例中,该装置还包括:
使用数据更新模块,设置为根据智能终端的使用情况,更新所述终端使用数据;
模型训练模块,设置为在检测到模型训练事件被触发的情况下,使用更新后的终端使用数据训练所述应用程序预测模型。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行应用程序的预加载方法,该方法包括:
在检测到数据下载指令的情况下,下载备份预加载数据;
根据所述备份预加载数据确定待预加载的应用程序;
基于预先创建的预加载活动窗口堆栈预加载所述应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。
存储介质——任何的一种或多种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、软盘或磁带装置;计算机***存储器或随机存取存储器,诸如动态随机存取存储器(Dynamic Random Access Memory,DRAM)、双倍速率随机存取存储器(double data rate Random Access Memory,DDR RAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、扩展数据输出随机存取存储器(Extended Data Out Random-Access Memory,EDO RAM),兰巴斯(Rambus)随机存取存储器(Random-Access Memory,RAM)等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机***中,或者可以位于不同的第二计算机***中,第二计算机***通过网络(诸如因特网)连接到第一计算机***。第二计算机***可以提供程序指令给第一计算机***,第一计算机***设置为执行该程序指令。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机***中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的应用程序的预加载操作,还可以执行本申请任意实施例所提供的应用程序的预加载方法中的相关操作。
本申请实施例提供了一种终端,该终端中可集成本申请实施例提供的应用程序的预加载装置。图7为本申请实施例提供的一种终端的结构示意图。终端700可以包括:存储器701,处理器702及存储在存储器701上并可在处理器702运行的计算机程序,所述处理器702执 行所述计算机程序时实现如本申请实施例所述的应用程序的预加载方法。
本申请实施例提供的终端,可以在更换智能终端后,通过下载备份预加载数据确定待预加载的应用程序,基于在显示屏幕外面创建的预加载活动窗口堆栈对预加载的应用程序的应用界面进行预加载。该预加载方式能够在用户更换智能终端的情况下,快速准确的预测出待预加载的应用程序,提升了预加载操作的准确度,提高了应用程序的启动速度。
图8为本申请实施例提供的另一种终端的结构示意图,该终端可以包括:壳体(图中未示出)、存储器801、中央处理器(central processing unit,CPU)802(又称处理器)、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU 802和所述存储器801设置在所述电路板上;所述电源电路,设置为为所述终端的多个电路或器件供电;所述存储器801,设置为存储可执行程序代码;所述CPU 802通过读取所述存储器801中存储的可执行程序代码来运行与所述可执行程序代码对应的计算机程序,以实现以下步骤:
在检测到数据下载指令时,下载备份预加载数据;
根据所述备份预加载数据确定待预加载的应用程序;
基于预先创建的预加载活动窗口堆栈预加载所述应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。
所述终端还包括:外设接口803、射频(Radio Frequency,RF)电路805、音频电路806、扬声器811、电源管理芯片808、输入/输出(Input/Output,I/O)子***809、其他输入/控制设备810、触摸屏812、其他输入/控制设备810以及外部端口804,这些部件通过一个或多个通信总线或信号线807来通信。
应该理解的是,图示终端800仅仅是终端的一个范例,并且终端800可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的一种或多种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的用于应用预加载的终端进行描述,该终端以手机为例。
存储器801,所述存储器801可以被CPU 802、外设接口803等访问,所述存储器801可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口803,所述外设接口803可以将设备的输入和输出外设连接到CPU802和存储器801。
I/O子***809,所述I/O子***809可以将设备上的输入输出外设,例如触摸屏812和其他输入/控制设备810,连接到外设接口803。I/O子***809可以包括显示控制器8091和用于控制其他输入/控制设备810的一个或多个输入控制器8092。其中,一个或多个输入控制器8092从其他输入/控制设备810接收电信号或者向其他输入/控制设备810发送电信号,其他输入/控制设备810可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器8092可以与以下任一个连接:键盘、红外端口、通用串行总线(Universal Serial Bus,USB)接口以及诸如鼠标的指示设备。
触摸屏812,所述触摸屏812是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。
I/O子***809中的显示控制器8091从触摸屏812接收电信号或者向触摸屏812发送电 信号。触摸屏812检测触摸屏上的接触,显示控制器8091将检测到的接触转换为与显示在触摸屏812上的用户界面对象的交互,即实现人机交互,显示在触摸屏812上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路805,设置为建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。在一实施例中,RF电路805接收并发送RF信号,RF信号也称为电磁信号,RF电路805将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路805可以包括用于执行这些功能的已知电路,其包括但不限于天线***、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编译码器(COder-DECoder,CODEC)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。
音频电路806,设置为从外设接口803接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器811。
扬声器811,设置为将手机通过RF电路805从无线网络接收的语音信号,还原为声音并向用户播放该声音。
电源管理芯片808,设置为为CPU802、I/O子***及外设接口所连接的硬件进行供电及电源管理。
上述实施例中提供的应用程序预加载装置、存储介质及终端可执行本申请任意实施例所提供的应用程序的预加载方法,具备执行该方法相应的功能模块和效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的应用程序预加载方法。

Claims (20)

  1. 一种应用程序的预加载方法,包括:
    在检测到数据下载指令的情况下,下载备份预加载数据;
    根据所述备份预加载数据确定待预加载的应用程序;
    基于预先创建的预加载活动窗口堆栈预加载所述应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。
  2. 根据权利要求1所述的方法,在检测到数据下载指令之前,还包括:
    在检测到智能终端更换事件被触发的情况下,向用户发送所述备份预加载数据的下载提示。
  3. 根据权利要求1所述的方法,还包括:
    获取智能终端的历史预加载数据,其中,所述历史预加载数据包括应用程序预测模型,以及供所述应用程序预测模型进行预测操作的终端使用数据;
    在检测到数据备份指令的情况下,发送所述历史预加载数据至云端服务器,以指示所述云端服务器更新可供下载的备份预加载数据。
  4. 根据权利要求1所述的方法,其中,在检测到数据下载指令的情况下,下载备份预加载数据,包括:
    在检测到数据下载指令的情况下,获取当前智能终端的终端标识及用户标识;
    发送携带所述终端标识及所述用户标识的下载请求至云端服务器,其中,所述下载请求用于指示所述云端服务器获取所述用户标识对应的备份预加载数据,并发送所述备份预加载数据至所述终端标识对应的智能终端。
  5. 根据权利要求1所述的方法,其中,所述基于预先创建的预加载活动窗口堆栈预加载所述应用程序对应的应用界面,包括:
    创建所述应用程序对应的目标进程;
    在预先创建的预加载活动窗口堆栈中创建所述应用程序对应的任务栈;
    基于所述目标进程在所述任务栈中启动所述应用程序对应的活动窗口;
    基于所启动的活动窗口绘制并显示所述应用程序对应的应用界面。
  6. 根据权利要求5所述的方法,在所述基于所启动的活动窗口绘制并显示所述应用程序对应的应用界面之前,还包括:
    向所述应用程序发送伪造焦点通知,并基于所述伪造焦点通知在预设时间 段内保持所述应用程序对应的应用界面的持续绘制以及显示更新;所述预设时间段的长度包括所述应用程序中启动广告或启动动画的播放时长。
  7. 根据权利要求1所述的方法,在所述基于预先创建的预加载活动窗口堆栈预加载所述应用程序对应的应用界面之后,还包括:
    在接收到目标应用程序的运行指令的情况下,将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的任务栈迁移至应用活动窗口堆栈的顶部;
    更新所述任务栈的尺寸信息、配置信息和可见性,以实现所述目标应用程序对应的应用界面在所述显示屏幕进行显示。
  8. 根据权利要求1至7中任一项所述的方法,其中,所述备份预加载数据包括终端使用数据和应用程序预测模型。
  9. 根据权利要求8所述的方法,其中,所述根据所述备份预加载数据确定待预加载的应用程序,包括:
    依据所述应用程序预测模型,结合所述终端使用数据,确定待预加载的应用程序。
  10. 根据权利要求8或9所述的方法,在所述下载备份预加载数据之后,还包括:
    根据智能终端的使用情况,更新所述终端使用数据;
    在检测到模型训练事件被触发的情况下,使用更新后的终端使用数据训练所述应用程序预测模型。
  11. 一种应用程序的预加载装置,包括:
    备份数据下载模块,设置为在检测到数据下载指令的情况下,下载备份预加载数据;
    应用程序确定模块,设置为根据所述备份预加载数据确定待预加载的应用程序;
    应用界面加载模块,设置为基于预先创建的预加载活动窗口堆栈预加载所述应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。
  12. 根据权利要求11所述的装置,还包括:
    下载提示发送模块,设置为在检测到智能终端更换事件被触发的情况下,向用户发送所述备份预加载数据的下载提示。
  13. 根据权利要求11所述的装置,还包括:
    历史数据获取模块,设置为获取智能终端的历史预加载数据,其中,所述历史预加载数据包括应用程序预测模型,以及供所述应用程序预测模型进行预测操作的终端使用数据;
    历史数据发送模块,设置为在检测到数据备份指令的情况下,发送所述历史预加载数据至云端服务器,以指示所述云端服务器更新可供下载的备份预加载数据。
  14. 根据权利要求11所述的装置,其中,所述备份数据下载模块是设置为:
    在检测到数据下载指令的情况下,获取当前智能终端的终端标识及用户标识;
    发送携带所述终端标识及所述用户标识的下载请求至云端服务器,其中,所述下载请求用于指示所述云端服务器获取所述用户标识对应的备份预加载数据,并发送所述备份预加载数据至所述终端标识对应的智能终端。
  15. 根据权利要求11所述的装置,其中,所述应用界面加载模块是设置为:
    创建所述应用程序对应的目标进程;
    在预先创建的预加载活动窗口堆栈中创建所述应用程序对应的任务栈;
    基于所述目标进程在所述任务栈中启动所述应用程序对应的活动窗口;
    基于所启动的活动窗口绘制并显示所述应用程序对应的应用界面。
  16. 根据权利要求15所述的装置,还包括:
    伪造焦点模块,设置为向所述应用程序发送伪造焦点通知,并基于所述伪造焦点通知在预设时间段内保持所述应用程序对应的应用界面的持续绘制以及显示更新;所述预设时间段的长度包括所述应用程序中启动广告或启动动画的播放时长。
  17. 根据权利要求11所述的装置,还包括:
    任务栈迁移模块,设置为在接收到目标应用程序的运行指令时的情况下,将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的任务栈迁移至应用活动窗口堆栈的顶部;
    任务栈更新模块,设置为更新所述任务栈的尺寸信息、配置信息和可见性,以实现所述目标应用程序对应的应用界面在所述显示屏幕进行显示。
  18. 根据权利要求11所述的装置,还包括:
    使用数据更新模块,设置为根据智能终端的使用情况,更新所述终端使用数据;
    模型训练模块,设置为在检测到模型训练事件被触发的情况下,使用更新后的终端使用数据训练所述应用程序预测模型。
  19. 一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述的方法。
  20. 一种终端,包括存储器,处理器及存储在所述存储器上并可在所述处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至10中任一项所述的方法。
PCT/CN2019/085475 2018-05-21 2019-05-05 应用程序的预加载方法、装置、存储介质及终端 WO2019223511A1 (zh)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2019223511A1 true WO2019223511A1 (zh) 2019-11-28

Family

ID=64092719

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/085475 WO2019223511A1 (zh) 2018-05-21 2019-05-05 应用程序的预加载方法、装置、存储介质及终端

Country Status (2)

Country Link
CN (1) CN108804153B (zh)
WO (1) WO2019223511A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804153B (zh) * 2018-05-21 2021-03-12 Oppo广东移动通信有限公司 应用程序的预加载方法、装置、存储介质及终端
CN111352677B (zh) * 2018-12-20 2023-05-09 青岛海信移动通信技术有限公司 应用程序的界面显示方法及终端
CN109814966A (zh) * 2019-01-14 2019-05-28 北京梧桐车联科技有限责任公司 启动应用程序的方法和装置
CN109885355A (zh) * 2019-02-21 2019-06-14 珠海市魅族科技有限公司 一种应用启动方法及相关装置
CN111275607B (zh) * 2020-01-17 2022-05-24 腾讯科技(深圳)有限公司 界面显示方法、装置、计算机设备及存储介质
CN111381902B (zh) * 2020-03-10 2021-04-13 中南大学 基于带属性异构网络嵌入的app启动加速方法
CN114827110A (zh) * 2022-03-09 2022-07-29 深圳依时货拉拉科技有限公司 一种路演方法、设备、***和计算机可读存储介质
CN115562744B (zh) * 2022-03-31 2023-11-07 荣耀终端有限公司 一种应用程序加载方法及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461532A (zh) * 2014-12-02 2015-03-25 北京国双科技有限公司 应用程序窗口最小化的处理方法和装置
CN104793851A (zh) * 2015-04-28 2015-07-22 北京乐动卓越科技有限公司 一种终端屏幕的悬浮按钮控制方法
CN107295044A (zh) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 一种进行应用程序管理的方法及设备
CN107783801A (zh) * 2017-11-06 2018-03-09 广东欧珀移动通信有限公司 应用程序预测模型建立、预加载方法、装置、介质及终端
CN108762843A (zh) * 2018-05-29 2018-11-06 Oppo广东移动通信有限公司 应用程序的预加载方法、装置、存储介质及智能终端
CN108804153A (zh) * 2018-05-21 2018-11-13 Oppo广东移动通信有限公司 应用程序的预加载方法、装置、存储介质及终端

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110031A (zh) * 2011-02-23 2011-06-29 宇龙计算机通信科技(深圳)有限公司 基于android***的应用程序备份与恢复的方法
CN103106000B (zh) * 2013-01-23 2015-11-25 东莞宇龙通信科技有限公司 多焦点窗口的实现方法及通信终端
CN105955766B (zh) * 2016-04-22 2019-08-30 北京小米移动软件有限公司 应用预加载方法及装置
CN106201241A (zh) * 2016-06-24 2016-12-07 北京奇虎科技有限公司 终端屏幕的分屏显示方法、装置及终端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461532A (zh) * 2014-12-02 2015-03-25 北京国双科技有限公司 应用程序窗口最小化的处理方法和装置
CN104793851A (zh) * 2015-04-28 2015-07-22 北京乐动卓越科技有限公司 一种终端屏幕的悬浮按钮控制方法
CN107295044A (zh) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 一种进行应用程序管理的方法及设备
CN107783801A (zh) * 2017-11-06 2018-03-09 广东欧珀移动通信有限公司 应用程序预测模型建立、预加载方法、装置、介质及终端
CN108804153A (zh) * 2018-05-21 2018-11-13 Oppo广东移动通信有限公司 应用程序的预加载方法、装置、存储介质及终端
CN108762843A (zh) * 2018-05-29 2018-11-06 Oppo广东移动通信有限公司 应用程序的预加载方法、装置、存储介质及智能终端

Also Published As

Publication number Publication date
CN108804153A (zh) 2018-11-13
CN108804153B (zh) 2021-03-12

Similar Documents

Publication Publication Date Title
EP3575962B1 (en) Method and device for preloading application, storage medium and intelligent terminal
CN108614722B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108363593B (zh) 应用程序预加载方法、装置、存储介质及终端
EP3579104B1 (en) Method and apparatus for establishing an application prediction model, storage medium and terminal
WO2019223511A1 (zh) 应用程序的预加载方法、装置、存储介质及终端
EP3575961B1 (en) Method and apparatus for updating application prediction model, storage medium, and terminal
US11604660B2 (en) Method for launching application, storage medium, and terminal
US11467855B2 (en) Application preloading method and device, storage medium and terminal
WO2019223510A1 (zh) 应用程序预加载方法、装置、存储介质及移动终端
CN108647055B (zh) 应用程序预加载方法、装置、存储介质及终端
WO2019233241A1 (zh) 应用程序启动方法、装置、存储介质及终端
US11099861B2 (en) Method for preloading application, storage medium, and terminal
CN108595231B (zh) 应用程序预加载方法、装置、存储介质及智能终端
WO2019223540A1 (zh) 应用程序预加载方法、装置、存储介质及终端
CN108920202B (zh) 应用预加载管理方法、装置、存储介质及智能终端
CN108776599B (zh) 预加载应用的管理方法、装置、存储介质及智能终端
CN108958828B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108647056B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108710512B (zh) 应用程序的预加载方法、装置、存储介质及智能终端
WO2019228134A1 (zh) 应用程序预加载方法、装置、存储介质及终端
CN108762836B (zh) 预加载应用的管理方法、装置、存储介质及智能终端
WO2019214476A1 (zh) 屏幕方向设置方法以及装置、存储介质及终端
WO2019228149A1 (zh) 预测样本的采集方法、装置、存储介质及智能终端

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

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

Country of ref document: EP

Kind code of ref document: A1