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

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

Info

Publication number
WO2019214477A1
WO2019214477A1 PCT/CN2019/084790 CN2019084790W WO2019214477A1 WO 2019214477 A1 WO2019214477 A1 WO 2019214477A1 CN 2019084790 W CN2019084790 W CN 2019084790W WO 2019214477 A1 WO2019214477 A1 WO 2019214477A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
target application
active window
preloaded
stack
Prior art date
Application number
PCT/CN2019/084790
Other languages
English (en)
French (fr)
Inventor
韩世广
陈岩
Original Assignee
上海瑾盛通信科技有限公司
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 上海瑾盛通信科技有限公司 filed Critical 上海瑾盛通信科技有限公司
Publication of WO2019214477A1 publication Critical patent/WO2019214477A1/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/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading

Definitions

  • the embodiments of the present application relate to the field of application loading technologies, for example, to application preloading methods and devices, storage media, and terminals.
  • terminals such as smart phones, tablets, notebook computers, and smart home appliances have become indispensable electronic devices in people's daily lives.
  • terminal devices As terminal devices continue to be intelligent, most terminal devices are loaded with an operating system, enabling the terminal devices to install a wide variety of applications to meet different user needs.
  • the terminal loads the resources required for the application to start. After the loading is completed, the terminal enters the initial interface of the application, and the whole process usually takes several seconds or even ten seconds, resulting in the application.
  • the startup of the program is inefficient and needs to be improved.
  • the embodiment of the present application provides an application preloading method and device, a storage medium, and a terminal, which can optimize an application loading scheme.
  • an embodiment of the present application provides an application preloading method, including:
  • An application preload event is detected to be triggered
  • an application preloading apparatus including:
  • An event trigger detection module configured to detect whether an application preload event is triggered
  • An application determining module configured to determine a target application to be preloaded after detecting that an application preloading event is triggered
  • Forging a focus notification sending module configured to send a forged focus notification to the target application; wherein the forged focus is independent of a focus corresponding to the foreground application;
  • An interface drawing module is configured to perform drawing of an application interface corresponding to the target application based on the forged focus notification.
  • the embodiment of the present application provides a computer readable storage medium, where a computer program is stored, and when the program is executed by the processor, the application preloading method is implemented as described in the embodiment of the present application.
  • 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, where the processor executes the computer program to implement an embodiment of the present application.
  • the application preloading method.
  • FIG. 1 is a schematic flowchart of an application preloading method according to an embodiment of the present application
  • FIG. 2 is a schematic diagram of a relative position relationship between a preloaded active window stack and a display screen display area according to an embodiment of the present application
  • FIG. 3 is a schematic diagram of a relative positional 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 according to an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of another application preloading method according to an embodiment of the present disclosure.
  • FIG. 6 is a structural block diagram of an application preloading apparatus 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 disclosure.
  • FIG. 8 is a schematic structural diagram of still 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 implemented by an application preloading device, where the device may be implemented by software and/or hardware, and may be integrated into a terminal. As shown in FIG. 1, the method includes: step 101, step 102, and step 103.
  • step 101 it is detected that an application preload event is triggered.
  • the terminal in the embodiment of the present application may include a terminal device such as a mobile phone, a tablet computer, a notebook computer, and a smart home appliance.
  • the operating system is loaded in the terminal.
  • the triggering condition of the application pre-loading event may be set according to an actual situation, which is not specifically limited in this embodiment.
  • the application preloading event may be triggered when it is detected that the user's action satisfies a preset condition (such as picking up the terminal, inputting a screen unlocking operation, or inputting a terminal unlocking operation, etc.); or when detecting that the foreground application is changed, The application preload event is triggered; or the application preload event can be triggered immediately (or after a preset duration) after the pre-loading application's prediction process ends; or it can be triggered at regular intervals.
  • the system may detect that the application preloading event has been triggered by reading the flag bit or receiving the triggering instruction.
  • the specific detection mode is not limited in the embodiment of the present application.
  • step 102 a target application to be preloaded is determined.
  • the application to be preloaded can be understood as an application that the user may open soon, or may be a fixed application that is preset, or an application that is predicted in a certain manner.
  • the application to be preloaded may include one or more.
  • the target application can be understood as the application to be preloaded that currently needs to be preloaded.
  • the target application can also include one or more.
  • the target application can be one (ie, multiple applications to be preloaded) Determined as the target application one by one, and preloaded in turn), or multiple (it is more than 2 applications to be preloaded as the target application, and at the same time preloading, that is, multiple targets
  • the application's preloading process can be done in parallel).
  • a predictive model can be used to predict the preloaded application.
  • the prediction model may be a machine learning model, and the algorithms used may include Recurrent neural networks (RNN), Long Short-Term Memory (LSTM) networks, threshold loop units, simple loop units, and automatic coding. , decision tree, random forest, feature mean classification, classification regression tree, hidden Markov, K-Nearest Neighbor (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-Nearest Neighbor
  • KNN K-Nearest Neighbor
  • logistic regression model Bayesian model
  • Gaussian model Gaussian model
  • KL divergence Kullback
  • the training sample is collected, and the preset initial model is trained by using the training sample, and finally the prediction model for predicting the application to be preloaded is obtained.
  • the elements included in the training sample may include a time series or sequence of sequences in which the application is opened; may include the time, location, and frequency of the application being opened; may include the operating state of the terminal, such as a switch of the mobile data network Status, connection status of the wireless hotspot, identity information of the connected wireless hotspot, currently running application, previous foreground application, duration of the current application staying in the background, time when the current application was last switched to the background, The plug-in status, charging status, battery level information, and screen display duration of the headphone jack, etc.; can also include data collected by sensors integrated in the terminal, such as motion sensors, light sensors, temperature sensors, and humidity sensors.
  • the appropriate sample elements can be selected according to the selected machine learning model, and the selected machine learning model can be determined according to the selected sample elements, and can also be combined with the requirements for prediction accuracy and preset speed.
  • the selection of the model and the sample elements and the like are not limited in the embodiment of the present application.
  • determining the target application to be preloaded may include determining a target application to be preloaded according to an output result before the prediction model, or including using the prediction model to perform prediction, and determining a current output result of the prediction model. Preloaded target application.
  • step 103 the forged focus notification is sent to the target application, and the drawing of the application interface corresponding to the target application is performed based on the forged focus notification, wherein the forged focus is independent of the focus corresponding to the foreground application.
  • the focus in the embodiment of the present application is also referred to as an input focus, and the forged focus is independent of the focus corresponding to the foreground application.
  • the focus is unique. For example, an input operation such as a touch is effective only for the focus.
  • the system side and the application end are consistent, and once the system side modifies the input focus information,
  • the input information of the input focus information is sent to the application, so as to ensure that the input information of the system end and the application end are consistent.
  • the purpose of forging the focus on the application end is achieved by separating the manner in which the system side and the application end input the focus information.
  • the pre-loading application is forged focus notification, so that the pre-loading application has the focus information, and the focus information of the system is still correct, so that the pre-loading application can be normally drawn to achieve the purpose of full loading.
  • the focus exists on the system side and the application side. It can be regarded as the server (server) and the client (client).
  • the system side records the application with the focus, and the application saves the flag (flag) to identify whether it has focus.
  • the specific process of the preloading and the loaded resources are not limited.
  • the corresponding hardware resources may be allocated to the application to be preloaded, and related data required for startup is loaded based on the allocated hardware resources.
  • Exemplary may include application process startup, application service startup, memory allocation, file content reading, network data acquisition, and interface rendering.
  • the timing of preloading various types of resources is not limited in the embodiment of the present application, and therefore, the timing of forging the input focus is not limited.
  • the timing of falsifying the input focus may be that when the window system of the operating system adds a window and needs to update the focus, a fake focus notification is generated and transmitted.
  • the application interface of the target application may be drawn in an area outside the display screen, or the application interface of the target application may be drawn under the foreground application, and the application interface in the loading process may be set. Visible properties are invisible to the user and visible to the system.
  • the application preloading method provided in the embodiment of the present application detects that the application preloading event is triggered, determines the target application to be preloaded, sends a forged focus notification to the target application, and performs the target application based on the forged focus notification.
  • the rendering of the application interface corresponding to the target application based on the forged focus notification comprises: drawing and displaying the target in a pre-created preloaded active window stack based on the forged focus notification
  • the active window can be understood as an independent interface that provides interaction and operation directly to the user, and different nouns may be used to name the interface in different operating systems.
  • the following description is made by taking the Android operating system as an example.
  • the active window is called Activity.
  • An Activity is a component responsible for interacting with a user, providing a screen (which can be understood as a screen interface rather than a physical display screen) for the user to interact with a task.
  • an android application an Activity is usually a separate screen that can display some controls and listen and handle user events.
  • Task task stack
  • Stack active window stack
  • Task corresponds to an application
  • Task is used to store Activity
  • a Task can store one or more Activity, and these activities follow the principle of "advanced, last in, first out”.
  • Stack is used to manage the Task.
  • a Stack manages the Tasks to which each Activity needs to be displayed on a screen.
  • a Stack can manage one or more Tasks.
  • Stack also follows the basic management principles of the stack.
  • the screen described here is not necessarily a completely separate display. Taking "two screens" as an example, these two screens may be just two areas in a complete display that independently display their respective display contents. Of course, if the terminal has two or even more than two independent displays, the "two screens" can also be two separate displays.
  • multi-window mode is supported, which can include split screen mode, picture in picture mode, and free mode (FreeForm).
  • the Stack on which the application resides can have its own size, which can include the top, bottom, left, and right coordinates in the coordinate system with the top left corner of the terminal screen as the origin.
  • (a, b, c, d) generally describes the boundary of a rectangle, which can be represented by the coordinates of the upper left corner of the rectangle and the coordinates of the lower right corner, that is, the coordinates of the upper left corner of the rectangle are (a, b), right.
  • the lower corner coordinates are (c, d), and such a rectangular area corresponds to the size of the Stack.
  • the in-app layout 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 bounds of the size.
  • multiple applications can be allowed to be visible, both system and user visible and only system visible. Both the system and the user are visible to display on the display screen, and the user can see; only the system visible means that the operating system is visible, and the user is invisible, may be blocked by the application of the foreground or as implemented in the application. Display off-screen display.
  • pre-loading the application interface of the target application outside the display screen may be implemented based on a multi-window mechanism of the operating system, and the size corresponding to the application is set outside the display screen through the multi-window mechanism to achieve
  • the purpose of the user's invisibility is such that it does not affect the display of the foreground application's display content on the display screen.
  • the multi-window mode there may be multiple types of stacks, such as the Home Stack indicating the stack displayed by the desktop application, the App Stack indicating the Stack displayed by the third-party application, and other split screen stacks, etc., in the above three stacks.
  • the included content can be displayed on the display screen, which is collectively referred to as an application active window stack in the embodiment of the present application.
  • a preloaded active window stack (preloaded stack) is added, which is used 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, and are to be preloaded.
  • the app can be displayed on the stack.
  • a new stack dedicated to displaying preloaded applications can be created based on the multi-window mechanism of the Android system.
  • the new stack is created because the newly created preloaded stack can have its own size and visibility, thereby achieving pre-loading on the display screen.
  • the creation time of the preloaded stack is not limited, and the preloaded stack is in the resident state by default, that is, the preloaded stack is always present; or the terminal is successfully unlocked when the terminal is powered on or the terminal is successfully unlocked.
  • Post-create can also be created after the application preload event is triggered (can be determined before the target application is determined).
  • the drawing based on the forged focus notification, drawing and displaying an application interface corresponding to the target application in a pre-created preloading active window stack, includes: determining whether there is a pre-created preloading active window stack; If not, creating a preloaded active window stack according to a preset rule, and drawing and displaying an application interface corresponding to the target application on the created preloaded active window stack based on the forged focus notification; if present, based on The forged focus notification draws on the pre-created preloaded active window stack and displays an application interface corresponding to the target application.
  • the advantage of this setting is that after determining the target application to be preloaded, it is determined whether the preloaded stack exists.
  • the preloaded stack is created before the first target application starts loading, then the first Before the two target applications start loading, the preloaded stack exists, and it is not necessary to make the above judgment.
  • the specific process of the application interface corresponding to the preloading of the target application is not limited.
  • the application interface may be drawn and displayed based on the size of the preloaded stack.
  • the method further includes: pre-detecting the target application When the loading duration reaches the preset duration, the forged focus notification is sent to other applications to be preloaded to end the drawing of the application interface of the target application.
  • the advantage of this setting is that when the preloading of the target application is completed, or the preloading time has reached the set time, the application interface drawing can be ended, and the forged focus notification is sent to other applications to be preloaded, so that the next An application to be preloaded can obtain forged focus and draw the application interface.
  • a forged focus notification is sent to other applications, the forged focus possessed by the target application is canceled, and excessive forgery focus is prevented from being forged, which affects the stability of the system.
  • the preset duration is greater than or equal to a play duration of the launch advertisement or the startup animation corresponding to the target application.
  • Some applications usually play some advertisements or animations during the startup process.
  • the duration of the advertisement or animation is usually from 3 seconds to ten seconds.
  • the user may not be able to perform any operations. Can wait for the playback to complete, wasting the user's valuable time.
  • the advantage of the setting of the embodiment of the present application is that the startup advertisement or the startup animation can be played out of the screen before the target application is started, and when the target application is started, the main page of the application or other user can be directly operated. Interface to further advance the target time point of the target application and reduce waiting time.
  • the sending the forged focus notification to the target application comprises: calling a method of changing a window focus of a client of the active window corresponding to the target application, so that the target application corresponds to the activity
  • the window gets the forged focus.
  • the method of forging the focus may be a method of changing the focus of the window on the client side of the calling window (also called the active window), so that the window acquires the focus.
  • the Binder mechanism can be used to forge the transmission of the focus notification.
  • the Binder mechanism is the most common way for the inter-process communication of the Android system, and adopts the c/s architecture, that is, the client/service architecture.
  • the method further includes: when the running instruction of the target application is received, the preloading
  • the application interface corresponding to the target application included in the active window stack is migrated to the display screen for display.
  • the migrating the application interface corresponding to the target application included in the preloaded active window stack to the display screen for display comprises: including the preloaded active window stack
  • the task stack corresponding to the target application is migrated to the top of the application active window stack; the size information, the configuration information, and the visibility of the task stack are updated, so that the application interface corresponding to the target application is implemented on the display screen. display.
  • the display mode of the display screen usually includes vertical screen display and horizontal screen display, and many applications use the vertical screen mode for display by default, and some applications.
  • the program defaults to display in landscape mode (such as some online games).
  • some applications also switch between horizontal and vertical display as the user holds the direction of the terminal.
  • the boundary coordinates corresponding to the preloaded active window stack are (H, 0, 2H, H)
  • the coordinate system corresponding to the boundary coordinates is system coordinates
  • the origin of the system coordinates 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. As shown in FIG. 2, the display screen is in the vertical screen mode, and 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 of the loaded Stack 202 are (H, 0, 2H, H), H is the screen height, that is, the area within the solid line rectangle on the left side is the main screen display area, and the area within the rectangular area of the right dashed line is the preloaded display area.
  • FIG. 3 is a schematic diagram of a relative positional 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. 3, the display screen is in the horizontal screen mode, and 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 of the loaded Stack 202 are (H, 0, 2H, H), H is the screen height, that is, the area within the solid line rectangle on the left side is the main screen display area, and the area within the rectangular area of the right dashed line is the preloaded display area.
  • the horizontal coordinate of the upper left corner is H, which is to prevent the display screen (also called the main screen) from being displayed to the interface of the preloaded application when the horizontal screen is used, because the main screen has the horizontal screen mode and the horizontal screen mode when the main screen is horizontal screen.
  • the horizontal coordinate of the upper left corner of the rectangular area corresponding to the preloaded stack is set to the screen height.
  • the ordinate of the upper left corner is 0, in order to preload the application to correctly calculate the status bar height.
  • the Android application will customize the top status bar. If the corresponding ordinate of the upper side is not equal to 0, the height of the status bar may be wrong.
  • the inventor sets the size of the preloaded stack to (H, 0, 2H, H).
  • FIG. 4 is a schematic diagram of application interface migration according to an embodiment of the present application.
  • an application corresponding to the target application included in the stack of the active window 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 active window Stack, and the size information, configuration information, and visibility of the task are updated, thereby applying the interface. Can be displayed normally on the display screen.
  • FIG. 5 is a schematic flowchart of another application preloading method according to an embodiment of the present disclosure. The method includes the following steps: step 501 to step 508.
  • step 501 when it is detected that the application preload event is triggered, the target application to be preloaded is determined.
  • step 502 a target process corresponding to the target application is created and the target process is initialized.
  • step 503 a task stack corresponding to the target application is created in the preloaded active window stack.
  • step 504 an active window corresponding to the target application is launched in the task stack based on the target process.
  • step 505 a method of changing the window focus of the client of the active window is invoked to cause the active window to obtain a forged focus.
  • step 506 an application interface corresponding to the target application is drawn and displayed based on the forged focus and the active window.
  • step 507 when it is detected that the preloading duration of the target application reaches the preset duration, the fake focus notification is sent to the other applications to be preloaded to end the drawing of the application interface of the target application.
  • step 508 upon receiving the running instruction of the target application, 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.
  • moving the task to the App Stack may include: deleting the task from the list in the original stack (ie, preloading the Stack), in the new stack ( Add this task at the top of the App Stack).
  • Each stack has a list for recording all the tasks contained in the stack; correspondingly, each task will also record the stack information of the task. Because the stack contains attributes such as size, configuration, visibility, and zorder that may be different from other stacks, simply adding the task to the list of new stacks can change the attributes of the task's zorder. The top of the new stack is added to make the task visible.
  • step 509 the size information, the configuration information, and the visibility of the task stack are updated, so that the current 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 of the user actually starting the target application is uncertain, and may be in the pre-loading 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 the configuration information of the task stack is to change the boundary of the application, and specifically includes: actively updating the size and configuration information. Only using the above task migration operation can not change the size and configuration of the task immediately, so you can call the method of modifying the task size and configuration to ensure that the application is in the correct state and can work normally in the foreground.
  • the update task is visible because, after updating the size and configuration, the target application may not be visible at this time, calling the method of updating the new stack visibility, and the application visible from the top to the bottom is set to be visible. And update the corresponding window surface to be visible.
  • the visible application judging method may include: no occlusion by other applications on the zorder; no occlusion by the lock screen; the state of the top activity of the application is non-initializing or non-exiting.
  • the application preloading method provided by the embodiment of the present application can draw and display an application interface of an application that needs to be preloaded based on a preloaded active window stack created outside the display screen, and complete the application before starting the application to a large extent. Prepare the work, and it will not affect the display content of the foreground application on the display screen. When the target application is actually started, the pre-loaded application interface is directly migrated to the display screen for display, thereby effectively improving the startup speed. .
  • FIG. 6 is a structural block diagram of an application preloading apparatus according to an embodiment of the present disclosure.
  • the apparatus may be implemented by software and/or hardware, and is generally integrated in a terminal, and may be implemented by executing an application preloading method. load.
  • the device includes an event trigger detection module 601, an application determination module 602, a forged focus notification sending module 603, and an interface rendering module 604.
  • the event trigger detection module 601 is configured to detect whether an application preload event is triggered.
  • the application determining module 602 is configured to determine the target application to be preloaded after detecting that the application preloading event is triggered.
  • the forged focus notification sending module 603 is configured to send a forged focus notification to the target application; wherein the forged focus is independent of a focus corresponding to the foreground application.
  • the interface drawing module 604 is configured to perform drawing of the application interface corresponding to the target application based on the forged focus notification.
  • the application preloading device provided by the embodiment of the present application can draw an application interface of the preloaded application without affecting the running of the foreground application and the interface, so as to implement preloading of the application.
  • the loading method can complete the preparation work before the application is started to a large extent, and improve the startup speed of the target application.
  • the drawing of the application interface corresponding to the target application is performed based on the forged focus notification, including:
  • the apparatus further comprises:
  • a loading duration detecting module configured to detect a preloading of the target application after the drawing based on the forged focus notification to draw and display an application interface corresponding to the target application in a pre-created preloading active window stack When the duration reaches the preset duration, a fake focus notification is sent to other applications to be preloaded to end the drawing of the application interface of the target application.
  • the preset duration is greater than or equal to a playback duration of the startup advertisement or the startup animation corresponding to the target application.
  • the interface drawing module is further configured to:
  • Determining whether there is a pre-created preloaded active window stack in response to the absence of a pre-created preloaded active window stack, creating a preloaded active window stack according to a preset rule, and notifying the created preloaded activity based on the forged focus notification a window stack drawing and displaying an application interface corresponding to the target application; in response to the presence of a pre-created preloaded active window stack, drawing and displaying the target on the pre-created preloaded active window stack based on the forged focus notification The application interface corresponding to the application.
  • the sending the fake focus notification to the target application comprises:
  • the apparatus further comprises:
  • An interface migration module configured to: after the drawing of the application interface corresponding to the target application is performed based on the forged focus notification, when the running instruction of the target application is received, stacking the preloaded active window The application interface corresponding to the target application included in the target is migrated to the display screen for display.
  • the interface migration module is further configured to:
  • 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 size information, configuration information, and visibility of the task stack are updated.
  • the boundary coordinates of the preloaded active window stack are (H, 0, 2H, H), the coordinate system corresponding to the boundary coordinates is system coordinates, and the origin of the system coordinates is the display.
  • H is the length of the long side of the display area of the display screen.
  • the embodiment of the present application further provides a storage medium including computer executable instructions for executing an application preloading method when executed by a computer processor, the method comprising:
  • An application preload event is detected to be triggered
  • Storage media any of a variety of types of memory devices or storage devices.
  • the term "storage medium” is intended to include: a mounting medium such as a CD-ROM, a floppy disk or a tape device; a computer system memory or a random access memory such as DRAM, DDRRAM, SRAM, EDORAM, Rambus RAM, etc.; Volatile memory, such as flash memory, magnetic media (such as hard disk or optical storage); registers or other similar types of memory elements, and the like.
  • the storage medium may also 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, the second computer system being coupled to the first computer system via a network, such as the Internet.
  • the second computer system can provide program instructions to the first computer for execution.
  • the term "storage medium" can include two or more storage media that can reside in different locations (eg, in different computer systems connected through a network).
  • a storage medium may store program instructions (eg, embodied as a computer program) executable by one or more processors.
  • the storage medium containing the computer executable instructions provided by the embodiment of the present application is not limited to the application preloading operation as described above, and may also execute the application provided by any embodiment of the present application. Related operations in the preload method.
  • FIG. 7 is a schematic structural diagram of a terminal according to an embodiment of the present application.
  • the terminal 700 can include a memory 701, a processor 702, and a computer program stored on the memory 701 and executable by the processor 702.
  • the processor 702 executes the computer program to implement the application as described in the embodiment of the present application. Preload method.
  • the terminal provided by the embodiment of the present application can draw the application interface of the pre-loaded application without affecting the running of the foreground application and the interface, so as to implement preloading of the application, the preloading method can be compared. Greatly complete the preparation before the application starts, and improve the startup speed of the target application.
  • FIG. 8 is a schematic structural diagram of another terminal according to an embodiment of the present disclosure.
  • the terminal may include: a casing (not shown), a memory 801, and a central processing unit (CPU) 802 (also referred to as processing).
  • the device hereinafter referred to as CPU
  • the circuit board is disposed inside a space enclosed by the casing; the CPU 802 and the memory 801 are disposed on the circuit board; and the power circuit is configured to supply power to each circuit or device of the terminal;
  • 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 executable program code stored in the memory 801 to implement the following steps:
  • An application preload event is detected to be triggered
  • the terminal further 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 input/control devices. 810, touch screen 812, other input/control devices 810, and external port 804, these components are communicated via one or more communication buses or signal lines 807.
  • RF radio frequency
  • I/O input/output subsystem 809
  • the illustrated terminal 800 is merely one example of a terminal, and that the terminal 800 may have more or fewer components than those shown in the figures, two or more components may be combined, 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 for applying preloading provided in this embodiment is described in detail below.
  • the terminal uses a mobile phone as an example.
  • the memory 801 can be accessed by the CPU 802, the peripheral interface 803, etc., and the memory 801 can include a high speed random access memory, and can also include a non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices. Or other volatile solid-state storage devices.
  • a non-volatile memory such as one or more magnetic disk storage devices, flash memory devices. Or other volatile solid-state storage devices.
  • Peripheral interface 803, which can connect the input and output peripherals of the device to CPU 802 and memory 801.
  • the I/O subsystem 809 can connect input and 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 can 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 other input/control devices 810 or transmit 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 USB interface, and a pointing device such as a mouse.
  • the touch screen 812 is an input interface and an output interface between the user terminal and the user, and displays the visual output to the user.
  • the visual output may include graphics, text, icons, videos, and the like.
  • Display controller 8091 in I/O subsystem 809 receives an electrical signal from touch screen 812 or an electrical signal to touch screen 812.
  • the touch screen 812 detects the contact on the touch screen, and the display controller 8091 converts the detected contact into an interaction with the user interface object displayed on the touch screen 812, that is, realizes human-computer interaction, and the user interface object displayed on the touch screen 812 may be running.
  • the icon of the game, the icon of the network to the corresponding network, and the like.
  • the device may also include a light mouse, which is a touch sensitive surface that does not display a visual output, or an extension of a touch sensitive surface formed by the touch screen.
  • the RF circuit 805 is mainly configured to establish communication between the mobile phone and the wireless network (ie, the network side), and implement data reception and transmission between the mobile phone and the wireless network. For example, sending and receiving short messages, emails, and the like. Specifically, the RF circuit 805 receives and transmits an RF signal, which is also referred to as an electromagnetic signal, and the RF circuit 805 converts the electrical signal into an electromagnetic signal or converts the electromagnetic signal into an electrical signal, and through the electromagnetic signal and communication network and other devices Communicate.
  • an RF signal which is also referred to as an electromagnetic signal
  • RF circuitry 805 may include known circuitry for performing these functions including, but not limited to, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a codec CODER-DECoder (CODEC) chipset, Subscriber Identity Module (SIM), etc.
  • CDDEC codec CODER-DECoder
  • the audio circuit 806 is primarily configured to receive audio data from the peripheral interface 803, convert the audio data into an electrical signal, and transmit the electrical signal to the speaker 811.
  • the speaker 811 is arranged to restore the voice signal received by the mobile phone from the wireless network through the RF circuit 805 to sound and play the sound to the 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 above embodiments can execute the application preloading method provided by any embodiment of the present application, and have the corresponding functional modules and beneficial effects of executing the method.
  • the application preloading method provided by any embodiment of the present application can execute the application preloading method provided by any embodiment of the present application, and have the corresponding functional modules and beneficial effects of executing the method.

Landscapes

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

Abstract

公开了应用程序预加载方法、装置、存储介质及终端。该方法包括:检测到应用预加载事件被触发;确定待预加载的目标应用程序;向所述目标应用程序发送伪造焦点通知,并基于所述伪造焦点通知进行所述目标应用程序对应的应用界面的绘制,其中,所述伪造焦点与前台应用对应的焦点相互独立。

Description

应用程序预加载方法以及装置、存储介质及终端
本申请要求在2018年05月10日提交中国专利局、申请号为201810444100.1的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及应用程序加载技术领域,例如涉及应用程序预加载方法以及装置、存储介质及终端。
背景技术
目前,诸如智能手机、平板电脑、笔记本电脑以及智能家电等终端已成为人们日常生活中必不可少的电子设备。随着终端设备不断地智能化,多数终端设备中都装载有操作系统,使得终端设备能够安装丰富多样的应用程序,满足用户不同的需求。
随着终端设备的配置不断提升,多数终端设备中可以安装几十甚至上百个应用程序,而随着应用程序的功能日益丰富,应用程序运行时所需加载的资源也越来越多。当用户选择启动一个应用程序时,终端会对该应用程序启动所需的资源进行加载,待加载完毕后,进入应用程序的初始界面,整个过程通常要花费数秒甚至十几秒的时间,导致应用程序的启动效率较低,亟需改进。
发明内容
本申请实施例提供一种应用程序预加载方法以及装置、存储介质及终端,可以优化应用程序的加载方案。
第一方面,本申请实施例提供了一种应用程序预加载方法,包括:
检测到应用预加载事件被触发;
确定待预加载的目标应用程序;
向所述目标应用程序发送伪造焦点通知,并基于所述伪造焦点通知进行所述目标应用程序对应的应用界面的绘制,其中,所述伪造焦点与前台应用对应的焦点相互独立。
第二方面,本申请实施例提供了一种应用程序预加载装置,包括:
事件触发检测模块,设置为检测应用预加载事件是否被触发;
应用确定模块,设置为在检测到应用预加载事件被触发后,确定待预加载的目标应用程序;
伪造焦点通知发送模块,设置为向所述目标应用程序发送伪造焦点通知;其中,所述伪造焦点与前台应用对应的焦点相互独立;
界面绘制模块,设置为基于所述伪造焦点通知进行所述目标应用程序对应的应用界面的绘制。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的应用程序预加载方法。
第四方面,本申请实施例提供了一种终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的应用程序预加载方法。
附图概述
图1为本申请实施例提供的一种应用程序预加载方法的流程示意图;
图2为本申请实施例提供的一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图;
图3为本申请实施例提供的又一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图;
图4为本申请实施例提供的一种应用界面迁移示意图;
图5为本申请实施例提供的另一种应用程序预加载方法的流程示意图;
图6为本申请实施例提供的一种应用程序预加载装置的结构框图;
图7为本申请实施例提供的一种终端的结构示意图;
图8为本申请实施例提供的又一种终端的结构示意图。
具体实施方式
可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处 理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1为本申请实施例提供的一种应用程序预加载方法的流程示意图,该方法可以由应用程序预加载装置执行,其中该装置可由软件和/或硬件实现,一般可集成在终端中。如图1所示,该方法包括:步骤101、步骤102和步骤103。
在步骤101中,检测到应用预加载事件被触发。
示例性的,本申请实施例中的终端可包括手机、平板电脑、笔记本电脑以及智能家电等终端设备。终端中装载有操作系统。
示例性的,应用预加载事件的触发条件可以根据实际情况设置,本申请实施例不作具体限定。例如,可以在检测到用户的动作满足预设条件(如拿起终端、输入屏幕解锁操作或输入终端解锁操作等)时,触发应用预加载事件;或者可以在检测到前台应用程序发生变更时,触发应用预加载事件;或者可以在预加载应用的预测流程结束后,立即(或经过预设时长后)触发应用预加载事件;或者可以定时间隔触发等等。当应用预加载事件被触发后,系统可以通过读取标志位或接收触发指令等方式检测到应用预加载事件已被触发,具体的检测方式本申请实施例也不做限定。
在步骤102中,确定待预加载的目标应用程序。
示例性的,待预加载的应用程序可以理解为用户可能即将打开的应用程序,可以是预先设置好的固定的应用程序,也可以是采用一定的方式预测出来的应用程序等。待预加载的应用程序可以包括一个或多个。目标应用程序可以理解为当前需要进行预加载操作的待预加载的应用程序。目标应用程序也可以包括一个或多个。当待预加载的应用程序仅有一个时,目标应用程序相应的也仅有一个;当待预加载的应用程序有多个时,目标应用程序可以为一个(即将多个待预加载的应用程序逐一确定为目标应用程序,并依次进行预加载操作),也可以为多个(即将2个以上待预加载的应用程序确定为目标应用程序,并同时进行预加载操作,也就是说多个目标应用程序的预加载过程可以是并行进行的)。
在一实施例中,可采用预测模型对待预加载的应用程序进行预测。该预测 模型可以是机器学习模型,所采用的算法可以包括循环神经网络(Recurrent neural networks,RNN)、长短期记忆(Long Short-Term Memory,LSTM)网络、门限循环单元、简单循环单元、自动编码器、决策树、随机森林、特征均值分类、分类回归树、隐马尔科夫、K最近邻(k-NearestNeighbor,KNN)算法、逻辑回归模型、贝叶斯模型、高斯模型以及KL散度(Kullback–Leibler divergence)等等。
在一实施例中,可在用户使用终端的过程中,采集训练样本,采用训练样本对预设初始模型进行训练,最终得到用于预测待预加载的应用程序的预测模型。示例性的,训练样本中包含的元素可包括应用程序被打开的时间序列或次序序列;可包括应用程序被打开的时间、地点以及频次等;可包括终端的运行状态,如移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、当前运行的应用程序、上一个前景应用程序、当前应用程序在后台停留的时长、当前应用程序最近一次被切换至后台的时间、耳机插孔的插拔状态、充电状态、电池电量信息以及屏幕显示时长等等;还可包括终端中集成的传感器采集到的数据,如运动传感器、光线传感器、温度传感器以及湿度传感器等等。
示例性的,可根据所选用的机器学习模型选择合适的样本元素,也可根据所选的样本元素确定所选用的机器学习模型,还可结合对预测准确度以及预设速度等方面的需求进行模型及样本元素的选择等,本申请实施例不做限定。
本申请实施例中,确定待预加载的目标应用程序可以包括根据预测模型之前的输出结果确定待预加载的目标应用程序,也可以包括利用预测模型进行预测,将预测模型的当前输出结果确定待预加载的目标应用程序。
在步骤103中,向所述目标应用程序发送伪造焦点通知,并基于所述伪造焦点通知进行所述目标应用程序对应的应用界面的绘制,其中,所述伪造焦点与前台应用对应的焦点相互独立。
本申请实施例中的焦点又称为输入焦点,伪造焦点与前台应用对应的焦点相互独立。一般的,对于目前的多数操作系统来说,焦点是唯一的,例如触摸等输入操作只对焦点生效,对于输入焦点信息,系统端和应用端是一致的,系统端一旦修改输入焦点信息,就会向应用发送输入焦点信息发生变化的信息,以此方法保证系统端和应用端输入焦点信息一致。本申请实施例中,通过分离系统端和应用端输入焦点信息的方式,实现应用端可伪造焦点的目的。本申请 实施例中,对预加载应用伪造焦点通知,使预加载应用具有焦点信息,而系统端的焦点信息仍然是正确的,这样处理可以使得预加载应用能够正常绘制,达到全部加载的目的。焦点存在于系统端和应用端,可认为是服务端(server)和客户端(client),系统端记录拥有焦点的应用,应用端保存标志位(flag)标识自己是否有焦点。
本申请实施例中对预加载的具体过程以及所加载的资源不做限定,例如可为待预加载应用程序分配相应的硬件资源,并基于分配的硬件资源加载启动所需的相关数据。示例性的,可包括应用进程启动、应用服务启动、内存分配、文件内容读取、网络数据获取以及界面渲染等。本申请实施例对各种类型的资源的预加载的时机也不做限定,因此,对伪造输入焦点的时机也不做限定。例如,伪造输入焦点的时机可以是当操作系统的窗口系统新增窗口,需要更新焦点时,生成伪造焦点通知并进行发送。
本申请实施例中,可以在显示屏幕外的区域进行目标应用程序的应用界面的绘制,也可在前台应用程序的下方进行目标应用程序的应用界面的绘制,可设置加载过程中的应用界面的可见属性为对用户不可见,对系统可见。
本申请实施例中提供的应用程序预加载方法,检测到应用预加载事件被触发后,确定待预加载的目标应用程序,向目标应用程序发送伪造焦点通知,并基于伪造焦点通知进行目标应用程序对应的应用界面的绘制,其中,伪造焦点与前台应用对应的焦点相互独立。通过采用上述技术方案,可以在不影响前台应用程序运行及界面绘制的情况下,对待预加载的应用程序的应用界面进行绘制,以实现该应用程序的预加载,该预加载方式能够较大程度地完成应用启动前的准备工作,提升目标应用程序的启动速度。
在一些实施例中,所述基于所述伪造焦点通知进行所述目标应用程序对应的应用界面的绘制,包括:基于所述伪造焦点通知在预先创建的预加载活动窗口堆栈绘制并显示所述目标应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。这样设置的好处在于,可以基于在显示屏幕外面创建的预加载活动窗口堆栈对需要进行预加载的应用程序的应用界面进行绘制,进一步避免对前台应用程序的影响。
本申请实施例中,活动窗口可理解为一个独立的直接面向用户提供交互和操作的界面,在不同的操作系统中可能采用不同的名词来命名该界面。为了便于理解,下面以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进行应用界面的绘制并显示等。
在一些实施例中,所述基于所述伪造焦点通知在预先创建的预加载活动窗口堆栈绘制并显示所述目标应用程序对应的应用界面之后,还包括:在检测到所述目标应用程序的预加载时长达到预设时长时,向其他待预加载的应用程序发送伪造焦点通知,以结束所述目标应用程序的应用界面的绘制。这样设置的好处在于,当目标应用程序的预加载完成时,或者预加载时长已经达到设定好 的时间时,可以结束应用界面绘制,向其他待预加载的应用程序发送伪造焦点通知,让下一个待预加载的应用程序能够获得伪造焦点并进行应用界面绘制。当向其他应用程序发送伪造焦点通知时,取消目标应用程序占有的伪造焦点,防止伪造过多的伪造焦点,影响系统的稳定性。
在一些实施例中,所述预设时长大于或等于所述目标应用程序对应的启动广告或启动动画的播放时长。一些应用程序在启动的过程中,通常会播放一些广告或动画,广告或动画的播放时长通常为3秒至十几秒不等,在播放广告或动画期间,用户可能没办法进行任何操作,只能等待播放完毕,浪费用户的宝贵时间。本申请实施例这样设置的好处在于,能够在目标应用程序启动之前,在屏幕外播放完启动广告或启动动画,当目标应用程序启动时,可直接进入应用程序的主页面或其他用户可操作的界面,从而将目标应用程序的可操作时间点进一步提前,减少等待时间。
在一些实施例中,所述向所述目标应用程序发送伪造焦点通知,包括:调用所述目标应用程序对应的活动窗口的客户端的改变窗口焦点的方法,以使所述目标应用程序对应的活动窗口获得伪造焦点。在一实施例中,伪造焦点的方法可以是调用窗口(又称活动窗口)的client端的改变窗口焦点的方法,使得该窗口获取焦点。对于Android(安卓)操作系统来说,可基于Binder机制进行伪造焦点通知的发送,Binder机制是Android系统的进程间通信的最常用的方式,采用c/s架构,即客户/服务架构。
在一些实施例中,在所述基于所述伪造焦点通知进行所述目标应用程序对应的应用界面的绘制之后,还包括:在接收到所述目标应用程序的运行指令时,将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。这样设置的好处在于,在目标应用程序真正需要启动的时候,直接将已经绘制好的应用界面迁移到显示屏幕进行显示,能够达到应用界面的快速切换,提高启动速度。
在一些实施例中,所述将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示,包括:将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的任务栈迁移至应用活动窗口堆栈的顶部;更新所述任务栈的尺寸信息、配置信息和可见性,以实现所述目标应用程序对应的应用界面在所述显示屏幕进行显示。这样设置的好处在于,能够保证界面迁移过程的稳定性,保证恢复过程不会出现卡屏、黑屏或迁移速度慢等 问题。
对于一些终端来说,例如手机及平板电脑等移动终端,为了方便用户的使用,显示屏幕的显示方式通常包括竖屏显示和横屏显示,许多应用程序默认采用竖屏方式进行显示,而有些应用程序默认采用横屏方式进行显示(如一些网络游戏),在终端的使用过程中,有些应用程序还会随着用户握持终端的方向而进行横竖屏显示的切换。在本申请的一些实施例中,所述预加载活动窗口堆栈对应的边界坐标为(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为屏幕高,即左边实线矩形范围内的区域为主屏幕显示区域,右边虚线矩形范围内的区域为预加载显示区域。
预加载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至步骤508。
在步骤501中,检测到应用预加载事件被触发时,确定待预加载的目标应用程序。
在步骤502中,创建目标应用程序对应的目标进程,并对目标进程进行初始化。
在步骤503中,在预加载活动窗口堆栈中创建目标应用程序对应的任务栈。
在步骤504中,基于所述目标进程在所述任务栈中启动所述目标应用程序对应的活动窗口。
在步骤505中,调用所述活动窗口的客户端的改变窗口焦点的方法,以使所述活动窗口获得伪造焦点。
在步骤506中,基于所述伪造焦点和所述活动窗口绘制并显示目标应用程序对应的应用界面。
在步骤507中,在检测到目标应用程序的预加载时长达到预设时长时,向其他待预加载的应用程序发送伪造焦点通知,以结束目标应用程序的应用界面的绘制。
在步骤508中,在接收到目标应用程序的运行指令时,将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的任务栈迁移至应用活动窗口堆栈的顶部。
在一实施例中,以应用活动窗口为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是可见的。
在步骤509中,更新任务栈的尺寸信息、配置信息和可见性,以实现目标应用程序对应的当前应用界面在显示屏幕进行显示。
可以理解的是,在预加载过程中,目标应用程序对应的应用界面处于持续的绘制及显示更新过程中,而用户真正启动目标应用程序的时机是不确定的,可能在预加载过程中就会接收到运行指令,那么可将当前在预加载Stack中显示的应用界面迁移到显示屏幕中进行显示。若用户在预加载完成之后,打开目标应用程序,那么可将预加载完成时的最后一个应用界面迁移到显示屏幕中进行显示。
在一实施例中,更新任务栈的尺寸信息、配置信息是为了改变应用的边界,具体可包括:主动更新size和configuration信息。仅仅使用上面的task迁移操作无法立即改变task的size和configuration,所以可主动调用修改task size和configuration的方法,保证该应用状态正确,可以正常地在前台工作。
在一实施例中,更新task可见是因为,在更新了size和configuration后,此时目标应用可能还不可见,调用更新新stack可见性的方法,由顶部至底部搜索可见的应用,设置为可见,并更新对应的窗口surface可见。其中,可见的应用判断方法可包括:在zorder上未被其他应用遮挡;未被锁屏遮挡;应用的顶部activity的状态是非正在初始化或者非退出状态。
本申请实施例提供的应用程序预加载方法,可以基于在显示屏幕外面创建的预加载活动窗口堆栈对需要进行预加载的应用程序的应用界面进行绘制及显示,较大程度地完成应用启动前的准备工作,且不会影响到前台应用程序的显示内容在显示屏幕上的显示,当目标应用程序被真正启动时,直接将预加载好的应用界面迁移到显示屏幕进行显示,从而有效提升启动速度。
图6为本申请实施例提供的一种应用程序预加载装置的结构框图,该装置可由软件和/或硬件实现,一般集成在终端中,可通过执行应用程序预加载方法来进行应用程序的预加载。如图6所示,该装置包括:事件触发检测模块601、 应用确定模块602、伪造焦点通知发送模块603和界面绘制模块604。
事件触发检测模块601,设置为检测应用预加载事件是否被触发。
应用确定模块602,设置为在检测到应用预加载事件被触发后,确定待预加载的目标应用程序。
伪造焦点通知发送模块603,设置为向所述目标应用程序发送伪造焦点通知;其中,所述伪造焦点与前台应用对应的焦点相互独立。
界面绘制模块604,设置为基于所述伪造焦点通知进行所述目标应用程序对应的应用界面的绘制。
本申请实施例提供的应用程序预加载装置,可以在不影响前台应用程序运行及界面绘制的情况下,对待预加载的应用程序的应用界面进行绘制,以实现该应用程序的预加载,该预加载方式能够较大程度地完成应用启动前的准备工作,提升目标应用程序的启动速度。
在一实施例中,所述基于所述伪造焦点通知进行所述目标应用程序对应的应用界面的绘制,包括:
基于所述伪造焦点通知在预先创建的预加载活动窗口堆栈绘制并显示所述目标应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。
在一实施例中,该装置还包括:
加载时长检测模块,设置为在所述基于所述伪造焦点通知在预先创建的预加载活动窗口堆栈绘制并显示所述目标应用程序对应的应用界面之后,在检测到所述目标应用程序的预加载时长达到预设时长时,向其他待预加载的应用程序发送伪造焦点通知,以结束所述目标应用程序的应用界面的绘制。
在一实施例中,所述预设时长大于或等于所述目标应用程序对应的启动广告或启动动画的播放时长。
在一实施例中,所述界面绘制模块还设置为:
判断是否存在预先创建的预加载活动窗口堆栈;响应于不存在预先创建的预加载活动窗口堆栈,按照预设规则创建预加载活动窗口堆栈,并基于所述伪造焦点通知在所创建的预加载活动窗口堆栈绘制并显示所述目标应用程序对应的应用界面;响应于存在预先创建的预加载活动窗口堆栈,基于所述伪造焦点通知在所述预先创建的预加载活动窗口堆栈绘制并显示所述目标应用程序对应的应用界面。
在一实施例中,所述向所述目标应用程序发送伪造焦点通知,包括:
调用所述目标应用程序对应的活动窗口的客户端的改变窗口焦点的方法,以使所述目标应用程序对应的活动窗口获得伪造焦点。
在一实施例中,该装置还包括:
界面迁移模块,设置为在所述基于所述伪造焦点通知进行所述目标应用程序对应的应用界面的绘制之后,在接收到所述目标应用程序的运行指令时,将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。
在一实施例中,所述界面迁移模块还设置为:
将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的任务栈迁移至应用活动窗口堆栈的顶部;更新所述任务栈的尺寸信息、配置信息和可见性。
在一实施例中,所述预加载活动窗口堆栈对应的边界坐标为(H,0,2H,H),所述边界坐标对应的坐标系为系统坐标,所述系统坐标的原点为所述显示屏幕的左上角,H为所述显示屏幕的显示区域的长边长度。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行应用程序预加载方法,该方法包括:
检测到应用预加载事件被触发;
确定待预加载的目标应用程序;
向所述目标应用程序发送伪造焦点通知,并基于所述伪造焦点通知进行所述目标应用程序对应的应用界面的绘制,其中,所述伪造焦点与前台应用对应的焦点相互独立。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDRRAM、SRAM、EDORAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机 用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的应用程序预加载操作,还可以执行本申请任意实施例所提供的应用程序预加载方法中的相关操作。
本申请实施例提供了一种终端,该终端中可集成本申请实施例提供的应用程序预加载装置。图7为本申请实施例提供的一种终端的结构示意图。终端700可以包括:存储器701,处理器702及存储在存储器701上并可在处理器702运行的计算机程序,所述处理器702执行所述计算机程序时实现如本申请实施例所述的应用程序预加载方法。
本申请实施例提供的终端,可以在不影响前台应用程序运行及界面绘制的情况下,对待预加载的应用程序的应用界面进行绘制,以实现该应用程序的预加载,该预加载方式能够较大程度地完成应用启动前的准备工作,提升目标应用程序的启动速度。
图8为本申请实施例提供的另一种终端的结构示意图,该终端可以包括:壳体(图中未示出)、存储器801、中央处理器(central processing unit,CPU)802(又称处理器,以下简称CPU)、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU802和所述存储器801设置在所述电路板上;所述电源电路,设置为为所述终端的各个电路或器件供电;所述存储器801,设置为存储可执行程序代码;所述CPU802通过读取所述存储器801中存储的可执行程序代码来运行与所述可执行程序代码对应的计算机程序,以实现以下步骤:
检测到应用预加载事件被触发;
确定待预加载的目标应用程序;
向所述目标应用程序发送伪造焦点通知,并基于所述伪造焦点通知进行所述目标应用程序对应的应用界面的绘制,其中,所述伪造焦点与前台应用对应的焦点相互独立。
所述终端还包括:外设接口803、射频(Radio Frequency,RF)电路805、音频电路806、扬声器811、电源管理芯片808、输入/输出(I/O)子系统809、其他输入/控制设备810、触摸屏812、其他输入/控制设备810以及外部端口 804,这些部件通过一个或多个通信总线或信号线807来通信。
应该理解的是,图示终端800仅仅是终端的一个范例,并且终端800可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的用于应用预加载的终端进行详细的描述,该终端以手机为例。
存储器801,所述存储器801可以被CPU802、外设接口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可以与以下任一个连接:键盘、红外端口、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. 根据权利要求2所述的方法,在所述基于所述伪造焦点通知在预先创建的预加载活动窗口堆栈绘制并显示所述目标应用程序对应的应用界面之后,还包括:
    在检测到所述目标应用程序的预加载时长达到预设时长时,向其他待预加载的应用程序发送伪造焦点通知,以结束所述目标应用程序的应用界面的绘制。
  4. 根据权利要求3所述的方法,其中,所述预设时长大于或等于所述目标应用程序对应的启动广告或启动动画的播放时长。
  5. 根据权利要求3所述的方法,其中,所述基于所述伪造焦点通知在预先创建的预加载活动窗口堆栈绘制并显示所述目标应用程序对应的应用界面,包括:
    判断是否存在预先创建的预加载活动窗口堆栈;
    响应于不存在预先创建的预加载活动窗口堆栈,按照预设规则创建预加载活动窗口堆栈,并基于所述伪造焦点通知在所创建的预加载活动窗口堆栈绘制并显示所述目标应用程序对应的应用界;
    响应于存在预先创建的预加载活动窗口堆栈,基于所述伪造焦点通知在所述预先创建的预加载活动窗口堆栈绘制并显示所述目标应用程序对应的应用界面。
  6. 根据权利要求1所述的方法,其中,所述向所述目标应用程序发送伪造焦点通知,包括:
    调用所述目标应用程序对应的活动窗口的客户端的改变窗口焦点的方法, 以使所述目标应用程序对应的活动窗口获得伪造焦点。
  7. 根据权利要求2所述的方法,在所述基于所述伪造焦点通知进行所述目标应用程序对应的应用界面的绘制之后,还包括:
    在接收到所述目标应用程序的运行指令时,将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。
  8. 根据权利要求2所述的方法,其中,所述将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示,包括:
    将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的任务栈迁移至应用活动窗口堆栈的顶部;更新所述任务栈的尺寸信息、配置信息和可见性。
  9. 根据权利要求2所述的方法,其中,所述预加载活动窗口堆栈对应的边界坐标为(H,0,2H,H),所述边界坐标对应的坐标系为系统坐标,所述系统坐标的原点为所述显示屏幕的左上角,H为所述显示屏幕的显示区域的长边长度。
  10. 一种应用程序预加载装置,包括:
    事件触发检测模块,设置为检测应用预加载事件是否被触发;
    应用确定模块,设置为在检测到应用预加载事件被触发后,确定待预加载的目标应用程序;
    伪造焦点通知发送模块,设置为向所述目标应用程序发送伪造焦点通知;其中,所述伪造焦点与前台应用对应的焦点相互独立;
    界面绘制模块,设置为基于所述伪造焦点通知进行所述目标应用程序对应的应用界面的绘制。
  11. 根据权利要求10所述的装置,其中,所述界面绘制模块还设置为:
    基于所述伪造焦点通知在预先创建的预加载活动窗口堆栈绘制并显示所述目标应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。
  12. 根据权利要求10所述的装置,还包括:
    加载时长检测模块,设置为在检测到所述目标应用程序的预加载时长达到预设时长时,向其他待预加载的应用程序发送伪造焦点通知,以结束所述目标应用程序的应用界面的绘制。
  13. 根据权利要求12所述的装置,其中,所述预设时长大于或等于所述目标应用程序对应的启动广告或启动动画的播放时长。
  14. 根据权利要求12所述的装置,所述界面绘制模块还设置为:
    判断是否存在预先创建的预加载活动窗口堆栈;
    响应于不存在预先创建的预加载活动窗口堆栈,按照预设规则创建预加载活动窗口堆栈,并基于所述伪造焦点通知在所创建的预加载活动窗口堆栈绘制并显示所述目标应用程序对应的应用界面;
    响应于存在预先创建的预加载活动窗口堆栈,基于所述伪造焦点通知在所述预先创建的预加载活动窗口堆栈绘制并显示所述目标应用程序对应的应用界面。
  15. 根据权利要求10所述的装置,其中,所述伪造焦点通知发送模块还设置为:
    调用所述目标应用程序对应的活动窗口的客户端的改变窗口焦点的方法,以使所述目标应用程序对应的活动窗口获得伪造焦点。
  16. 根据权利要求10所述的装置,还包括:
    界面迁移模块,设置为在接收到所述目标应用程序的运行指令时,将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。
  17. 根据权利要求16所述的装置,其中,所述界面迁移模块还设置为:
    将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的任务栈迁移至应用活动窗口堆栈的顶部;更新所述任务栈的尺寸信息、配置信息和可见性。
  18. 根据权利要求11所述的装置,其中,所述预加载活动窗口堆栈对应的边界坐标为(H,0,2H,H),所述边界坐标对应的坐标系为系统坐标,所述系统坐标的原点为所述显示屏幕的左上角,H为所述显示屏幕的显示区域的长边长度。
  19. 一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-9中任一所述的应用程序预加载方法。
  20. 一种终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-9任一所述的应用程序预加载方法。
PCT/CN2019/084790 2018-05-10 2019-04-28 应用程序预加载方法以及装置、存储介质及终端 WO2019214477A1 (zh)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2019214477A1 true WO2019214477A1 (zh) 2019-11-14

Family

ID=63754177

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/084790 WO2019214477A1 (zh) 2018-05-10 2019-04-28 应用程序预加载方法以及装置、存储介质及终端

Country Status (2)

Country Link
CN (1) CN108647056B (zh)
WO (1) WO2019214477A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595227A (zh) 2018-05-10 2018-09-28 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及移动终端
CN108595228B (zh) 2018-05-10 2021-03-12 Oppo广东移动通信有限公司 应用程序预测模型建立方法、装置、存储介质及移动终端
CN108647056B (zh) * 2018-05-10 2020-04-24 上海瑾盛通信科技有限公司 应用程序预加载方法、装置、存储介质及终端
CN108710513B (zh) 2018-05-15 2020-07-21 Oppo广东移动通信有限公司 应用程序启动方法、装置、存储介质及终端
CN108804157A (zh) 2018-06-05 2018-11-13 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端
CN113268286A (zh) * 2021-06-09 2021-08-17 深圳市火乐科技发展有限公司 一种应用启动方法、装置、投影设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104298554A (zh) * 2013-07-15 2015-01-21 北京三星通信技术研究有限公司 管理多任务应用程序的方法及装置
US20150026415A1 (en) * 2013-07-19 2015-01-22 Samsung Electronics Co., Ltd. Adaptive application caching for mobile devices
CN104461242A (zh) * 2014-12-08 2015-03-25 深圳市嘉乐派科技有限公司 一种基于Android操作系统的多窗口界面实现方法
CN108647056A (zh) * 2018-05-10 2018-10-12 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端
CN108647052A (zh) * 2018-04-28 2018-10-12 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7478204B2 (en) * 2004-04-29 2009-01-13 International Business Machines Corporation Efficient sharing of memory between applications running under different operating systems on a shared hardware system
KR20130054076A (ko) * 2011-11-16 2013-05-24 삼성전자주식회사 복수 개의 어플리케이션을 프리로딩하는 터치스크린을 가지는 장치 및 그 제어 방법
CN102841804B (zh) * 2012-06-27 2014-12-10 北京三星通信技术研究有限公司 同屏多前台任务处理方法及装置
CN103106000B (zh) * 2013-01-23 2015-11-25 东莞宇龙通信科技有限公司 多焦点窗口的实现方法及通信终端
CN103376974A (zh) * 2013-06-28 2013-10-30 广州市动景计算机科技有限公司 一种窗口切换方法及装置
CN105094861A (zh) * 2014-05-06 2015-11-25 腾讯科技(深圳)有限公司 网页应用程序加载方法、装置及系统
CN104657183B (zh) * 2015-03-09 2018-11-09 联想(北京)有限公司 信息处理方法、装置及电子设备
CN105657522B (zh) * 2016-01-05 2019-06-28 深圳市金立通信设备有限公司 一种视频播放的方法以及终端
CN108595224B (zh) * 2018-04-28 2021-01-12 Oppo广东移动通信有限公司 应用程序提示方法、装置、存储介质及终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104298554A (zh) * 2013-07-15 2015-01-21 北京三星通信技术研究有限公司 管理多任务应用程序的方法及装置
US20150026415A1 (en) * 2013-07-19 2015-01-22 Samsung Electronics Co., Ltd. Adaptive application caching for mobile devices
CN104461242A (zh) * 2014-12-08 2015-03-25 深圳市嘉乐派科技有限公司 一种基于Android操作系统的多窗口界面实现方法
CN108647052A (zh) * 2018-04-28 2018-10-12 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端
CN108647056A (zh) * 2018-05-10 2018-10-12 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及终端

Also Published As

Publication number Publication date
CN108647056B (zh) 2020-04-24
CN108647056A (zh) 2018-10-12

Similar Documents

Publication Publication Date Title
CN108614722B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108762843B (zh) 应用程序的预加载方法、装置、存储介质及智能终端
US11467855B2 (en) Application preloading method and device, storage medium and terminal
CN108363593B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108647055B (zh) 应用程序预加载方法、装置、存储介质及终端
US11604660B2 (en) Method for launching application, storage medium, and terminal
EP3575961B1 (en) Method and apparatus for updating application prediction model, storage medium, and terminal
CN108958830B (zh) 应用程序启动方法、装置、存储介质及终端
WO2019206213A1 (zh) 应用程序预加载方法、装置、存储介质及终端
WO2019218885A1 (zh) 应用程序预加载方法以及装置、存储介质及智能终端
US11099861B2 (en) Method for preloading application, storage medium, and terminal
WO2019214477A1 (zh) 应用程序预加载方法以及装置、存储介质及终端
CN108762831B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108595224B (zh) 应用程序提示方法、装置、存储介质及终端
WO2019218886A1 (zh) 应用预加载管理方法、装置、存储介质及智能终端
CN108776599B (zh) 预加载应用的管理方法、装置、存储介质及智能终端
CN108958828B (zh) 应用程序预加载方法、装置、存储介质及终端
WO2019214476A1 (zh) 屏幕方向设置方法以及装置、存储介质及终端
WO2019223511A1 (zh) 应用程序的预加载方法、装置、存储介质及终端
CN108762836B (zh) 预加载应用的管理方法、装置、存储介质及智能终端
WO2019214475A1 (zh) 应用程序预加载方法以及装置、存储介质及移动终端
CN108845838B (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: 19799426

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

Country of ref document: EP

Kind code of ref document: A1