WO2019233241A1 - Method and apparatus for starting application program, and storage medium and terminal - Google Patents

Method and apparatus for starting application program, and storage medium and terminal Download PDF

Info

Publication number
WO2019233241A1
WO2019233241A1 PCT/CN2019/086121 CN2019086121W WO2019233241A1 WO 2019233241 A1 WO2019233241 A1 WO 2019233241A1 CN 2019086121 W CN2019086121 W CN 2019086121W WO 2019233241 A1 WO2019233241 A1 WO 2019233241A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
preloaded
configuration information
target
active window
Prior art date
Application number
PCT/CN2019/086121
Other languages
French (fr)
Chinese (zh)
Inventor
韩世广
陈岩
Original Assignee
Oppo广东移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Publication of WO2019233241A1 publication Critical patent/WO2019233241A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Definitions

  • the embodiments of the present application relate to the technical field of application preloading, for example, to a method, a device, a storage medium, and a terminal for starting an application.
  • Terminals such as smartphones, tablets, laptops, and smart home appliances have become essential electronic devices in people's daily lives. With the continuous intelligentization of terminal devices, most terminal devices are loaded with operating systems, enabling terminal devices to install a variety of applications to meet different needs of users.
  • the embodiments of the present application provide a method, a device, a storage medium, and a terminal for starting an application program, which can optimize a startup solution for a pre-loaded application program in the terminal.
  • an embodiment of the present application provides a method for starting an application, including:
  • an embodiment of the present application provides an apparatus for starting an application program, including:
  • An application determining module configured to determine an application to be preloaded when an application preload event is detected to be triggered
  • An application preloading module configured to preload the application to be preloaded
  • the configuration information judging module is configured to judge the first pre-loaded first configuration information corresponding to the target application and the current display interface when a startup instruction of the target application included in the application to be preloaded is received. Whether the second configuration information is the same;
  • the first application startup module is configured to, in response to a determination result that the first configuration information is different from the second configuration information, prohibit an update operation of the first configuration information, and start an application based on the first configuration information
  • the target application is described.
  • an embodiment of the present application provides a computer-readable storage medium on which a computer program is stored.
  • the program is executed by a processor, the method for starting an application according to the first aspect of the embodiment of the present application is implemented.
  • an embodiment of the present application provides a terminal, including a memory, a processor, and a computer program stored in the memory and executable by the processor.
  • the processor executes the computer program, the implementation is implemented as in the embodiment of the present application.
  • an application to be preloaded is determined, and the application to be preloaded is preloaded.
  • the application to be preloaded is received, In the case of the start instruction of the target application contained in the target application, determine whether the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface, and respond to the first configuration information and the second configuration information. Different judgment results prohibit the update operation of the first configuration information, and start the target application based on the first configuration information.
  • the difference between the first configuration information corresponding to the pre-loaded target application and the second configuration information of the current display interface can effectively solve the slow startup speed and the stuck card of the pre-loaded target application. This problem can effectively improve the startup speed of the application to be preloaded.
  • FIG. 1 is a schematic flowchart of an application startup method according to an embodiment of the present application
  • FIG. 2 is a schematic diagram of a relative position relationship between a preloaded active window stack and a display screen display area according to an embodiment of the present application
  • FIG. 3 is a schematic diagram of a relative position relationship between another preloaded active window stack and a display screen display area according to an embodiment of the present application
  • FIG. 4 is a schematic diagram of application interface migration provided by an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of another application startup method according to an embodiment of the present application.
  • FIG. 6 is a schematic flowchart of another application startup method according to an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of an application program startup device according to an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a terminal according to an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of another terminal according to an embodiment of the present application.
  • FIG. 1 is a schematic flowchart of an application startup method provided by an embodiment of the present application.
  • the method may be executed by an application startup device, where the device may be implemented by software and / or hardware, and may generally be integrated in a terminal. As shown in Figure 1, the method includes:
  • Step 1010 In a case where it is detected that an application preload event is triggered, determine an application to be preloaded.
  • the terminal in the embodiments of the present application may include terminal devices such as a mobile phone, a tablet computer, a notebook computer, and smart home appliances.
  • the terminal is loaded with an operating system.
  • the triggering condition of the application preload event can be set according to the actual situation, which is not specifically limited in the embodiment of the present application.
  • an application preload event can be triggered when it is detected that the user's actions meet a preset condition (such as picking up the terminal, entering a screen to unlock an operation, or inputting a terminal to unlock an operation, etc.); or it can detect a change in the foreground application
  • the application preload event is triggered; or the application preload event can be triggered immediately (or after a preset time period has elapsed) after the prediction process of the preloaded application ends; or it can be triggered at regular intervals and so on.
  • the system can detect that the application preload event has been triggered by reading a flag bit or receiving a trigger instruction, and the specific detection method is not limited in this embodiment of the present application.
  • the application to be preloaded can be understood as an application that a user may be about to open, which can be a fixed application that is set in advance, or an application that is predicted in a certain manner, and the like.
  • the applications to be preloaded may include one or more.
  • a prediction model may be used to predict the pre-loaded application.
  • the prediction model can be a machine learning model.
  • the algorithms used can include Recurrent Neural Networks (RNN), Long Short-Term Memory (LSTM) networks, threshold recurring units, simple recurring units, simple recurring units, and automatic encoding. , Decision tree, random forest, feature mean classification, classification regression tree, hidden Markov, K-NearestNeighbor (KNN) algorithm, logistic regression model, Bayesian model, Gaussian model, and KL divergence (Kullback – Leibler divergence) and so on.
  • RNN Recurrent Neural Networks
  • KNN K-NearestNeighbor
  • training samples may be collected, and the preset initial model may be trained by using the training samples, and finally a prediction model for predicting the application to be preloaded may be obtained.
  • the elements included in the training sample may include a time series or sequence sequence in which the application is opened; may include the time, place, and frequency of the application being opened; and may include a running state of the terminal, such as a switch of a mobile data network Status, the connection status of the wireless hotspot, the identity information of the connected wireless hotspot, the currently running application, the previous foreground application, the length of time the current application stays in the background, the time when the current application was last switched to the background,
  • the plugging and unplugging status, charging status, battery power information, and screen display duration of the headphone jack can also include data collected by sensors integrated in the terminal, such as motion sensors, light sensors, temperature sensors, and humidity sensors.
  • an appropriate sample element can be selected according to the selected machine learning model, and the selected machine learning model can be determined according to the selected sample element. It can also be combined with the requirements of prediction accuracy and preset speed.
  • the selection of models and sample elements is not limited in the embodiments of the present application.
  • determining the application to be preloaded may include determining the application to be preloaded according to the output result before the prediction model, or may include performing prediction using the prediction model to determine the current output result of the prediction model to determine the application to be preloaded.
  • the prediction model may output the startup probability of each candidate application set in the candidate application set, and determine the candidate application with a higher startup probability as the standby application. Preload the application.
  • the determining an application to be preloaded includes: predicting a startup probability of a candidate application; and determining a preset number of candidate applications with a high startup probability as the application to be preloaded.
  • the candidate applications may include all applications installed in the terminal, and may also include some applications. Some applications may not include system applications or applications that are rarely used by users. This embodiment of the present application does not limit the manner and quantity of candidate application programs.
  • the candidate applications can be determined according to the number of times and / or the duration of use of multiple applications in a preset period before the current time.
  • the preset period is, for example, one month.
  • the corresponding threshold is exceeded, the corresponding application is determined as a candidate application, or multiple applications are sorted according to the number of uses and / or the duration of use, and the top-ranked application is determined as a candidate application.
  • the prediction model described above may be used to determine the startup probability of multiple candidate applications. For example, according to the training samples during prediction model training, current samples are collected, and the current samples are input into the prediction model to obtain the startup probability of multiple candidate applications.
  • the startup probability can be sorted from high to low, and the candidate N applications (N is a preset value) are determined as the applications to be loaded.
  • N is a preset value
  • Step 1020 Preload the application program to be preloaded.
  • the multiple applications to be preloaded may be determined one by one as the current one. Applications to be preloaded, and preloading operations are performed in sequence. It is also possible to determine more than two applications to be preloaded as the current to be preloaded applications, and perform preloading operations at the same time, that is, preloading of multiple applications.
  • the loading process can be performed in parallel.
  • the specific process of preloading and the loaded resources are not limited.
  • corresponding hardware resources can be allocated to the application to be preloaded, and related data required for startup can be loaded based on the allocated hardware resources.
  • it may include application configuration information, application process startup, application service startup, memory allocation, file content reading, network data acquisition, and interface rendering.
  • pre-loaded resources can be determined according to the specific type of application to be pre-loaded. For example, if the application to be preloaded is a social software, the startup screen, contact list, and recent message records in the application can be preloaded; if the application to be preloaded is a game, the application can be preloaded Game background related data.
  • Step 1030 In a case where a start instruction of the target application included in the application to be preloaded is received, determine the first preloaded configuration information corresponding to the target application and the second configuration of the current display interface. The information is the same.
  • the configuration information is mainly used to enable the application to obtain correct resources when it is started, and to ensure that the application can be displayed normally.
  • the first configuration information may include the font scaling of the text displayed on the display interface corresponding to the target application when the target application is started, the locale of the text, the size of the display interface, the layout of the display interface on the display screen, and the display boundary, etc. A series of content.
  • the second configuration information may include configuration information of an interface currently being displayed on the display screen of the terminal, that is, configuration information of the current display interface, where the second configuration information may also include a font scaling ratio of text displayed on the current display interface.
  • the system considers that when the target application is started based on the first configuration information, the target application will display an error, and the first configuration information is updated based on the second configuration information , This is easy to cause problems such as slow startup of the target application, stall.
  • the configuration of the first configuration information and the configuration of the second configuration information are basically the same.
  • the locale of the text that appears or the layout of the display interface on the display screen are different.
  • the locale of the text and the layout of the display interface on the display screen have no effect on the normal display of the application.
  • Step 1040 In response to a determination result that the first configuration information is different from the second configuration information, prohibit an update operation on the first configuration information, and start the target application program based on the first configuration information.
  • the update operation of the first configuration information may be prohibited, and may be directly based on the pre-loaded
  • the loaded first configuration information starts the target application program, which can effectively solve problems such as slow startup speed and stall of the target application program.
  • the pre-loaded first configuration information corresponding to the target application in response to a determination result that the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface, starting the target application based on the first configuration information .
  • the advantage of this setting is that it can effectively improve the startup speed of the application to be preloaded.
  • the application startup method determines an application to be preloaded when it is detected that an application preload event is triggered, and preloads the application to be preloaded, and upon receiving the application to be preloaded, In the case of a startup instruction of the target application included, it is determined whether the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface, in response to the first configuration information being different from the second configuration information As a result of the determination, the update operation of the first configuration information is prohibited, and the target application is started based on the first configuration information.
  • the difference between the first configuration information corresponding to the pre-loaded target application and the second configuration information of the current display interface can effectively solve the problem that the startup speed of the pre-loaded target application is slow, and the card is stuck. Problems such as pause can effectively improve the startup speed of the application to be preloaded.
  • pre-loading the application to be pre-loaded includes: pre-loading an application interface corresponding to the application to be pre-loaded based on a pre-created pre-loaded active window stack, wherein the pre-loading The boundary coordinates corresponding to the loading active window stack are outside the coordinate range of the display screen.
  • the active window may be understood as an independent interface that directly provides users with interaction and operation, and different terms may be used to name the interface in different operating systems.
  • the following description is made by taking an Android operating system as an example.
  • Activity is a component that is responsible for interacting with the user. Activity provides a screen (which can be understood as a screen interface instead of a physical display screen) for the user to interact with to complete a task. In an Android application, an Activity is usually a separate screen, which can display some controls or listen to and handle user events.
  • Task stack (Task) and activity window stack (Stack).
  • a Task corresponds to an application. A Task is used to store Activities. A Task can store one or more Activities, and these Activities follow the "first in, first out, last in, first out" principle. Stack is also used to manage Tasks.
  • a Stack manages Tasks that belong to multiple Activities that need to be displayed on a screen.
  • a Stack can manage one or more Tasks.
  • Stack also follows the basic management of the Stack. in principle.
  • 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 is 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), and the lower right corner
  • the coordinates are (c, d), 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 to be pre-loaded outside the display screen can be implemented based on the multi-window mechanism of the operating system, and the size corresponding to the application program is set outside the display screen through the multi-window mechanism to achieve For the purpose of being invisible to the user, so that the display content of the foreground application is not displayed on the display screen.
  • Stack represents the stack displayed by desktop applications
  • App Stack represents the third-party application display
  • a preloaded active window stack (preloaded stack) is added to indicate the stack displayed by the preloaded application, and the boundary coordinates of the preloaded stack are set outside the coordinate range of the display screen, and are to be preloaded
  • the application can be displayed on that Stack.
  • 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; you can also create after the application preload event is triggered (before you determine the application to be preloaded) and so on.
  • pre-loading an application interface corresponding to the application to be pre-loaded based on a pre-created pre-loaded active window stack includes: determining whether a pre-created pre-loaded active window stack exists; and responding to the pre-created As a result of the judgment that the preloaded active window stack does not exist, a preloaded active window stack is created according to a preset rule; based on the created preloaded active window stack, an application interface corresponding to the application to be preloaded is preloaded.
  • the advantage of this setting is that after determining the application to be preloaded, determine whether the preloaded stack exists. If the preloaded stack exists, you do not need to create a new one. If the preloaded stack does not exist, create it, which can save the system. Resources.
  • the preloading stack has been created before the first application to be preloaded starts to load. After that, the pre-loading stack exists before the second application to be pre-loaded starts to be loaded, and the above judgment may not be necessary.
  • the specific process of preloading the application interface corresponding to the application to be preloaded based on the preloaded stack is not limited, for example, the application interface may be drawn and displayed based on the size of the preloaded stack.
  • pre-loading an application interface corresponding to the application to be pre-loaded based on a pre-created pre-loaded active window stack includes: creating a target process corresponding to the application to be pre-loaded; A task stack corresponding to the application to be preloaded is created in a preloaded active window stack; an active window corresponding to the application to be preloaded is started in the task stack based on the target process; and drawn based on the started active window And an application interface corresponding to the application to be preloaded is displayed.
  • This setting is that it can draw and display the application interface of the pre-loaded application based on the pre-loaded active window stack outside the screen coordinate range, without interfering with the operation and display of the foreground application, ensuring system stability, and effective.
  • the initialization process of the target process can also be included.
  • pre-loading of other resources may also be involved, such as application service startup, memory allocation, file content reading, and network data acquisition.
  • the embodiments of this application do not limit the pre-loading process of other resources.
  • the method further includes: sending a fake focus notification to the application to be preloaded, and maintaining a continuous drawing of an application interface corresponding to the application to be preloaded for a preset period of time based on the fake focus notification. And display updates.
  • the advantage of this setting is that it can complete the drawing and display of the application interface when the application to be preloaded has the focus and is visible to the system, improving the completion of the preloading without affecting the focus of the foreground application.
  • the focus in the embodiments of the present application is also referred to as input focus, and the fake focus and the focus corresponding to the foreground application are independent of each other.
  • the focus is unique. For example, input operations such as touch only take effect on the focus.
  • the system side and the application side are consistent. Once the system side modifies the input focus information, it will report to the application. Sends information that the input focus information changes, this way to ensure that the input focus information of the system and application are 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.
  • a fake focus notification is sent to the preloaded application program, so that the preloaded application has focus information, and the system side focus information 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 duration of starting an advertisement or starting an animation in the application to be preloaded.
  • some advertisements or animations are usually played.
  • the duration of advertisements or animations usually ranges from 3 seconds to more than ten seconds.
  • users may not be able to perform any operations. 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 to be preloaded is launched.
  • the application to be preloaded When the application to be preloaded is launched, it can directly enter the main page of the application or other User-operable interface, which further advances the operable time point of the application to be preloaded, reducing waiting time.
  • the first configuration information includes an application boundary of an application interface corresponding to the target application
  • the second configuration information includes a display boundary of the current display interface
  • determining whether the target application corresponds to Whether the pre-loaded first configuration information is the same as the second configuration information of the current display interface includes: determining an application boundary of an application interface corresponding to the target application included in a pre-loaded active window stack and a display boundary of the current display interface Is it the same.
  • prohibiting an update operation of the first configuration information and starting the target application based on the first configuration information includes: prohibiting an update operation of an application interface corresponding to the target application, The application interface corresponding to the target application is migrated to the display screen for display based on the application boundary.
  • prohibiting an update operation of the first configuration information and starting the target application based on the first configuration information includes: applying an application interface corresponding to the target application based on the application boundary Migrating to the display screen for display, and prohibiting an update operation of an application interface corresponding to the target application.
  • the advantage of this setting is that it can effectively solve the problem of updating and restarting the application interface corresponding to the target application when the application boundary corresponding to the target application is different from the display boundary of the current display interface when the preloaded application is started. , Causing the target application to be easy to black screen when starting, slow startup speed and stuttering problems, and when the target application really needs to start, directly migrate the already drawn application interface to the display screen for display, can reach the application interface Fast switching to improve startup speed.
  • the first configuration information when an application interface corresponding to the application to be preloaded is preloaded based on a pre-created preloading active window stack, the first configuration information includes an application boundary of the application interface corresponding to the target application, and the second The configuration information includes the display boundaries of the current display interface.
  • 1.0 fontScale indicates the font scaling ratio
  • 460mcc indicates the mobile country code
  • 1mnc indicates the mobile network code
  • [zh_CN] indicates the locale
  • ldltr indicates the layout from left to right
  • sw360dp indicates the minimum screen size seen by the application in normal operation.
  • W360dp represents the current width of available screen space in dp
  • h685dp represents the current height of available screen space in dp
  • 480dpi represents the display screen density
  • nrml represents the screen size of the screen layout
  • long represents the screen layout
  • port represents Vertical screen
  • finger indicates the touch input method
  • appBounds Rect (0, 0, 1080, 2136) indicates the current display interface. Show boundaries.
  • an application interface corresponding to the application to be preloaded is preloaded based on a pre-created preloading active window stack
  • a start of a target application included in the application to be preloaded is received
  • the migration of the application interface corresponding to the application to the display screen for display will cause the target application to display abnormally, which will cause the application interface corresponding to the target application to be updated and restarted. This will easily cause a black screen when the target application starts, resulting in a slow startup speed. And Caton.
  • the application boundary in the first configuration information has no effect on the normal display of the target application. Therefore, in the embodiment of the present application, even if the application boundary in the first configuration information is different from the display boundary in the second configuration information, the update and restart operation of the application interface of the target application that has been preloaded is not performed.
  • the updating operation of the application interface corresponding to the target application may be prohibited first, and the application interface corresponding to the target application may be migrated to the display screen for display.
  • the application interface corresponding to the target application may also be migrated to the display screen for display, and the update operation of the application interface corresponding to the target application may be prohibited.
  • the migrating an application interface corresponding to the target application included in the preloaded active window stack to the display screen for display includes: The task stack corresponding to the target application is migrated to the top of the application active window stack; the size information, configuration information, and visibility of the task stack are updated to implement the application interface corresponding to the target application on the display screen display.
  • the display mode of the display screen usually includes vertical screen display and horizontal screen display.
  • Many applications use the vertical screen for display by default, and some applications By default, the program is displayed in landscape mode (such as some online games).
  • the program is displayed in landscape mode (such as some online games).
  • some applications will switch between horizontal and vertical display as the user holds the terminal.
  • a boundary coordinate corresponding to the preloaded active window stack is (H, 0, 2H, H)
  • a coordinate system corresponding to the boundary coordinate is a system coordinate
  • an origin of the system coordinate is In the upper left corner of the display screen
  • H is the length of the long side of the display area of the display screen.
  • FIG. 2 is a schematic diagram of a relative position relationship between a preloaded active window stack and a display screen display area according to an embodiment of the present application.
  • the display screen is in the vertical screen mode
  • the origin of the terminal system coordinates is the left vertex (0,0) of the display screen 201
  • the width direction of the display screen 201 is the X axis
  • the height direction is the Y axis.
  • FIG. 3 is a schematic diagram of a relative position relationship between another preloaded active window stack and a display screen display area according to an embodiment of the present application.
  • the display screen is in landscape mode
  • the origin of the terminal system coordinates is the left vertex (0,0) of the display screen 301
  • the height direction of the display screen 301 is the X axis
  • the width direction is the Y axis.
  • the boundary coordinates corresponding to loading Stack202 are (H, 0, 2H, H), where H is the screen height, that is, the area within the solid rectangle on the left is the main screen display area, and the area within the rectangle on the right dashed line is the preload display area.
  • the horizontal axis of the upper left corner is H, which is to prevent the display screen (also called the home screen) from being displayed on the pre-loaded application interface when the screen is horizontal, because the home screen has a horizontal screen mode in addition to the vertical screen mode.
  • the horizontal coordinate of the upper left corner of the rectangular area corresponding to the preloaded stack is set to the screen height.
  • the vertical coordinate of the upper left corner is 0, so that the preloaded application can correctly calculate the height of the status bar.
  • the Android application will customize the top status bar. If the corresponding vertical coordinate is not equal to 0, the height of the status bar may be wrong.
  • the embodiment of the present application sets the size of the preloaded stack to (H, 0, 2H, H).
  • FIG. 4 is a schematic diagram of an application interface migration provided by an embodiment of the present application.
  • the target application included in the preloaded active window stack is correspondingly mapped.
  • the application interface 401 is transferred to the display screen 201 for display.
  • the task to which the preloaded application interface belongs is moved to the top of the application activity window Stack, and the size information, configuration information, and visibility of the task are updated, so that the application interface can be displayed in the Normal display on the display screen.
  • FIG. 5 is a schematic flowchart of another application startup method according to an embodiment of the present application. The method includes the following steps:
  • Step 5010 In a case where it is detected that an application preload event is triggered, determine an application to be preloaded.
  • Step 5020 Pre-load an application interface corresponding to the application to be pre-loaded based on a pre-created pre-loading active window stack.
  • the boundary coordinates corresponding to the preloaded active window stack are located outside the coordinate range of the display screen.
  • Step 5030 In the case of receiving the start instruction of the target application included in the application to be preloaded, determining an application boundary and a current display of an application interface corresponding to the target application included in the preload active window stack Whether the display boundaries of the interface are the same; if so, step 5050 is performed, and in response to the determination result that the application boundary is different from the display boundary, step 5040 is performed.
  • Step 5040 Disable the update operation of the application interface corresponding to the target application based on the application boundary, and migrate the application interface corresponding to the target application to the display screen for display.
  • Step 5050 Migrate an application interface corresponding to the target application to the display screen for display based on an application boundary.
  • the application startup method preloads an application interface corresponding to an application to be preloaded based on a pre-created preloaded active window stack, wherein a boundary coordinate corresponding to the preloaded active window stack is within a coordinate range of a display screen.
  • a boundary coordinate corresponding to the preloaded active window stack is within a coordinate range of a display screen.
  • the application interface corresponding to the target application is updated and restarted, which causes the target application to be easily blanked and started at startup.
  • the problem of slow Caton and when the target really need to start the application directly to the application interface has been migrated to draw a good display screen display, can achieve fast switching applications interface, improve the startup speed.
  • FIG. 6 is a schematic flowchart of another application startup method according to an embodiment of the present application. The method includes the following steps:
  • Step 6010 When it is detected that an application preload event is triggered, determine an application to be preloaded.
  • Step 6020 Determine whether a pre-loaded active window stack exists in advance, and if so, execute step 6050, and execute step 6030 in response to a judgment result that the pre-created active window stack does not exist.
  • Step 6030 Create a preloaded active window stack according to a preset rule.
  • Step 6040 Pre-load an application interface corresponding to the application to be pre-loaded based on the created pre-loading active window stack.
  • Step 6050 Pre-load an application interface corresponding to the application to be pre-loaded based on a pre-created pre-loading active window stack.
  • the boundary coordinates corresponding to the preloaded active window stack are located outside the coordinate range of the display screen.
  • Step 6060 In a case where the start instruction of the target application included in the application to be preloaded is received, determine the application boundary and the current display of the application interface corresponding to the target application included in the preload active window stack Whether the display boundaries of the interface are the same; if so, step 6080 is performed, and in response to the determination result that the application boundary is different from the display boundary, step 6070 is performed.
  • Step 6070 Migrate an application interface corresponding to the target application to the display screen for display based on an application boundary, and prohibit an update operation of an application interface corresponding to the target application.
  • Step 6080 Migrate an application interface corresponding to the target application to the display screen for display based on an application boundary.
  • a pre-loaded active window stack is created according to a preset rule, and based on the created pre-loaded active window stack, pre-loading is to be performed.
  • the application interface corresponding to the loading application When receiving the start instruction of the target application included in the application to be preloaded, determine the application boundary and current display interface of the application interface corresponding to the target application included in the preloading active window stack. Whether the display boundaries are the same, in response to the determination result that the application boundaries are different from the display boundaries, the update operation of the application interface corresponding to the target application is prohibited, and the application interface corresponding to the target application is migrated to the display screen for display. This can not only ensure the stability of the interface migration process, ensure that no problems such as stuck screens, black screens, or slow migration speeds occur during the recovery process, but also achieve rapid switching of the application interface and improve startup speed.
  • FIG. 7 is a schematic structural diagram of an application startup device provided by an embodiment of the present application.
  • the device may be implemented by software and / or hardware, and is generally integrated in a terminal.
  • the application startup method may be executed to pre-start an application to be started. load.
  • the device includes: an application determining module 701 configured to determine an application to be preloaded when an application preloading event is detected to be triggered; and an application preloading module 702 configured to be Load the application program for preloading; the configuration information judgment module 703 is configured to, when receiving the start instruction of the target application program included in the application program to be preloaded, determine the preloaded corresponding to the target application program.
  • the first application startup module 704 is configured to, in response to a determination result that the first configuration information is different from the second configuration information, prohibit the first configuration information An update operation of configuration information, and starting the target application based on the first configuration information.
  • the application starting device determines that an application to be preloaded is detected when an application preload event is triggered, and preloads the application to be preloaded, and upon receiving the application to be preloaded In the case of the start instruction of the target application contained in the target application, determine whether the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface, and respond to the first configuration information and the second configuration information. Different judgment results prohibit the update operation of the first configuration information, and start the target application based on the first configuration information.
  • the difference between the first configuration information corresponding to the pre-loaded target application and the second configuration information of the current display interface can effectively solve the slow startup speed and the stuck card of the pre-loaded target application. This problem can effectively improve the startup speed of the application to be preloaded.
  • the device further includes a second application startup module configured to respond to a determination result that the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface, Starting the target application based on the first configuration information.
  • a second application startup module configured to respond to a determination result that the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface, Starting the target application based on the first configuration information.
  • the application preloading module is configured to preload an application interface corresponding to the application to be preloaded based on a pre-created preloading active window stack, wherein the preloading active window stack corresponds to The boundary coordinates of are outside the coordinate range of the display screen.
  • the first configuration information includes an application boundary of an application interface corresponding to the target application
  • the second configuration information includes a display boundary of the current display interface.
  • the configuration information determination module is configured to: : Determine whether the application boundary of the application interface corresponding to the target application included in the preloaded active window stack is the same as the display boundary of the current display interface.
  • the first application startup module is configured to: in response to a determination result that the application boundary is different from the display boundary, prohibit an update operation of an application interface corresponding to the target application, and The application interface corresponding to the target application is migrated to the display screen for display based on the application boundary.
  • the first application startup module is configured to: in response to a determination result that the application boundary is different from the display boundary, migrate an application interface corresponding to the target application based on the application boundary Display on the display screen, and prohibit an update operation of an application interface corresponding to the target application.
  • the application preloading module is configured to preload an application interface corresponding to the application to be preloaded based on a pre-created preloading activity window stack in the following manner: determine whether a pre-created preloading activity exists A window stack; in response to a judgment result that the preloaded active window stack does not exist, create a preloaded active window stack according to a preset rule; and preload an application interface corresponding to the application to be preloaded based on the created preloaded active window stack.
  • the application preloading module is configured to preload an application interface corresponding to the application to be preloaded based on a pre-created preloading active window stack in the following manner: to create a corresponding application program to be preloaded The target process; creating a task stack corresponding to the application to be preloaded in a pre-created preloaded active window stack; and starting an active window corresponding to the application to be preloaded in the task stack based on the target process Draw and display an application interface corresponding to the application to be preloaded based on the activated active window.
  • the application determining module is configured to determine an application to be preloaded by: predicting a startup probability of a plurality of candidate applications; and in accordance with an order of the startup probability from high to low, the first preset numerical values are The candidate application is determined as the application to be preloaded.
  • An embodiment of the present application further provides a storage medium including computer-executable instructions, which are executed by a computer processor to execute an application program startup method, and the method includes: detecting that an application preload event is In the case of triggering, determine the application to be preloaded; perform preloading on the application to be preloaded; and determine whether the target application included in the application to be preloaded has received the startup instruction of the target application. Whether the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface; in response to a determination result that the first configuration information is different from the second configuration information, prohibiting the An update operation, and starting the target application based on the first configuration information.
  • Storage medium any memory device or storage device.
  • storage medium is intended to include: installation media such as Compact Disc Read-Only Memory (CD-ROM), floppy disks or magnetic tape devices; computer system memory or random access memory, such as dynamic random access memory Access Memory (Dynamic Random Access Memory, DRAM), Double Data Rate Random Access Memory (DDR Random Access Memory, DDRRAM), Static Random Access Memory (Stat Random Access Memory, SRAM), Extended Data Output Random Access Memory Access memory (Extended Data Output Random Access Memory (EDORAM), Rambus Random Access Memory (RAM), etc.); Non-volatile memory, such as flash memory, magnetic media (such as hard disk or optical storage) ; Registers or other similar types of memory elements, etc.
  • the storage medium may also include other types of memory or multiple types of memory combinations.
  • the storage medium may be located in a first computer system in which the program is executed, or may be located in a different second computer system connected to the first computer system through a network such as the Internet.
  • the second computer system may provide program instructions to the first computer for execution.
  • the term "storage medium" may include two or more storage media that may reside in different locations, such as in different computer systems connected through a network.
  • the storage medium may store program instructions (for example, embodied as a computer program) executable by one or more processors.
  • a storage medium including computer-executable instructions provided in the embodiments of the present application is not limited to the application startup operation described above, and may also execute the application startup provided by any embodiment of the application. Related operations in the method.
  • FIG. 8 is a schematic structural diagram of a terminal according to an embodiment of the present application.
  • the terminal 800 may include: a memory 801, a processor 802, and a computer program stored in the memory and executable by the processor.
  • the processor 802 executes the computer program, the application program startup method according to the embodiment of the present application is implemented. .
  • the terminal provided in the embodiment of the present application can effectively solve the problem of slow startup of the preloaded target application due to the difference between the first configuration information corresponding to the preloaded target application and the second configuration information of the current display interface. And stutter issues can effectively improve the startup speed of the application to be preloaded.
  • FIG. 9 is a schematic structural diagram of another terminal according to an embodiment of the present application.
  • the terminal may include: a housing (not shown in FIG. 9), a memory 901, a central processing unit (CPU) 902 (also referred to as A processor, hereinafter referred to as a CPU), a circuit board (not shown in FIG. 9), and a power supply circuit (not shown in FIG. 9).
  • CPU central processing unit
  • FIG. 9 a power supply circuit
  • the circuit board is disposed in a space surrounded by the housing; the CPU 902 and the memory 901 are disposed on the circuit board; and the power supply circuit is configured to supply power to various circuits or devices of the terminal;
  • the memory 901 is configured to store executable program code; the CPU 902 runs a computer program corresponding to the executable program code by reading the executable program code stored in the memory 901 to implement the following steps: In a case where an application preload event is detected, determine an application to be preloaded; preload the application to be preloaded; and receive a start instruction of a target application included in the application to be preloaded In the case of determining whether the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface; in response to a determination result that the first configuration information is different from the second configuration information, prohibiting the An operation of updating the first configuration information, and starting the target application based on the first configuration information.
  • the terminal also includes a peripheral interface 903, a radio frequency (RF) circuit 905, an audio circuit 906, a speaker 911, a power management chip 908, an input / output (I / O) subsystem 909, and other input / control devices. 910, a touch screen 912, other input / control devices 910, and an external port 904. These components communicate through one or more communication buses or signal lines 907.
  • RF radio frequency
  • the terminal 900 shown in FIG. 9 is only an example of the terminal, and the terminal 900 may have more or fewer components than those shown in FIG. 9, and two or more components may be combined , Or can have different component configurations.
  • the various components shown in FIG. 9 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 startup provided in this embodiment, and the terminal uses a mobile phone as an example.
  • Memory 901 which can be accessed by CPU902, peripheral interface 903, etc.
  • the memory 901 can include high-speed random access memory, and can also include non-volatile memory, such as one or more disk storage devices, flash memory devices , Or other volatile solid-state storage devices.
  • the I / O subsystem 909 which can connect input / output peripherals on the device, such as touch screen 912 and other input / control devices 910, to peripheral interface 903.
  • the I / O subsystem 909 may include a display controller 9091 and one or more input controllers 9092 configured to control other input / control devices 910.
  • one or more input controllers 9092 receive electrical signals from or send electrical signals to other input / control devices 910.
  • the other input / control devices 910 may include physical buttons (press buttons, Rocker button, etc.), dial, slide switch, joystick, click wheel.
  • the input controller 9092 may be connected to any of the following: a keyboard, an infrared port, a universal serial bus (Universal Serial Bus, USB) interface, and a pointing device such as a mouse.
  • USB Universal Serial Bus
  • a touch screen 912 which is an input interface and an output interface between a user terminal and a user, and displays a visual output to the user.
  • the visual output may include graphics, text, icons, videos, and the like.
  • the display controller 9091 in the I / O subsystem 909 receives an electric signal from the touch screen 912 or sends an electric signal to the touch screen 912.
  • the touch screen 912 detects a contact on the touch screen, and the display controller 9091 converts the detected contact into interaction with a user interface object displayed on the touch screen 912, that is, realizes human-computer interaction.
  • the user interface object displayed on the touch screen 912 may be running Icons for games, icons connected to the appropriate network, etc.
  • the device may further include a light mouse, which is a touch-sensitive surface that does not display a visible output, or an extension of the touch-sensitive surface formed by a touch screen.
  • the RF circuit 905 is mainly configured to establish communication between a mobile phone and a wireless network (that is, a network side), and realize data reception and transmission of the mobile phone and the wireless network. For example, send and receive text messages, e-mail, and so on.
  • the RF circuit 905 receives and sends RF signals.
  • the RF signals are also referred to as electromagnetic signals.
  • the RF circuit 905 converts electrical signals into electromagnetic signals or converts electromagnetic signals into electrical signals, and communicates with the communication network through the electromagnetic signals. As well as other devices.
  • the RF circuit 905 may include known circuits for performing these functions.
  • the RF circuit 805 includes, but is not limited to, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, COder-DECoder (CODEC) chipset, Subscriber Identity Module (SIM), and so on.
  • an antenna system an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, COder-DECoder (CODEC) chipset, Subscriber Identity Module (SIM), and so on.
  • COder-DECoder COder-DECoder
  • SIM Subscriber Identity Module
  • the audio circuit 906 is mainly configured to receive audio data from the peripheral interface 903, convert the audio data into an electrical signal, and send the electrical signal to the speaker 911.
  • the speaker 911 is configured to restore a voice signal received by the mobile phone from the wireless network through the RF circuit 905 to a sound and play the sound to a user.
  • the power management chip 908 is configured to provide power and power management for the hardware connected to the CPU 902, the I / O subsystem, and peripheral interfaces.
  • the application startup device, storage medium, and terminal provided in the foregoing embodiments can execute the application startup method provided in any embodiment of the present application, and have corresponding function modules and beneficial effects for executing the method.
  • application program startup method provided in any embodiment of the present application.

Landscapes

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

Abstract

Disclosed are a method and apparatus for starting an application program, and a storage medium and a terminal. The method comprises: when it is detected that an application preload event is triggered, determining the application program to be preloaded; preloading the application program to be preloaded; when a start instruction of a target application program included in the application program to be preloaded is received, determining whether preloaded first configuration information corresponding to the target application program is the same as second configuration information of a current display interface; and in response to a determination result that the first configuration information is not the same as the second configuration information, prohibiting an update operation on the first configuration information, and starting the target application program on the basis of said first configuration information.

Description

应用程序启动方法、装置、存储介质及终端Application program starting method, device, storage medium and terminal
本公开要求在2018年06月06日提交中国专利局、申请号为201810574498.0的中国专利申请的优先权,该申请的全部内容通过引用结合在本公开中。The present disclosure claims the priority of a Chinese patent application filed with the Chinese Patent Office on June 06, 2018 with application number 201810574498.0, the entire contents of which are incorporated herein by reference.
技术领域Technical field
本申请实施例涉及应用程序预加载技术领域,例如涉及应用程序启动方法、装置、存储介质及终端。The embodiments of the present application relate to the technical field of application preloading, for example, to a method, a device, a storage medium, and a terminal for starting an application.
背景技术Background technique
诸如智能手机、平板电脑、笔记本电脑以及智能家电等终端已成为人们日常生活中必不可少的电子设备。随着终端设备不断地智能化,多数终端设备中都装载有操作***,使得终端设备能够安装丰富多样的应用程序,满足用户不同的需求。Terminals such as smartphones, tablets, laptops, and smart home appliances have become essential electronic devices in people's daily lives. With the continuous intelligentization of terminal devices, most terminal devices are loaded with operating systems, enabling terminal devices to install a variety of applications to meet different needs of users.
随着终端设备的配置不断提升,多数终端设备中可以安装几十甚至上百个应用程序,而随着应用程序的功能日益丰富,应用程序运行时所需加载的资源也越来越多。当用户选择启动一个应用程序时,终端会对该应用程序启动所需的资源进行加载,待加载完毕后,进入应用程序的初始界面,整个过程通常要花费数秒甚至十几秒的时间,导致应用程序的启动效率较低,亟需改进。With the continuous improvement of the configuration of terminal devices, dozens or even hundreds of applications can be installed in most terminal devices, and as the functions of applications become more and more abundant, more resources need to be loaded when the applications run. When the user chooses to start an application, the terminal will load the resources required for the application to start. After loading, the initial interface of the application is entered. The entire process usually takes several seconds or even ten seconds, resulting in the application. The start-up efficiency of the program is low and urgently needs improvement.
发明内容Summary of the Invention
本申请实施例提供应用程序启动方法、装置、存储介质及终端,可以优化终端中已预加载应用程序的启动方案。The embodiments of the present application provide a method, a device, a storage medium, and a terminal for starting an application program, which can optimize a startup solution for a pre-loaded application program in the terminal.
第一方面,本申请实施例提供了一种应用程序启动方法,包括:In a first aspect, an embodiment of the present application provides a method for starting an application, including:
在检测到应用预加载事件被触发的情况下,确定待预加载应用程序;Determine the application to be preloaded when it is detected that the application preload event is triggered;
对所述待预加载应用程序进行预加载;Preloading the application to be preloaded;
在接收到所述待预加载应用程序中包含的目标应用程序的启动指令的情况下,判断所述目标应用程序对应的已预加载的第一配置信息与当前显示界面的第二配置信息是否相同;When receiving the start instruction of the target application included in the application to be preloaded, determine whether the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface ;
响应于第一配置信息与第二配置信息不同的判断结果,禁止对所述第一配置信息的更新操作,并基于所述第一配置信息启动所述目标应用程序。In response to a determination result that the first configuration information is different from the second configuration information, an update operation on the first configuration information is prohibited, and the target application program is started based on the first configuration information.
第二方面,本申请实施例提供了一种应用程序启动装置,包括:In a second aspect, an embodiment of the present application provides an apparatus for starting an application program, including:
应用确定模块,设置为在检测到应用预加载事件被触发的情况下,确定待 预加载应用程序;An application determining module, configured to determine an application to be preloaded when an application preload event is detected to be triggered;
应用预加载模块,设置为对所述待预加载应用程序进行预加载;An application preloading module configured to preload the application to be preloaded;
配置信息判断模块,设置为在接收到所述待预加载应用程序中包含的目标应用程序的启动指令的情况下,判断所述目标应用程序对应的已预加载的第一配置信息与当前显示界面的第二配置信息是否相同;The configuration information judging module is configured to judge the first pre-loaded first configuration information corresponding to the target application and the current display interface when a startup instruction of the target application included in the application to be preloaded is received. Whether the second configuration information is the same;
第一应用启动模块,设置为响应于所述第一配置信息与所述第二配置信息不同的判断结果,禁止对所述第一配置信息的更新操作,并基于所述第一配置信息启动所述目标应用程序。The first application startup module is configured to, in response to a determination result that the first configuration information is different from the second configuration information, prohibit an update operation of the first configuration information, and start an application based on the first configuration information The target application is described.
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例第一方面所述的应用程序启动方法。In a third aspect, an embodiment of the present application provides a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the method for starting an application according to the first aspect of the embodiment of the present application is implemented.
第四方面,本申请实施例提供了一种终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例第一方面所述的应用程序启动方法。In a fourth aspect, an embodiment of the present application provides a terminal, including a memory, a processor, and a computer program stored in the memory and executable by the processor. When the processor executes the computer program, the implementation is implemented as in the embodiment of the present application. The application startup method described in the first aspect.
本申请实施例中提供的应用程序启动方案,在检测到应用预加载事件被触发的情况下,确定待预加载应用程序,并对待预加载应用程序进行预加载,在接收到待预加载应用程序中包含的目标应用程序的启动指令的情况下,判断目标应用程序对应的已预加载的第一配置信息与当前显示界面的第二配置信息是否相同,响应于第一配置信息与第二配置信息不同的判断结果,禁止对第一配置信息的更新操作,并基于第一配置信息启动目标应用程序。通过采用上述技术方案,可有效解决由于已预加载的目标应用程序对应的第一配置信息和当前显示界面的第二配置信息的不同,导致对已预加载的目标应用程序的启动速度慢及卡顿的问题,可以有效提升待预加载应用程序的启动速度。In the application startup solution provided in the embodiment of the present application, when an application preload event is detected to be triggered, an application to be preloaded is determined, and the application to be preloaded is preloaded. When the application to be preloaded is received, In the case of the start instruction of the target application contained in the target application, determine whether the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface, and respond to the first configuration information and the second configuration information. Different judgment results prohibit the update operation of the first configuration information, and start the target application based on the first configuration information. By adopting the above technical solution, the difference between the first configuration information corresponding to the pre-loaded target application and the second configuration information of the current display interface can effectively solve the slow startup speed and the stuck card of the pre-loaded target application. This problem can effectively improve the startup speed of the application to be preloaded.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1为本申请实施例提供的一种应用程序启动方法的流程示意图;FIG. 1 is a schematic flowchart of an application startup method according to an embodiment of the present application; FIG.
图2为本申请实施例提供的一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图;2 is a schematic diagram of a relative position relationship between a preloaded active window stack and a display screen display area according to an embodiment of the present application;
图3为本申请实施例提供的另一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图;3 is a schematic diagram of a relative position relationship between another preloaded active window stack and a display screen display area according to an embodiment of the present application;
图4为本申请实施例提供的一种应用界面迁移示意图;4 is a schematic diagram of application interface migration provided by an embodiment of the present application;
图5为本申请实施例提供的另一种应用程序启动方法的流程示意图;FIG. 5 is a schematic flowchart of another application startup method according to an embodiment of the present application; FIG.
图6为本申请实施例提供的另一种应用程序启动方法的流程示意图;FIG. 6 is a schematic flowchart of another application startup method according to an embodiment of the present application; FIG.
图7为本申请实施例提供的一种应用程序启动装置的结构示意图;7 is a schematic structural diagram of an application program startup device according to an embodiment of the present application;
图8为本申请实施例提供的一种终端的结构示意图;8 is a schematic structural diagram of a terminal according to an embodiment of the present application;
图9为本申请实施例提供的另一种终端的结构示意图。FIG. 9 is a schematic structural diagram of another terminal according to an embodiment of the present application.
具体实施方式Detailed ways
下面结合附图并通过具体实施方式来进一步说明本申请的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。The technical solutions of the present application will be further described below with reference to the accompanying drawings and specific embodiments. It can be understood that the specific embodiments described herein are only used to explain the present application, rather than limiting the present application. It should also be noted that, for convenience of description, the drawings only show a part of the structure related to the present application, but not the entire structure.
图1为本申请实施例提供的应用程序启动方法的流程示意图,该方法可以由应用程序启动装置执行,其中该装置可由软件和/或硬件实现,一般可集成在终端中。如图1所示,该方法包括:FIG. 1 is a schematic flowchart of an application startup method provided by an embodiment of the present application. The method may be executed by an application startup device, where the device may be implemented by software and / or hardware, and may generally be integrated in a terminal. As shown in Figure 1, the method includes:
步骤1010、在检测到应用预加载事件被触发的情况下,确定待预加载应用程序。Step 1010: In a case where it is detected that an application preload event is triggered, determine an application to be preloaded.
示例性的,本申请实施例中的终端可包括手机、平板电脑、笔记本电脑以及智能家电等终端设备。终端中装载有操作***。Exemplarily, the terminal in the embodiments of the present application may include terminal devices such as a mobile phone, a tablet computer, a notebook computer, and smart home appliances. The terminal is loaded with an operating system.
示例性的,应用预加载事件的触发条件可以根据实际情况设置,本申请实施例不作具体限定。例如,可以在检测到用户的动作满足预设条件(如拿起终端、输入屏幕解锁操作或输入终端解锁操作等)的情况下,触发应用预加载事件;或者可以在检测到前台应用程序发生变更的情况下,触发应用预加载事件;或者可以在预加载应用的预测流程结束后,立即(或经过预设时长后)触发应用预加载事件;或者可以定时间隔触发等等。在应用预加载事件被触发后,***可以通过读取标志位或接收触发指令等方式检测到应用预加载事件已被触发,具体的检测方式本申请实施例也不做限定。Exemplarily, the triggering condition of the application preload event can be set according to the actual situation, which is not specifically limited in the embodiment of the present application. For example, an application preload event can be triggered when it is detected that the user's actions meet a preset condition (such as picking up the terminal, entering a screen to unlock an operation, or inputting a terminal to unlock an operation, etc.); or it can detect a change in the foreground application In the case of an application, the application preload event is triggered; or the application preload event can be triggered immediately (or after a preset time period has elapsed) after the prediction process of the preloaded application ends; or it can be triggered at regular intervals and so on. After the application preload event is triggered, the system can detect that the application preload event has been triggered by reading a flag bit or receiving a trigger instruction, and the specific detection method is not limited in this embodiment of the present application.
示例性的,待预加载应用程序可以理解为用户可能即将打开的应用程序,可以是预先设置好的固定的应用程序,也可以是采用一定的方式预测出来的应用程序等。待预加载应用程序可以包括一个或多个。Exemplarily, the application to be preloaded can be understood as an application that a user may be about to open, which can be a fixed application that is set in advance, or an application that is predicted in a certain manner, and the like. The applications to be preloaded may include one or more.
在一实施例中,可采用预测模型对待预加载应用程序进行预测。该预测模型可以是机器学习模型,所采用的算法可以包括循环神经网络(Recurrent neural networks,RNN)、长短期记忆(Long Short-Term Memory,LSTM)网络、门限循环单元、简单循环单元、自动编码器、决策树、随机森林、特征均值分类、分类回归树、隐马尔科夫、K最近邻(k-NearestNeighbor,KNN)算法、逻辑回归模型、贝叶斯模型、高斯模型以及KL散度(Kullback–Leibler divergence)等等。In one embodiment, a prediction model may be used to predict the pre-loaded application. The prediction model can be a machine learning model. The algorithms used can include Recurrent Neural Networks (RNN), Long Short-Term Memory (LSTM) networks, threshold recurring units, simple recurring units, simple recurring units, and automatic encoding. , Decision tree, random forest, feature mean classification, classification regression tree, hidden Markov, K-NearestNeighbor (KNN) algorithm, logistic regression model, Bayesian model, Gaussian model, and KL divergence (Kullback – Leibler divergence) and so on.
在一实施例中,可在用户使用终端的过程中,采集训练样本,采用训练样本对预设初始模型进行训练,最终得到用于预测待预加载应用程序的预测模型。示例性的,训练样本中包含的元素可包括应用程序被打开的时间序列或次序序列;可包括应用程序被打开的时间、地点以及频次等;可包括终端的运行状态,如移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份 信息、当前运行的应用程序、上一个前景应用程序、当前应用程序在后台停留的时长、当前应用程序最近一次被切换至后台的时间、耳机插孔的插拔状态、充电状态、电池电量信息以及屏幕显示时长等等;还可包括终端中集成的传感器采集到的数据,如运动传感器、光线传感器、温度传感器以及湿度传感器等等。In an embodiment, during the process of using the terminal by the user, training samples may be collected, and the preset initial model may be trained by using the training samples, and finally a prediction model for predicting the application to be preloaded may be obtained. Exemplarily, the elements included in the training sample may include a time series or sequence sequence in which the application is opened; may include the time, place, and frequency of the application being opened; and may include a running state of the terminal, such as a switch of a mobile data network Status, the connection status of the wireless hotspot, the identity information of the connected wireless hotspot, the currently running application, the previous foreground application, the length of time the current application stays in the background, the time when the current application was last switched to the background, The plugging and unplugging status, charging status, battery power information, and screen display duration of the headphone jack; it can also include data collected by sensors integrated in the terminal, such as motion sensors, light sensors, temperature sensors, and humidity sensors.
示例性的,可根据所选用的机器学习模型选择合适的样本元素,也可根据所选的样本元素确定所选用的机器学习模型,还可结合对预测准确度以及预设速度等方面的需求进行模型及样本元素的选择等,本申请实施例不做限定。Exemplarily, an appropriate sample element can be selected according to the selected machine learning model, and the selected machine learning model can be determined according to the selected sample element. It can also be combined with the requirements of prediction accuracy and preset speed. The selection of models and sample elements is not limited in the embodiments of the present application.
本申请实施例中,确定待预加载应用程序可以包括根据预测模型之前的输出结果确定待预加载应用程序,也可以包括利用预测模型进行预测,将预测模型的当前输出结果确定待预加载应用程序。In the embodiment of the present application, determining the application to be preloaded may include determining the application to be preloaded according to the output result before the prediction model, or may include performing prediction using the prediction model to determine the current output result of the prediction model to determine the application to be preloaded. .
本申请实施例中,当待预加载应用程序为多个(N个)时,预测模型可以输出候选应用程序集合中每个候选应用集合的启动概率,将启动概率较高的候选应用确定为待预加载应用程序。在一实施例中,所述确定待预加载应用程序,包括:预测候选应用程序的启动概率;将启动概率较高的预设数值个候选应用程序确定为待预加载应用程序。示例性的,候选应用程序可包括终端中安装的所有应用程序,也可包括部分应用程序。部分应用程序可以不包含***应用程序,还可以不包含用户很少使用的应用程序。本申请实施例对候选应用程序的确定方式以及数量不做限定。在一实施例中,可根据当前时刻之前的预设时段内多个应用程序的使用次数和/或使用时长确定候选应用程序,预设时段例如是1个月,当使用次数和/或使用时长超过相应的阈值时,将所对应的应用程序确定为候选应用程序,或者,按照使用次数和/或使用时长对多个应用程序进行排序,将排名靠前的应用程序确定为候选应用程序。In the embodiment of the present application, when there are multiple (N) applications to be preloaded, the prediction model may output the startup probability of each candidate application set in the candidate application set, and determine the candidate application with a higher startup probability as the standby application. Preload the application. In an embodiment, the determining an application to be preloaded includes: predicting a startup probability of a candidate application; and determining a preset number of candidate applications with a high startup probability as the application to be preloaded. Exemplarily, the candidate applications may include all applications installed in the terminal, and may also include some applications. Some applications may not include system applications or applications that are rarely used by users. This embodiment of the present application does not limit the manner and quantity of candidate application programs. In an embodiment, the candidate applications can be determined according to the number of times and / or the duration of use of multiple applications in a preset period before the current time. The preset period is, for example, one month. When the corresponding threshold is exceeded, the corresponding application is determined as a candidate application, or multiple applications are sorted according to the number of uses and / or the duration of use, and the top-ranked application is determined as a candidate application.
示例性的,可采用上文所述的预测模型来确定多个候选应用程序的启动概率。例如,按照预测模型训练时的训练样本,采集当前样本,将当前样本输入至预测模型中,得到多个候选应用程序的启动概率。可对启动概率进行由高到低的排序,将排在前N(N为预设数值)的候选应用程序确定为待加载应用程序。这样设置的好处在于,能够对多个应用程序进行预加载,且这多个应用程序是根据启动概率来确定的,可以提高预测的准确性。Exemplarily, the prediction model described above may be used to determine the startup probability of multiple candidate applications. For example, according to the training samples during prediction model training, current samples are collected, and the current samples are input into the prediction model to obtain the startup probability of multiple candidate applications. The startup probability can be sorted from high to low, and the candidate N applications (N is a preset value) are determined as the applications to be loaded. The advantage of this setting is that multiple applications can be preloaded, and these multiple applications are determined based on the startup probability, which can improve the accuracy of the prediction.
步骤1020、对所述待预加载应用程序进行预加载。Step 1020: Preload the application program to be preloaded.
本申请实施例中,当待预加载应用程序仅有一个时,无需考虑应用的预加载顺序;而当待预加载应用程序有多个时,可将多个待预加载应用程序逐一确定为当前待预加载应用程序,并依次进行预加载操作,也可将2个以上的待预加载应用程序确定为当前待预加载应用程序,并同时进行预加载操作,也就是说多个应用程序的预加载过程可以是并行进行的。In the embodiment of the present application, when there is only one application to be preloaded, there is no need to consider the preloading order of the applications; and when there are multiple applications to be preloaded, the multiple applications to be preloaded may be determined one by one as the current one. Applications to be preloaded, and preloading operations are performed in sequence. It is also possible to determine more than two applications to be preloaded as the current to be preloaded applications, and perform preloading operations at the same time, that is, preloading of multiple applications. The loading process can be performed in parallel.
本申请实施例中对预加载的具体过程以及所加载的资源不做限定,例如可为待预加载应用程序分配相应的硬件资源,并基于分配的硬件资源加载启动所 需的相关数据。示例性的,可包括应用配置信息、应用进程启动、应用服务启动、内存分配、文件内容读取、网络数据获取以及界面渲染等。此外,预加载的资源可根据待预加载应用程序的具体类型来确定。例如,若待预加载应用程序为一个社交软件,可以预加载该应用程序中的启动画面、联系人列表以及近期的消息记录等;若待预加载应用程序为一个游戏,可以预加载该应用程序中的游戏背景相关数据等。In the embodiment of the present application, the specific process of preloading and the loaded resources are not limited. For example, corresponding hardware resources can be allocated to the application to be preloaded, and related data required for startup can be loaded based on the allocated hardware resources. Exemplarily, it may include application configuration information, application process startup, application service startup, memory allocation, file content reading, network data acquisition, and interface rendering. In addition, pre-loaded resources can be determined according to the specific type of application to be pre-loaded. For example, if the application to be preloaded is a social software, the startup screen, contact list, and recent message records in the application can be preloaded; if the application to be preloaded is a game, the application can be preloaded Game background related data.
步骤1030、在接收到所述待预加载应用程序中包含的目标应用程序的启动指令的情况下,判断所述目标应用程序对应的已预加载的第一配置信息与当前显示界面的第二配置信息是否相同。Step 1030: In a case where a start instruction of the target application included in the application to be preloaded is received, determine the first preloaded configuration information corresponding to the target application and the second configuration of the current display interface. The information is the same.
在本申请实施例中,配置信息主要用于使应用程序启动时能够获取正确的资源,保证应用程序能够正常显示。第一配置信息可以包括目标应用程序启动时,目标应用程序对应的显示界面上显示的文字的字体缩放比例,文字的语言环境,显示界面的大小,显示界面在显示屏幕中的布局及显示边界等一系列内容。第二配置信息可以包括在终端的显示屏幕中,当前正在显示的界面的配置信息,也即当前显示界面的配置信息,其中第二配置信息也可以包括当前显示界面上显示的文字的字体缩放比例,文字的语言环境,当前显示界面的大小,当前显示界面在显示屏幕中的布局及显示边界等一系列内容。相关技术中,当接收到所述待预加载应用程序中包含的目标应用程序的启动指令时,判断目标应用程序对应的已预加载的第一配置信息与当前显示界面的第二配置信息是否相同,若第一配置信息和第二配置信息不同,***则认为基于第一配置信息对目标应用程序进行启动时,会导致目标应用程序显示错误,则基于第二配置信息更新所述第一配置信息,这样容易造成目标应用程序启动速度慢、卡顿等问题。但是,在大多数情况下第一配置信息和第二配置信息配置基本相同,即使第一配置信息和第二配置信息不同,也是出现的文字的语言环境不同或显示界面在显示屏幕中的布局不同的情况,而文字的语言环境和显示界面在显示屏幕中的布局对应用程序的正常显示并无影响。In the embodiment of the present application, the configuration information is mainly used to enable the application to obtain correct resources when it is started, and to ensure that the application can be displayed normally. The first configuration information may include the font scaling of the text displayed on the display interface corresponding to the target application when the target application is started, the locale of the text, the size of the display interface, the layout of the display interface on the display screen, and the display boundary, etc. A series of content. The second configuration information may include configuration information of an interface currently being displayed on the display screen of the terminal, that is, configuration information of the current display interface, where the second configuration information may also include a font scaling ratio of text displayed on the current display interface. , The locale of the text, the size of the current display interface, the layout of the current display interface on the display screen, and the display boundaries. In the related art, when a start instruction of a target application included in the application to be preloaded is received, it is determined whether the first preloaded configuration information corresponding to the target application is the same as the second configuration information of the current display interface. If the first configuration information and the second configuration information are different, the system considers that when the target application is started based on the first configuration information, the target application will display an error, and the first configuration information is updated based on the second configuration information , This is easy to cause problems such as slow startup of the target application, stall. However, in most cases, the configuration of the first configuration information and the configuration of the second configuration information are basically the same. Even if the first configuration information and the second configuration information are different, the locale of the text that appears or the layout of the display interface on the display screen are different. , And the locale of the text and the layout of the display interface on the display screen have no effect on the normal display of the application.
因此,当接收到待预加载应用程序中包含的目标应用程序的启动指令时,判断所述目标应用程序对应的已预加载的第一配置信息与当前显示界面的第二配置信息是否相同,并执行步骤1040。Therefore, when receiving the start instruction of the target application included in the application to be preloaded, it is determined whether the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface, and Go to step 1040.
步骤1040、响应于第一配置信息与第二配置信息不同的判断结果,禁止对所述第一配置信息的更新操作,并基于所述第一配置信息启动所述目标应用程序。Step 1040: In response to a determination result that the first configuration information is different from the second configuration information, prohibit an update operation on the first configuration information, and start the target application program based on the first configuration information.
在本申请实施例中,当目标应用程序对应的已预加载的第一配置信息与当前显示界面的第二配置信息不同时,可禁止对第一配置信息的更新操作,并可直接基于已预加载好的第一配置信息启动目标应用程序,这样可以有效解决目标应用程序的启动速度慢、卡顿等问题。In the embodiment of the present application, when the pre-loaded first configuration information corresponding to the target application is different from the second configuration information of the current display interface, the update operation of the first configuration information may be prohibited, and may be directly based on the pre-loaded The loaded first configuration information starts the target application program, which can effectively solve problems such as slow startup speed and stall of the target application program.
在一实施例中,响应于所述目标应用程序对应的已预加载的第一配置信息 与当前显示界面的第二配置信息相同的判断结果,基于所述第一配置信息启动所述目标应用程序。这样设置的好处在于,可有效提升对待预加载应用程序的启动速度。In an embodiment, in response to a determination result that the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface, starting the target application based on the first configuration information . The advantage of this setting is that it can effectively improve the startup speed of the application to be preloaded.
本申请实施例提供的应用程序启动方法,在检测到应用预加载事件被触发的情况下,确定待预加载应用程序,并对待预加载应用程序进行预加载,在接收到待预加载应用程序中包含的目标应用程序的启动指令的情况下,判断目标应用程序对应的已预加载的第一配置信息与当前显示界面的第二配置信息是否相同,响应于第一配置信息与第二配置信息不同的判断结果,禁止对第一配置信息的更新操作,并基于第一配置信息启动目标应用程序。通过采用上述技术方案,可有效解决由于已预加载的目标应用程序对应的第一配置信息和当前显示界面的第二配置信息的不同,导致对已预加载的目标应用程序的启动速度慢、卡顿等问题,可以有效提升待预加载应用程序的启动速度。The application startup method provided in the embodiment of the present application determines an application to be preloaded when it is detected that an application preload event is triggered, and preloads the application to be preloaded, and upon receiving the application to be preloaded, In the case of a startup instruction of the target application included, it is determined whether the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface, in response to the first configuration information being different from the second configuration information As a result of the determination, the update operation of the first configuration information is prohibited, and the target application is started based on the first configuration information. By adopting the above technical solution, the difference between the first configuration information corresponding to the pre-loaded target application and the second configuration information of the current display interface can effectively solve the problem that the startup speed of the pre-loaded target application is slow, and the card is stuck. Problems such as pause can effectively improve the startup speed of the application to be preloaded.
在一些实施例中,所述对所述待预加载应用程序进行预加载,包括:基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。这样设置的好处在于,对应用界面进行预加载,能够较大程度地完成应用启动前的准备工作,提升待预加载应用程序的启动速度,且不会影响到前台应用程序的显示内容在显示屏幕上的显示。In some embodiments, pre-loading the application to be pre-loaded includes: pre-loading an application interface corresponding to the application to be pre-loaded based on a pre-created pre-loaded active window stack, wherein the pre-loading The boundary coordinates corresponding to the loading active window stack are outside the coordinate range of the display screen. The advantage of this setting is that pre-loading the application interface can greatly complete the preparation work before the application is started, and improve the startup speed of the application to be pre-loaded without affecting the display content of the foreground application on the display screen. On the display.
本申请实施例中,活动窗口可理解为一个独立的直接面向用户提供交互和操作的界面,在不同的操作***中可能采用不同的名词来命名该界面。为了便于理解,下面以安卓(Android)操作***为例进行下面的说明。In the embodiment of the present application, the active window may be understood as an independent interface that directly provides users with interaction and operation, and different terms may be used to name the interface in different operating systems. In order to facilitate understanding, the following description is made by taking an Android operating system as an example.
在Android***中,活动窗口被称为Activity。Activity是一个负责与用户交互的组件,Activity提供一个屏幕(可以理解为屏幕界面,而非实体的显示屏幕),以供用户交互完成某项任务。在一个Android应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件。在对Activity进行管理中,有这样两个概念:任务栈(Task)和活动窗口堆栈(Stack)。Task对应一个应用程序,Task用于存放Activity,一个Task中可以存放一个或多个Activity,且这些Activity遵循“先进后出,后进先出”的原则。而Stack又用于对Task进行管理,通常,一个Stack对一个屏幕所需展示的多个Activity所属的Task进行管理,一个Stack可以管理一个或多个Task,当然,Stack也同样遵循堆栈的基本管理原则。这里所述的屏幕并不一定是完整独立的显示屏,以“两个屏幕”为例,这两个屏幕可能只是一个完整显示屏中两个独立显示各自显示内容的区域。当然,如果终端具备两个甚至是两个以上的独立显示屏,则“两个屏幕”也可以是两个独立的显示屏。In the Android system, the active window is called Activity. Activity is a component that is responsible for interacting with the user. Activity provides a screen (which can be understood as a screen interface instead of a physical display screen) for the user to interact with to complete a task. In an Android application, an Activity is usually a separate screen, which can display some controls or listen to and handle user events. In the management of Activity, there are two concepts: Task stack (Task) and activity window stack (Stack). A Task corresponds to an application. A Task is used to store Activities. A Task can store one or more Activities, and these Activities follow the "first in, first out, last in, first out" principle. Stack is also used to manage Tasks. Generally, a Stack manages Tasks that belong to multiple Activities that need to be displayed on a screen. A Stack can manage one or more Tasks. Of course, Stack also follows the basic management of the Stack. in principle. The screens described here are not necessarily complete and independent display screens. Taking "two screens" as an example, these two screens may be just two areas in a complete display screen that independently display their respective display contents. Of course, if the terminal has two or more independent display screens, the "two screens" may also be two independent display screens.
在Android***中,支持多窗口模式,可包括分屏模式、画中画模式以及自由模式(FreeForm)。在多窗口模式下,应用程序所在的Stack可以有自己的尺寸(size),可以包括以终端屏幕左上角为原点的坐标系中的上下左右坐标。例 如,(a,b,c,d),一般描述的是一个矩形的边界,采用矩形左上角的坐标和右下角的坐标进行表示,即矩形的左上角坐标为(a,b),右下角坐标为(c,d),这样的矩形区域就对应Stack的size。Stack中的应用内布局是以Stack的size为准的,也就是说Activity对应的应用界面是在size的边界范围内进行显示的。In the Android system, multi-window mode is supported, which can include split-screen mode, picture-in-picture mode, and FreeForm. In the multi-window mode, the stack where the application is located can have its own size, which can include the upper, lower, left, and right coordinates in a coordinate system with the upper left corner of the terminal screen as the origin. For example, (a, b, c, d) generally describes a rectangular boundary, which is 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), and the lower right corner The coordinates are (c, d), such a rectangular area corresponds to the size of the Stack. The layout of the application in the stack is based on the size of the stack, which means that the application interface corresponding to the activity is displayed within the boundary of the size.
在多窗口模式下,可以允许多个应用程序处于可见状态,包括***和用户均可见和仅***可见。***和用户均可见指的是在显示屏幕上进行显示,且用户能够看到;仅***可见指的是操作***可见,而用户不可见,可能被前台的应用遮挡或者如本申请所要实现的在显示屏幕外显示。In multi-window mode, you can allow multiple applications to be visible, including both system and user visible and system only visible. Both visible to the system and the user means to be displayed on the display screen and can be seen by the user; only visible to the system means that the operating system is visible and the user is not visible, which may be obscured by the application in the foreground or as implemented in this application. Show off screen.
本申请实施例中,在显示屏幕外对待预加载应用程序的应用界面进行预加载,可以基于操作***的多窗口机制来实现,通过多窗口机制将应用程序对应的size设在显示屏幕外而达到对用户不可见的目的,从而不会影响到前台应用程序的显示内容在显示屏幕上的显示。In the embodiment of the present application, pre-loading the application interface of the application to be pre-loaded outside the display screen can be implemented based on the multi-window mechanism of the operating system, and the size corresponding to the application program is set outside the display screen through the multi-window mechanism to achieve For the purpose of being invisible to the user, so that the display content of the foreground application is not displayed on the display screen.
一般的,多窗口模式下,可以存在多种类型的Stack,如Home Stack表示桌面应用显示的Stack,App Stack表示第三方应用显示,还可以有其他分屏Stack等。本申请实施例中,新增了预加载活动窗口堆栈(预加载Stack),用于表示预加载应用显示的Stack,并设置预加载Stack的边界坐标位于显示屏幕的坐标范围之外,待预加载的应用程序可以显示在该Stack。对于Android***来说,可以基于Android***的多窗口机制,新建一个专门用于显示预加载应用的Stack。本申请实施例中,新建Stack是因为可以让新建的预加载Stack拥有自己的size以及可见性,从而实现在显示屏幕外预加载的目的。Generally, in the multi-window mode, there can be multiple types of stacks. For example, Home Stack represents the stack displayed by desktop applications, App Stack represents the third-party application display, and there can be other split-screen stacks. In the embodiment of the present application, a preloaded active window stack (preloaded stack) is added to indicate the stack displayed by the preloaded application, and the boundary coordinates of the preloaded stack are set outside the coordinate range of the display screen, and are to be preloaded The application can be displayed on that Stack. For the Android system, based on the multi-window mechanism of the Android system, a new Stack dedicated to displaying preloaded applications can be created. In the embodiment of the present application, a new stack is created because the newly created preloaded stack can have its own size and visibility, thereby achieving the purpose of preloading outside the display screen.
本申请实施例中,对预加载Stack的创建时机不做限定,可以是在终端出厂前默认设置预加载Stack处于常驻状态,即预加载Stack一直存在;也可以在终端开机时或终端解锁成功后创建;还可以在应用预加载事件被触发后(可以在确定待预加载应用程序之前)创建等等。在一实施例中,所述基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,包括:判断是否存在预先创建的预加载活动窗口堆栈;响应于预先创建的预加载活动窗口堆栈不存在的判断结果,则按照预设规则创建预加载活动窗口堆栈;基于所创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面。这样设置的好处在于,在确定待预加载的待预加载应用程序之后,判断预加载Stack是否存在,若预加载Stack存在,则无需新建,若预加载Stack不存在,则进行创建,可以节省***资源。可以理解的是,当待预加载应用程序包含多个时,也即需要在短时间内连续预加载多个应用程序时,在第一个待预加载应用程序开始加载前,预加载Stack已创建完毕,那么第二个待预加载应用程序开始加载前,预加载Stack是存在的,可以不必进行上述判断。In the embodiment of the present application, the creation timing of the preloaded stack is not limited. The preloaded stack is set to the resident state by default before the terminal leaves the factory, that is, the preloaded stack always exists; the terminal can also be successfully opened when the terminal is powered on or the terminal is unlocked successfully. Create later; you can also create after the application preload event is triggered (before you determine the application to be preloaded) and so on. In an embodiment, pre-loading an application interface corresponding to the application to be pre-loaded based on a pre-created pre-loaded active window stack includes: determining whether a pre-created pre-loaded active window stack exists; and responding to the pre-created As a result of the judgment that the preloaded active window stack does not exist, a preloaded active window stack is created according to a preset rule; based on the created preloaded active window stack, an application interface corresponding to the application to be preloaded is preloaded. The advantage of this setting is that after determining the application to be preloaded, determine whether the preloaded stack exists. If the preloaded stack exists, you do not need to create a new one. If the preloaded stack does not exist, create it, which can save the system. Resources. It can be understood that when there are multiple applications to be preloaded, that is, when multiple applications need to be preloaded continuously in a short period of time, the preloading stack has been created before the first application to be preloaded starts to load. After that, the pre-loading stack exists before the second application to be pre-loaded starts to be loaded, and the above judgment may not be necessary.
本申请实施例中,对基于预加载Stack预加载待预加载应用程序对应的应用界面的具体过程不做限定,例如可以基于预加载Stack的size进行应用界面的绘制并显示等。In the embodiment of the present application, the specific process of preloading the application interface corresponding to the application to be preloaded based on the preloaded stack is not limited, for example, the application interface may be drawn and displayed based on the size of the preloaded stack.
在一些实施例中,所述基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,包括:创建所述待预加载应用程序对应的目标进程;在预先创建的预加载活动窗口堆栈中创建所述待预加载应用程序对应的任务栈;基于所述目标进程在所述任务栈中启动所述待预加载应用程序对应的活动窗口;基于所启动的活动窗口绘制并显示所述待预加载应用程序对应的应用界面。这样设置的好处在于,能够基于屏幕坐标范围之外的预加载活动窗口堆栈对待预加载应用程序的应用界面进行绘制并显示,不会干扰前台应用程序的运行及显示,保证***稳定性,同时有效提高待预加载应用程序启动时的速度。在创建目标进程的同时,还可包括目标进程的初始化过程。在上述步骤的执行过程中,还可能涉及其他资源的预加载,如应用服务启动、内存分配、文件内容读取及网络数据获取等,本申请实施例对其他资源的预加载过程不做限定。In some embodiments, pre-loading an application interface corresponding to the application to be pre-loaded based on a pre-created pre-loaded active window stack includes: creating a target process corresponding to the application to be pre-loaded; A task stack corresponding to the application to be preloaded is created in a preloaded active window stack; an active window corresponding to the application to be preloaded is started in the task stack based on the target process; and drawn based on the started active window And an application interface corresponding to the application to be preloaded is displayed. The advantage of this setting is that it can draw and display the application interface of the pre-loaded application based on the pre-loaded active window stack outside the screen coordinate range, without interfering with the operation and display of the foreground application, ensuring system stability, and effective. Improves the speed at which applications to be preloaded are launched. When the target process is created, the initialization process of the target process can also be included. During the execution of the above steps, pre-loading of other resources may also be involved, such as application service startup, memory allocation, file content reading, and network data acquisition. The embodiments of this application do not limit the pre-loading process of other resources.
在一些实施例中,还包括:向所述待预加载应用程序发送伪造焦点通知,并基于所述伪造焦点通知在预设时间段内保持所述待预加载应用程序对应的应用界面的持续绘制以及显示更新。这样设置的好处在于,能够在待预加载应用程序获得焦点并对***可见的情况下完成应用界面的绘制及显示,提高预加载的完成度,且不对前台应用的焦点产生影响。本申请实施例中的焦点又称为输入焦点,伪造焦点与前台应用对应的焦点相互独立。一般的,对于Android***来说,焦点是唯一的,例如触摸等输入操作只对焦点生效,对于输入焦点信息,***端和应用端是一致的,***端一旦修改输入焦点信息,就会向应用发送输入焦点信息发生变化的信息,以此方法保证***端和应用端输入焦点信息一致。本申请实施例中,通过分离***端和应用端输入焦点信息的方式,实现应用端可伪造焦点的目的。本申请实施例中,对预加载应用程序发送伪造焦点通知,使预加载应用具有焦点信息,而***端的焦点信息仍然是正确的,这样处理可以使得预加载应用能够正常绘制,达到全部加载的目的。焦点存在于***端和应用端,可认为是服务端(server)和客户端(client),***端记录拥有焦点的应用,应用端保存标志位(flag)标识自己是否有焦点。伪造输入焦点的时机可以是当Android的窗口***新增窗口,需要更新焦点时,生成伪造焦点通知并进行发送。伪造焦点的方法可以是调用窗口的client端的改变窗口焦点的方法,使得该窗口获取焦点。在一实施例中,可基于Binder机制进行伪造焦点通知的发送,Binder机制是Android***的进程间通信的最常用的方式,采用c/s架构,即客户/服务架构。In some embodiments, the method further includes: sending a fake focus notification to the application to be preloaded, and maintaining a continuous drawing of an application interface corresponding to the application to be preloaded for a preset period of time based on the fake focus notification. And display updates. The advantage of this setting is that it can complete the drawing and display of the application interface when the application to be preloaded has the focus and is visible to the system, improving the completion of the preloading without affecting the focus of the foreground application. The focus in the embodiments of the present application is also referred to as input focus, and the fake focus and the focus corresponding to the foreground application are independent of each other. Generally, for the Android system, the focus is unique. For example, input operations such as touch only take effect on the focus. For the input of focus information, the system side and the application side are consistent. Once the system side modifies the input focus information, it will report to the application. Sends information that the input focus information changes, this way to ensure that the input focus information of the system and application are consistent. In the embodiment of the present application, the purpose of falsifying the focus on the application side is achieved by separating the system side and the application side from inputting focus information. In the embodiment of the present application, a fake focus notification is sent to the preloaded application program, so that the preloaded application has focus information, and the system side focus information is still correct. Such processing can enable the preloaded application to draw normally and achieve the purpose of all loading. . The focus exists on the system side and the application side. It can be considered as the server and the client. The system side records the application that has the focus, and the application side saves a flag to indicate whether it has focus. The timing of falsifying the input focus may be that when the Android window system adds a new window and the focus needs to be updated, a fake focus notification is generated and sent. The method of falsifying the focus may be a method of calling the client side of the window to change the focus of the window, so that the window acquires focus. In one embodiment, a fake focus notification can be sent based on the Binder mechanism. The Binder mechanism is the most commonly used method for inter-process communication of the Android system, and adopts a c / s architecture, that is, a client / service architecture.
本申请实施例中,预设时间段可根据实际情况设计,例如可以是开始预加载后的固定时长范围内,也可以是开始预加载到完成预加载的时段等。在一些实施例中,所述预设时间段的长度包括所述待预加载应用程序中启动广告或启动动画的播放时长。一些应用程序在启动的过程中,通常会播放一些广告或动画,广告或动画的播放时长通常为3秒至十几秒不等,在播放广告或动画期间, 用户可能没办法进行任何操作,只能等待播放完毕,浪费用户的宝贵时间。本申请实施例这样设置的好处在于,能够在待预加载应用程序启动之前,在屏幕外播放完启动广告或启动动画,当待预加载应用程序启动时,可直接进入应用程序的主页面或其他用户可操作的界面,从而将待预加载应用程序的可操作时间点进一步提前,减少等待时间。In the embodiment of the present application, the preset time period may be designed according to actual conditions, for example, it may be within a fixed time range after starting preloading, or it may be a period from starting preloading to completing preloading. In some embodiments, the length of the preset time period includes a playing duration of starting an advertisement or starting an animation in the application to be preloaded. During the startup of some applications, some advertisements or animations are usually played. The duration of advertisements or animations usually ranges from 3 seconds to more than ten seconds. During the playback of advertisements or animations, users may not be able to perform any operations. 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 to be preloaded is launched. When the application to be preloaded is launched, it can directly enter the main page of the application or other User-operable interface, which further advances the operable time point of the application to be preloaded, reducing waiting time.
在一些实施例中,所述第一配置信息包括所述目标应用程序对应的应用界面的应用边界,所述第二配置信息包括所述当前显示界面的显示边界;判断所述目标应用程序对应的已预加载的第一配置信息与当前显示界面的第二配置信息是否相同,包括:判断预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面的应用边界与当前显示界面的显示边界是否相同。In some embodiments, the first configuration information includes an application boundary of an application interface corresponding to the target application, and the second configuration information includes a display boundary of the current display interface; determining whether the target application corresponds to Whether the pre-loaded first configuration information is the same as the second configuration information of the current display interface includes: determining an application boundary of an application interface corresponding to the target application included in a pre-loaded active window stack and a display boundary of the current display interface Is it the same.
在一实施例中,禁止对所述第一配置信息的更新操作,并基于所述第一配置信息启动所述目标应用程序,包括:禁止对所述目标应用程序对应的应用界面的更新操作,并基于所述应用边界将所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。In an embodiment, prohibiting an update operation of the first configuration information and starting the target application based on the first configuration information includes: prohibiting an update operation of an application interface corresponding to the target application, The application interface corresponding to the target application is migrated to the display screen for display based on the application boundary.
在一实施例中,禁止对所述第一配置信息的更新操作,并基于所述第一配置信息启动所述目标应用程序,包括:基于所述应用边界将所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示,并禁止对所述目标应用程序对应的应用界面的更新操作。In an embodiment, prohibiting an update operation of the first configuration information and starting the target application based on the first configuration information includes: applying an application interface corresponding to the target application based on the application boundary Migrating to the display screen for display, and prohibiting an update operation of an application interface corresponding to the target application.
这样设置的好处在于,可有效解决对已预加载的应用程序进行启动时,由于目标应用程序对应的应用界面的应用边界与当前显示界面的显示边界不同,对目标应用程序对应的应用界面更新重启,造成的目标应用程序启动时容易黑屏,启动速度慢及卡顿的问题,并且在目标应用程序真正需要启动的时候,直接将已经绘制好的应用界面迁移到显示屏幕进行显示,能够达到应用界面的快速切换,提高启动速度。The advantage of this setting is that it can effectively solve the problem of updating and restarting the application interface corresponding to the target application when the application boundary corresponding to the target application is different from the display boundary of the current display interface when the preloaded application is started. , Causing the target application to be easy to black screen when starting, slow startup speed and stuttering problems, and when the target application really needs to start, directly migrate the already drawn application interface to the display screen for display, can reach the application interface Fast switching to improve startup speed.
在本申请实施例中,当基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面时,第一配置信息包括目标应用程序对应的应用界面的应用边界,第二配置信息包括当前显示界面的显示边界。示例性的,第一配置信息可以表示为:Configuration1={1.0 460mcc1mnc[zh_CN]ldltr sw360dp w360dp h685dp 480dpi nrml long port finger-keyb/v/h-nav/h appBounds=Rect(2280,0,3360,2055)s.14mThemeChanged=0mThemeChangedFlags=0mFlipFont=0};第二配置信息可以表示为:Configuration={1.0 460mcc1mnc[zh_CN]ldltr sw360dp w360dp h685dp 480dpi nrml long port finger-keyb/v/h-nav/h appBounds=Rect(0,0,1080,2136)s.14mThemeChanged=0mThemeChangedFlags=0mFlipFont=0}。其中,1.0 fontScale表示字体缩放比例;460mcc表示移动国家代码;1mnc表示移动网络代码;[zh_CN]表示语言环境;ldltr表示从左到右布局;sw360dp表示应用程序在正常操作中看到的最小屏幕尺寸;w360dp表示可用屏幕空间的当前宽度,以dp 为单位;h685dp表示可用屏幕空间的当前高度,以dp为单位;480dpi表示显示屏幕密度;nrml表示屏幕布局的屏幕大小;long表示屏幕布局;port表示竖屏;finger表示触摸输入方式;appBounds=Rect(2280,0,3360,2055)表示目标应用程序对应的应用界面的应用边界;appBounds=Rect(0,0,1080,2136)表示当前显示界面的显示边界。在本申请实施例中,在基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面之后,当接收到所述待预加载应用程序中包含的目标应用程序的启动指令时,判断预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面的应用边界与当前显示界面的显示边界是否相同,若应用边界和显示边界不同,***会认为直接将所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示,会导致目标应用程序显示异常,从而使目标应用程序对应的应用界面更新重启,这样容易造成目标应用程序启动时黑屏现象,导致启动速度慢及卡顿。然而,第一配置信息中的应用边界对目标应用程序的正常显示并无影响。因此,在本申请实施例中,即使第一配置信息中的应用边界与第二配置信息中的显示边界不同,也不执行对已预加载的目标应用程序的应用界面的更新重启操作。其中,可先禁止对目标应用程序对应的应用界面的更新操作,并将所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。也可先将所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示,并禁止对所述目标应用程序对应的应用界面的更新操作。In the embodiment of the present application, when an application interface corresponding to the application to be preloaded is preloaded based on a pre-created preloading active window stack, the first configuration information includes an application boundary of the application interface corresponding to the target application, and the second The configuration information includes the display boundaries of the current display interface. Exemplarily, the first configuration information may be expressed as: Configuration1 = {1.0460mcc1mnc [zh_CN] ldltr sw360dp w360dp h685dp 480dpi nrml long port port finger-keyb / v / h-nav / h appBounds = Rect (2280, 0, 3360, 2055 ) s.14mThemeChanged = 0mThemeChangedFlags = 0mFlipFont = 0. The second configuration information can be expressed as: Configuration = {1.0460mcc1mnc [zh_CN] ldltr sw360dp w360dp h685dp 480dpi znrml longport portfinger-keyb / v / hna (0, 0, 1080, 2136) s.14mThemeChanged = 0mThemeChangedFlags = 0mFlipFont = 0}. Among them, 1.0 fontScale indicates the font scaling ratio; 460mcc indicates the mobile country code; 1mnc indicates the mobile network code; [zh_CN] indicates the locale; ldltr indicates the layout from left to right; sw360dp indicates the minimum screen size seen by the application in normal operation. ; W360dp represents the current width of available screen space in dp; h685dp represents the current height of available screen space in dp; 480dpi represents the display screen density; nrml represents the screen size of the screen layout; long represents the screen layout; port represents Vertical screen; finger indicates the touch input method; appBounds = Rect (2280, 0, 3360, 2055) indicates the application boundary of the application interface corresponding to the target application; appBounds = Rect (0, 0, 1080, 2136) indicates the current display interface. Show boundaries. In the embodiment of the present application, after an application interface corresponding to the application to be preloaded is preloaded based on a pre-created preloading active window stack, when a start of a target application included in the application to be preloaded is received When instructing, determine whether the application boundary of the application interface corresponding to the target application included in the preloaded active window stack is the same as the display boundary of the current display interface. If the application boundary and the display boundary are different, the system will consider the target directly The migration of the application interface corresponding to the application to the display screen for display will cause the target application to display abnormally, which will cause the application interface corresponding to the target application to be updated and restarted. This will easily cause a black screen when the target application starts, resulting in a slow startup speed. And Caton. However, the application boundary in the first configuration information has no effect on the normal display of the target application. Therefore, in the embodiment of the present application, even if the application boundary in the first configuration information is different from the display boundary in the second configuration information, the update and restart operation of the application interface of the target application that has been preloaded is not performed. Wherein, the updating operation of the application interface corresponding to the target application may be prohibited first, and the application interface corresponding to the target application may be migrated to the display screen for display. The application interface corresponding to the target application may also be migrated to the display screen for display, and the update operation of the application interface corresponding to the target application may be prohibited.
在一些实施例中,所述将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示,包括:将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的任务栈迁移至应用活动窗口堆栈的顶部;更新所述任务栈的尺寸信息、配置信息和可见性,以实现所述目标应用程序对应的应用界面在所述显示屏幕进行显示。这样设置的好处在于,能够保证界面迁移过程的稳定性,保证恢复过程不会出现卡屏、黑屏或迁移速度慢等问题。In some embodiments, the migrating an application interface corresponding to the target application included in the preloaded active window stack to the display screen for display includes: The task stack corresponding to the target application is migrated to the top of the application active window stack; the size information, configuration information, and visibility of the task stack are updated to implement the application interface corresponding to the target application on the display screen display. The advantage of this setting is that it can ensure the stability of the interface migration process and ensure that no issues such as screen freezes, black screens, or slow migration speeds occur during the recovery process.
对于一些终端来说,例如手机及平板电脑等移动终端,为了方便用户的使用,显示屏幕的显示方式通常包括竖屏显示和横屏显示,许多应用程序默认采用竖屏方式进行显示,而有些应用程序默认采用横屏方式进行显示(如一些网络游戏),在终端的使用过程中,有些应用程序还会随着用户握持终端的方向而进行横竖屏显示的切换。在本申请的一些实施例中,所述预加载活动窗口堆栈对应的边界坐标为(H,0,2H,H),所述边界坐标对应的坐标系为***坐标,所述***坐标的原点为所述显示屏幕的左上角,H为所述显示屏幕的显示区域的长边长度。也就是说,H对应的边是显示屏幕的显示区域的最大边,在竖屏显示时为显示屏幕的高,在横屏显示时为显示屏幕的宽。这样设置的目的是考虑到显示屏幕横屏、预加载应用横屏显示,以及一些应用程序的正常显示。图2为本申请实施例提供的一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图。如图2所示,此时显示屏幕为竖屏方式,终端***坐标的 原点为显示屏幕201的左顶点(0,0),显示屏幕201的宽度方向为X轴,高度方向为Y轴,预加载Stack202对应的边界坐标为(H,0,2H,H),H为屏幕高,即左边实线矩形范围内的区域为主屏幕显示区域,右边虚线矩形范围内的区域为预加载显示区域。图3为本申请实施例提供的另一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图。如图3所示,此时显示屏幕为横屏方式,终端***坐标的原点为显示屏幕301的左顶点(0,0),显示屏幕301的高度方向为X轴,宽度方向为Y轴,预加载Stack202对应的边界坐标为(H,0,2H,H),H为屏幕高,即左边实线矩形范围内的区域为主屏幕显示区域,右边虚线矩形范围内的区域为预加载显示区域。For some terminals, such as mobile terminals such as mobile phones and tablet computers, in order to facilitate the use of the user, the display mode of the display screen usually includes vertical screen display and horizontal screen display. Many applications use the vertical screen for display by default, and some applications By default, the program is displayed in landscape mode (such as some online games). During the use of the terminal, some applications will switch between horizontal and vertical display as the user holds the terminal. In some embodiments of the present application, a boundary coordinate corresponding to the preloaded active window stack is (H, 0, 2H, H), a coordinate system corresponding to the boundary coordinate is a system coordinate, and an origin of the system coordinate is In the upper left corner of the display screen, H is the length of the long side of the display area of the display screen. That is, the side corresponding to H is the largest side of the display area of the display screen, which is the height of the display screen when displayed in the vertical screen and the width of the display screen when displayed in the horizontal screen. The purpose of this setting is to consider the horizontal screen of the display screen, the horizontal screen display of pre-loaded applications, and the normal display of some applications. FIG. 2 is a schematic diagram of a relative position relationship between a preloaded active window stack and a display screen display area according to an embodiment of the present application. As shown in FIG. 2, the display screen is in the vertical screen mode, the origin of the terminal system coordinates is the left vertex (0,0) of the display screen 201, the width direction of the display screen 201 is the X axis, and the height direction is the Y axis. The boundary coordinates corresponding to loading Stack202 are (H, 0, 2H, H), where H is the screen height, that is, the area within the solid rectangle on the left is the main screen display area, and the area within the rectangle on the right dashed line is the preload display area. FIG. 3 is a schematic diagram of a relative position relationship between another preloaded active window stack and a display screen display area according to an embodiment of the present application. As shown in Figure 3, the display screen is in landscape mode, the origin of the terminal system coordinates is the left vertex (0,0) of the display screen 301, the height direction of the display screen 301 is the X axis, and the width direction is the Y axis. The boundary coordinates corresponding to loading Stack202 are (H, 0, 2H, H), where H is the screen height, that is, the area within the solid rectangle on the left is the main screen display area, and the area within the rectangle on the right dashed line is the preload display area.
预加载Stack多个边界如此设置的原因在于:The reason why multiple boundaries of the preload Stack are set like this is because:
左上角的横坐标为H,是为了防止横屏时显示屏幕(也可称为主屏幕)显示到预加载应用的界面,因为主屏幕除了竖屏模式,还有横屏模式,当主屏幕横屏的时候,为了防止主屏幕显示区域显示了预加载的应用的局部,所以将预加载Stack对应的矩形区域的左上角横坐标设为屏幕高。The horizontal axis of the upper left corner is H, which is to prevent the display screen (also called the home screen) from being displayed on the pre-loaded application interface when the screen is horizontal, because the home screen has a horizontal screen mode in addition to the vertical screen mode. In order to prevent part of the preloaded application from being displayed in the main screen display area, the horizontal coordinate of the upper left corner of the rectangular area corresponding to the preloaded stack is set to the screen height.
左上角的纵坐标为0,是为了预加载应用能够正确计算状态栏高度。Android应用为了更好的设计用户界面(User Interface,UI),会自定义顶部状态栏,如果上边对应的纵坐标不等于0,那么状态栏的高度可能会错误。The vertical coordinate of the upper left corner is 0, so that the preloaded application can correctly calculate the height of the status bar. In order to better design the user interface (UI), the Android application will customize the top status bar. If the corresponding vertical coordinate is not equal to 0, the height of the status bar may be wrong.
右下角的横坐标为2H(2倍屏幕高),即预加载Stack对应的矩形的宽=屏幕高,是为了预加载Stack的size能够包含预加载时候的横屏应用(即应用界面为横屏显示方式的应用程序)。The horizontal axis of the lower right corner is 2H (2 times the screen height), that is, the width of the rectangle corresponding to the preloaded stack = screen height, so that the size of the preloaded stack can include the horizontal screen application when preloaded (that is, the application interface is horizontal screen) Display mode application).
右下角的纵坐标为H,即预加载Stack对应的矩形的高=屏幕高,是为了预加载Stack的size能够包含预加载时候的竖屏应用。The vertical coordinate of the lower right corner is H, that is, the height of the rectangle corresponding to the pre-loaded Stack = screen height, so that the size of the pre-loaded Stack can include the vertical screen application when pre-loaded.
基于上述的原因,本申请实施例将预加载Stack的size设置为(H,0,2H,H)。Based on the foregoing reasons, the embodiment of the present application sets the size of the preloaded stack to (H, 0, 2H, H).
此外,图4为本申请实施例提供的一种应用界面迁移示意图,如图4所示,在接收到目标应用程序的启动指令的情况下,将预加载活动窗口堆栈中包含的目标应用程序对应的应用界面401迁移至显示屏幕201进行显示,例如,将预加载应用界面所属的Task迁移至应用活动窗口Stack的顶部,并更新该Task的尺寸信息、配置信息和可见性,从而应用界面能够在显示屏幕上正常显示。In addition, FIG. 4 is a schematic diagram of an application interface migration provided by an embodiment of the present application. As shown in FIG. 4, when a start instruction of a target application is received, the target application included in the preloaded active window stack is correspondingly mapped. The application interface 401 is transferred to the display screen 201 for display. For example, the task to which the preloaded application interface belongs is moved to the top of the application activity window Stack, and the size information, configuration information, and visibility of the task are updated, so that the application interface can be displayed in the Normal display on the display screen.
图5为本申请实施例提供的另一种应用程序启动方法的流程示意图,该方法包括如下步骤:FIG. 5 is a schematic flowchart of another application startup method according to an embodiment of the present application. The method includes the following steps:
步骤5010、在检测到应用预加载事件被触发的情况下,确定待预加载应用程序。Step 5010: In a case where it is detected that an application preload event is triggered, determine an application to be preloaded.
步骤5020、基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面。Step 5020: Pre-load an application interface corresponding to the application to be pre-loaded based on a pre-created pre-loading active window stack.
其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。The boundary coordinates corresponding to the preloaded active window stack are located outside the coordinate range of the display screen.
步骤5030、在接收到所述待预加载应用程序中包含的目标应用程序的启动指令的情况下,判断预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面的应用边界与当前显示界面的显示边界是否相同,若是,则执行步骤5050,响应于应用边界与显示边界不同的判断结果,执行步骤5040。Step 5030: In the case of receiving the start instruction of the target application included in the application to be preloaded, determining an application boundary and a current display of an application interface corresponding to the target application included in the preload active window stack Whether the display boundaries of the interface are the same; if so, step 5050 is performed, and in response to the determination result that the application boundary is different from the display boundary, step 5040 is performed.
步骤5040、基于应用边界禁止对所述目标应用程序对应的应用界面的更新操作,并将所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。Step 5040: Disable the update operation of the application interface corresponding to the target application based on the application boundary, and migrate the application interface corresponding to the target application to the display screen for display.
步骤5050、基于应用边界将所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。Step 5050: Migrate an application interface corresponding to the target application to the display screen for display based on an application boundary.
本申请实施例提供的应用程序启动方法,基于预先创建的预加载活动窗口堆栈预加载待预加载应用程序对应的应用界面,其中,预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外,在接收到待预加载应用程序中包含的目标应用程序的启动指令的情况下,判断预加载活动窗口堆栈中包含的目标应用程序对应的应用界面的应用边界与当前显示界面的显示边界是否相同,响应于应用边界与显示边界不同的判断结果,将目标应用程序对应的应用界面迁移至显示屏幕进行显示,并禁止对目标应用程序对应的应用界面的更新操作,不仅可有效解决对已预加载的应用程序进行启动时,由于目标应用程序对应的应用界面的应用边界与当前显示界面的显示边界不同,对目标应用程序对应的应用界面更新重启,造成的目标应用程序启动时容易黑屏,启动速度慢及卡顿的问题,并且在目标应用程序真正需要启动的时候,直接将已经绘制好的应用界面迁移到显示屏幕进行显示,能够达到应用界面的快速切换,提高启动速度。The application startup method provided in the embodiment of the present application preloads an application interface corresponding to an application to be preloaded based on a pre-created preloaded active window stack, wherein a boundary coordinate corresponding to the preloaded active window stack is within a coordinate range of a display screen. In addition, when receiving the start instruction of the target application included in the application to be preloaded, determine whether the application boundary of the application interface corresponding to the target application included in the preloaded active window stack and the display boundary of the current display interface are Similarly, in response to different judgment results between the application boundary and the display boundary, the application interface corresponding to the target application is migrated to the display screen for display, and the update operation of the application interface corresponding to the target application is prohibited. When the loaded application is launched, because the application boundary of the target application's corresponding application interface is different from the display boundary of the current display interface, the application interface corresponding to the target application is updated and restarted, which causes the target application to be easily blanked and started at startup. And the problem of slow Caton, and when the target really need to start the application directly to the application interface has been migrated to draw a good display screen display, can achieve fast switching applications interface, improve the startup speed.
图6为本申请实施例提供的另一种应用程序启动方法的流程示意图,该方法包括如下步骤:FIG. 6 is a schematic flowchart of another application startup method according to an embodiment of the present application. The method includes the following steps:
步骤6010、在检测到应用预加载事件被触发的情况下,确定待预加载应用程序。Step 6010: When it is detected that an application preload event is triggered, determine an application to be preloaded.
步骤6020、判断是否存在预先创建的预加载活动窗口堆栈,若是,则执行步骤6050,响应于预先创建的预加载活动窗口堆栈不存在的判断结果,执行步骤6030。Step 6020: Determine whether a pre-loaded active window stack exists in advance, and if so, execute step 6050, and execute step 6030 in response to a judgment result that the pre-created active window stack does not exist.
步骤6030、按照预设规则创建预加载活动窗口堆栈。Step 6030: Create a preloaded active window stack according to a preset rule.
步骤6040、基于所创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面。Step 6040: Pre-load an application interface corresponding to the application to be pre-loaded based on the created pre-loading active window stack.
步骤6050、基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面。Step 6050: Pre-load an application interface corresponding to the application to be pre-loaded based on a pre-created pre-loading active window stack.
其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。The boundary coordinates corresponding to the preloaded active window stack are located outside the coordinate range of the display screen.
步骤6060、在接收到所述待预加载应用程序中包含的目标应用程序的启动指令的情况下,判断预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面的应用边界与当前显示界面的显示边界是否相同,若是,则执行步骤 6080,响应于应用边界与显示边界不同的判断结果,执行步骤6070。Step 6060: In a case where the start instruction of the target application included in the application to be preloaded is received, determine the application boundary and the current display of the application interface corresponding to the target application included in the preload active window stack Whether the display boundaries of the interface are the same; if so, step 6080 is performed, and in response to the determination result that the application boundary is different from the display boundary, step 6070 is performed.
步骤6070、基于应用边界将所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示,并禁止对所述目标应用程序对应的应用界面的更新操作。Step 6070: Migrate an application interface corresponding to the target application to the display screen for display based on an application boundary, and prohibit an update operation of an application interface corresponding to the target application.
步骤6080、基于应用边界将所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。Step 6080: Migrate an application interface corresponding to the target application to the display screen for display based on an application boundary.
本申请实施例中提供的应用程序启动方法,当不存在预先创建的预加载活动窗口堆栈时,按照预设规则创建预加载活动窗口堆栈,并基于所创建的预加载活动窗口堆栈预加载待预加载应用程序对应的应用界面,当接收到待预加载应用程序中包含的目标应用程序的启动指令时,判断预加载活动窗口堆栈中包含的目标应用程序对应的应用界面的应用边界与当前显示界面的显示边界是否相同,响应于应用边界与显示边界不同的判断结果,禁止对目标应用程序对应的应用界面的更新操作,并将目标应用程序对应的应用界面迁移至显示屏幕进行显示。这样不仅能够保证界面迁移过程的稳定性,保证恢复过程不会出现卡屏、黑屏或迁移速度慢等问题,而且能够达到应用界面的快速切换,提高启动速度。In the application startup method provided in the embodiment of the present application, when there is no pre-created pre-loaded active window stack, a pre-loaded active window stack is created according to a preset rule, and based on the created pre-loaded active window stack, pre-loading is to be performed. The application interface corresponding to the loading application. When receiving the start instruction of the target application included in the application to be preloaded, determine the application boundary and current display interface of the application interface corresponding to the target application included in the preloading active window stack. Whether the display boundaries are the same, in response to the determination result that the application boundaries are different from the display boundaries, the update operation of the application interface corresponding to the target application is prohibited, and the application interface corresponding to the target application is migrated to the display screen for display. This can not only ensure the stability of the interface migration process, ensure that no problems such as stuck screens, black screens, or slow migration speeds occur during the recovery process, but also achieve rapid switching of the application interface and improve startup speed.
图7为本申请实施例提供的一种应用程序启动装置的结构示意图,该装置可由软件和/或硬件实现,一般集成在终端中,可通过执行应用程序启动方法来对待启动的应用程序进行预加载。如图7所示,该装置包括:应用确定模块701,设置为在检测到应用预加载事件被触发的情况下,确定待预加载应用程序;应用预加载模块702,设置为对所述待预加载应用程序进行预加载;配置信息判断模块703,设置为在接收到所述待预加载应用程序中包含的目标应用程序的启动指令的情况下,判断所述目标应用程序对应的已预加载的第一配置信息与当前显示界面的第二配置信息是否相同;第一应用启动模块704,设置为响应于所述第一配置信息与所述第二配置信息不同的判断结果,禁止对所述第一配置信息的更新操作,并基于所述第一配置信息启动所述目标应用程序。FIG. 7 is a schematic structural diagram of an application startup device provided by an embodiment of the present application. The device may be implemented by software and / or hardware, and is generally integrated in a terminal. The application startup method may be executed to pre-start an application to be started. load. As shown in FIG. 7, the device includes: an application determining module 701 configured to determine an application to be preloaded when an application preloading event is detected to be triggered; and an application preloading module 702 configured to be Load the application program for preloading; the configuration information judgment module 703 is configured to, when receiving the start instruction of the target application program included in the application program to be preloaded, determine the preloaded corresponding to the target application program. Whether the first configuration information is the same as the second configuration information of the current display interface; the first application startup module 704 is configured to, in response to a determination result that the first configuration information is different from the second configuration information, prohibit the first configuration information An update operation of configuration information, and starting the target application based on the first configuration information.
本申请实施例中提供的应用程序启动装置,在检测到应用预加载事件被触发的情况下,确定待预加载应用程序,并对待预加载应用程序进行预加载,在接收到待预加载应用程序中包含的目标应用程序的启动指令的情况下,判断目标应用程序对应的已预加载的第一配置信息与当前显示界面的第二配置信息是否相同,响应于第一配置信息与第二配置信息不同的判断结果,禁止对第一配置信息的更新操作,并基于第一配置信息启动目标应用程序。通过采用上述技术方案,可有效解决由于已预加载的目标应用程序对应的第一配置信息和当前显示界面的第二配置信息的不同,导致对已预加载的目标应用程序的启动速度慢及卡顿的问题,可以有效提升待预加载应用程序的启动速度。The application starting device provided in the embodiment of the present application determines that an application to be preloaded is detected when an application preload event is triggered, and preloads the application to be preloaded, and upon receiving the application to be preloaded In the case of the start instruction of the target application contained in the target application, determine whether the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface, and respond to the first configuration information and the second configuration information. Different judgment results prohibit the update operation of the first configuration information, and start the target application based on the first configuration information. By adopting the above technical solution, the difference between the first configuration information corresponding to the pre-loaded target application and the second configuration information of the current display interface can effectively solve the slow startup speed and the stuck card of the pre-loaded target application. This problem can effectively improve the startup speed of the application to be preloaded.
在一实施例中,该装置还包括:第二应用启动模块,设置为响应于所述目标应用程序对应的已预加载的第一配置信息与当前显示界面的第二配置信息相同的判断结果,基于所述第一配置信息启动所述目标应用程序。In one embodiment, the device further includes a second application startup module configured to respond to a determination result that the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface, Starting the target application based on the first configuration information.
在一实施例中,所述应用预加载模块,是设置为:基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。In one embodiment, the application preloading module is configured to preload an application interface corresponding to the application to be preloaded based on a pre-created preloading active window stack, wherein the preloading active window stack corresponds to The boundary coordinates of are outside the coordinate range of the display screen.
在一实施例中,所述第一配置信息包括所述目标应用程序对应的应用界面的应用边界,所述第二配置信息包括所述当前显示界面的显示边界;配置信息判断模块,是设置为:判断预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面的应用边界与当前显示界面的显示边界是否相同。In one embodiment, the first configuration information includes an application boundary of an application interface corresponding to the target application, and the second configuration information includes a display boundary of the current display interface. The configuration information determination module is configured to: : Determine whether the application boundary of the application interface corresponding to the target application included in the preloaded active window stack is the same as the display boundary of the current display interface.
在一实施例中,所述第一应用启动模块,是设置为:响应于所述应用边界与所述显示边界不同的判断结果,禁止对所述目标应用程序对应的应用界面的更新操作,并基于所述应用边界将所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。In an embodiment, the first application startup module is configured to: in response to a determination result that the application boundary is different from the display boundary, prohibit an update operation of an application interface corresponding to the target application, and The application interface corresponding to the target application is migrated to the display screen for display based on the application boundary.
在一实施例中,所述第一应用启动模块,是设置为:响应于所述应用边界与所述显示边界不同的判断结果,基于所述应用边界将所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示,并禁止对所述目标应用程序对应的应用界面的更新操作。In an embodiment, the first application startup module is configured to: in response to a determination result that the application boundary is different from the display boundary, migrate an application interface corresponding to the target application based on the application boundary Display on the display screen, and prohibit an update operation of an application interface corresponding to the target application.
在一实施例中,所述应用预加载模块是设置为通过如下方式基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面:判断是否存在预先创建的预加载活动窗口堆栈;响应于预加载活动窗口堆栈不存在的判断结果,按照预设规则创建预加载活动窗口堆栈;基于所创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面。In an embodiment, the application preloading module is configured to preload an application interface corresponding to the application to be preloaded based on a pre-created preloading activity window stack in the following manner: determine whether a pre-created preloading activity exists A window stack; in response to a judgment result that the preloaded active window stack does not exist, create a preloaded active window stack according to a preset rule; and preload an application interface corresponding to the application to be preloaded based on the created preloaded active window stack.
在一实施例中,所述应用预加载模块是设置为通过如下方式基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面:创建所述待预加载应用程序对应的目标进程;在预先创建的预加载活动窗口堆栈中创建所述待预加载应用程序对应的任务栈;基于所述目标进程在所述任务栈中启动所述待预加载应用程序对应的活动窗口;基于所启动的活动窗口绘制并显示所述待预加载应用程序对应的应用界面。In one embodiment, the application preloading module is configured to preload an application interface corresponding to the application to be preloaded based on a pre-created preloading active window stack in the following manner: to create a corresponding application program to be preloaded The target process; creating a task stack corresponding to the application to be preloaded in a pre-created preloaded active window stack; and starting an active window corresponding to the application to be preloaded in the task stack based on the target process Draw and display an application interface corresponding to the application to be preloaded based on the activated active window.
在一实施例中,所述应用确定模块是设置为通过如下方式确定待预加载应用程序:预测多个候选应用程序的启动概率;按照启动概率由高到低的顺序,将前预设数值个候选应用程序确定为待预加载应用程序。In an embodiment, the application determining module is configured to determine an application to be preloaded by: predicting a startup probability of a plurality of candidate applications; and in accordance with an order of the startup probability from high to low, the first preset numerical values are The candidate application is determined as the application to be preloaded.
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行应用程序启动方法,该方法包括:在检测到应用预加载事件被触发的情况下,确定待预加载应用程序;对所述待预加载应用程序进行预加载;在接收到所述待预加载应用程序中包含的目标应用程序的启动指令的情况下,判断所述目标应用程序对应的已预加载的第一配置信息与当前显示界面的第二配置信息是否相同;响应于第一配置信息与第二配置信息不同的判断结果,禁止对所述第一配置信息的更新操作,并基于所述第一配置信息启动所述目标应用程序。An embodiment of the present application further provides a storage medium including computer-executable instructions, which are executed by a computer processor to execute an application program startup method, and the method includes: detecting that an application preload event is In the case of triggering, determine the application to be preloaded; perform preloading on the application to be preloaded; and determine whether the target application included in the application to be preloaded has received the startup instruction of the target application. Whether the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface; in response to a determination result that the first configuration information is different from the second configuration information, prohibiting the An update operation, and starting the target application based on the first configuration information.
存储介质——任何存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如紧凑型光盘只读储存器(Compact Disc Read-Only Memory,CD-ROM)、软盘或磁带装置;计算机***存储器或随机存取存储器,诸如动态随机存取存储器(Dynamic Random Access Memory,DRAM)、双倍数据速率随机存取存储器(Double Data Rate Random Access Memory,DDRRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)、扩展数据输出随机存取存储器(Extended Data Output Random Access Memory,EDORAM),兰巴斯(Rambus)随机存取存储器(Random Access Memory,RAM)等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或多种类型的存储器组合。另外,存储介质可以位于程序在其中被执行的第一计算机***中,或者可以位于不同的第二计算机***中,第二计算机***通过网络(诸如因特网)连接到第一计算机***。第二计算机***可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机***中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。Storage medium-any memory device or storage device. The term "storage medium" is intended to include: installation media such as Compact Disc Read-Only Memory (CD-ROM), floppy disks or magnetic tape devices; computer system memory or random access memory, such as dynamic random access memory Access Memory (Dynamic Random Access Memory, DRAM), Double Data Rate Random Access Memory (DDR Random Access Memory, DDRRAM), Static Random Access Memory (Stat Random Random Access Memory, SRAM), Extended Data Output Random Access Memory Access memory (Extended Data Output Random Access Memory (EDORAM), Rambus Random Access Memory (RAM), etc.); Non-volatile memory, such as flash memory, magnetic media (such as hard disk or optical storage) ; Registers or other similar types of memory elements, etc. The storage medium may also include other types of memory or multiple types of memory combinations. In addition, the storage medium may be located in a first computer system in which the program is executed, or may be located in a different second computer system connected to the first computer system through a network such as the Internet. The second computer system may provide program instructions to the first computer for execution. The term "storage medium" may include two or more storage media that may reside in different locations, such as in different computer systems connected through a network. The storage medium may store program instructions (for example, embodied as a computer program) executable by one or more processors.
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的应用程序启动操作,还可以执行本申请任意实施例所提供的应用程序启动方法中的相关操作。Certainly, a storage medium including computer-executable instructions provided in the embodiments of the present application is not limited to the application startup operation described above, and may also execute the application startup provided by any embodiment of the application. Related operations in the method.
本申请实施例提供了一种终端,该终端中可集成本申请实施例提供的应用程序启动装置。图8为本申请实施例提供的一种终端的结构示意图。终端800可以包括:存储器801,处理器802及存储在存储器上并可在处理器运行的计算机程序,所述处理器802执行所述计算机程序时实现如本申请实施例所述的应用程序启动方法。An embodiment of the present application provides a terminal, and the terminal may integrate an application startup device provided by the embodiment of the present application. FIG. 8 is a schematic structural diagram of a terminal according to an embodiment of the present application. The terminal 800 may include: a memory 801, a processor 802, and a computer program stored in the memory and executable by the processor. When the processor 802 executes the computer program, the application program startup method according to the embodiment of the present application is implemented. .
本申请实施例提供的终端,可有效解决由于已预加载的目标应用程序对应的第一配置信息和当前显示界面的第二配置信息的不同,导致对已预加载的目标应用程序的启动速度慢及卡顿等问题,可以有效提升待预加载应用程序的启动速度。The terminal provided in the embodiment of the present application can effectively solve the problem of slow startup of the preloaded target application due to the difference between the first configuration information corresponding to the preloaded target application and the second configuration information of the current display interface. And stutter issues can effectively improve the startup speed of the application to be preloaded.
图9为本申请实施例提供的另一种终端的结构示意图,该终端可以包括:壳体(图9中未示出)、存储器901、中央处理器(central processing unit,CPU)902(又称处理器,以下简称CPU)、电路板(图9中未示出)和电源电路(图中9未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU902和所述存储器901设置在所述电路板上;所述电源电路,设置为为所述终端的各个电路或器件供电;所述存储器901,设置为存储可执行程序代码;所述CPU902通过读取所述存储器901中存储的可执行程序代码来运行与所述可执行程序代码对应的计算机程序,以实现以下步骤:在检测到应用预加载事件被触发的情况下,确定待预加载应用程序;对所述待预加载应用程序进行预加载;在接收 到所述待预加载应用程序中包含的目标应用程序的启动指令的情况下,判断所述目标应用程序对应的已预加载的第一配置信息与当前显示界面的第二配置信息是否相同;响应于第一配置信息与第二配置信息不同的判断结果,禁止对所述第一配置信息的更新操作,并基于所述第一配置信息启动所述目标应用程序。FIG. 9 is a schematic structural diagram of another terminal according to an embodiment of the present application. The terminal may include: a housing (not shown in FIG. 9), a memory 901, a central processing unit (CPU) 902 (also referred to as A processor, hereinafter referred to as a CPU), a circuit board (not shown in FIG. 9), and a power supply circuit (not shown in FIG. 9). The circuit board is disposed in a space surrounded by the housing; the CPU 902 and the memory 901 are disposed on the circuit board; and the power supply circuit is configured to supply power to various circuits or devices of the terminal; The memory 901 is configured to store executable program code; the CPU 902 runs a computer program corresponding to the executable program code by reading the executable program code stored in the memory 901 to implement the following steps: In a case where an application preload event is detected, determine an application to be preloaded; preload the application to be preloaded; and receive a start instruction of a target application included in the application to be preloaded In the case of determining whether the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface; in response to a determination result that the first configuration information is different from the second configuration information, prohibiting the An operation of updating the first configuration information, and starting the target application based on the first configuration information.
所述终端还包括:外设接口903、射频(Radio Frequency,RF)电路905、音频电路906、扬声器911、电源管理芯片908、输入/输出(I/O)子***909、其他输入/控制设备910、触摸屏912、其他输入/控制设备910以及外部端口904,这些部件通过一个或多个通信总线或信号线907来通信。The terminal also includes a peripheral interface 903, a radio frequency (RF) circuit 905, an audio circuit 906, a speaker 911, a power management chip 908, an input / output (I / O) subsystem 909, and other input / control devices. 910, a touch screen 912, other input / control devices 910, and an external port 904. These components communicate through one or more communication buses or signal lines 907.
应该理解的是,图9所示的终端900仅仅是终端的一个范例,并且终端900可以具有比图9中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图9中所示出的多种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。It should be understood that the terminal 900 shown in FIG. 9 is only an example of the terminal, and the terminal 900 may have more or fewer components than those shown in FIG. 9, and two or more components may be combined , Or can have different component configurations. The various components shown in FIG. 9 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 startup provided in this embodiment, and the terminal uses a mobile phone as an example.
存储器901,所述存储器901可以被CPU902、外设接口903等访问,所述存储器901可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。 Memory 901, which can be accessed by CPU902, peripheral interface 903, etc. The memory 901 can include high-speed random access memory, and can also include non-volatile memory, such as one or more disk storage devices, flash memory devices , Or other volatile solid-state storage devices.
外设接口903,所述外设接口903可以将设备的输入和输出外设连接到CPU902和存储器901。A peripheral interface 903, which can connect input and output peripherals of the device to the CPU 902 and the memory 901.
I/O子***909,所述I/O子***909可以将设备上的输入输出外设,例如触摸屏912和其他输入/控制设备910,连接到外设接口903。I/O子***909可以包括显示控制器9091和设置为控制其他输入/控制设备910的一个或多个输入控制器9092。在一实施例中,一个或多个输入控制器9092从其他输入/控制设备910接收电信号或者向其他输入/控制设备910发送电信号,其他输入/控制设备910可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。在一实施例中,输入控制器9092可以与以下任一个连接:键盘、红外端口、通用串行总线(Universal Serial Bus,USB)接口以及诸如鼠标的指示设备。I / O subsystem 909, which can connect input / output peripherals on the device, such as touch screen 912 and other input / control devices 910, to peripheral interface 903. The I / O subsystem 909 may include a display controller 9091 and one or more input controllers 9092 configured to control other input / control devices 910. In one embodiment, one or more input controllers 9092 receive electrical signals from or send electrical signals to other input / control devices 910. The other input / control devices 910 may include physical buttons (press buttons, Rocker button, etc.), dial, slide switch, joystick, click wheel. In an embodiment, the input controller 9092 may be connected to any of the following: a keyboard, an infrared port, a universal serial bus (Universal Serial Bus, USB) interface, and a pointing device such as a mouse.
触摸屏912,所述触摸屏912是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。A touch screen 912, which is an input interface and an output interface between a user terminal and a user, and displays a visual output to the user. The visual output may include graphics, text, icons, videos, and the like.
I/O子***909中的显示控制器9091从触摸屏912接收电信号或者向触摸屏912发送电信号。触摸屏912检测触摸屏上的接触,显示控制器9091将检测到的接触转换为与显示在触摸屏912上的用户界面对象的交互,即实现人机交互,显示在触摸屏912上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。在一实施例中,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。The display controller 9091 in the I / O subsystem 909 receives an electric signal from the touch screen 912 or sends an electric signal to the touch screen 912. The touch screen 912 detects a contact on the touch screen, and the display controller 9091 converts the detected contact into interaction with a user interface object displayed on the touch screen 912, that is, realizes human-computer interaction. The user interface object displayed on the touch screen 912 may be running Icons for games, icons connected to the appropriate network, etc. In an embodiment, the device may further include a light mouse, which is a touch-sensitive surface that does not display a visible output, or an extension of the touch-sensitive surface formed by a touch screen.
RF电路905,主要设置为建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。在一实施例中,RF电路905接收并发送RF信号,RF信号也称为电磁信号,RF电路905将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路905可以包括用于执行这些功能的已知电路,RF电路805包括但不限于天线***、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编译码器(COder-DECoder,CODEC)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。The RF circuit 905 is mainly configured to establish communication between a mobile phone and a wireless network (that is, a network side), and realize data reception and transmission of the mobile phone and the wireless network. For example, send and receive text messages, e-mail, and so on. In an embodiment, the RF circuit 905 receives and sends RF signals. The RF signals are also referred to as electromagnetic signals. The RF circuit 905 converts electrical signals into electromagnetic signals or converts electromagnetic signals into electrical signals, and communicates with the communication network through the electromagnetic signals. As well as other devices. The RF circuit 905 may include known circuits for performing these functions. The RF circuit 805 includes, but is not limited to, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, COder-DECoder (CODEC) chipset, Subscriber Identity Module (SIM), and so on.
音频电路906,主要设置为从外设接口903接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器911。The audio circuit 906 is mainly configured to receive audio data from the peripheral interface 903, convert the audio data into an electrical signal, and send the electrical signal to the speaker 911.
扬声器911,设置为将手机通过RF电路905从无线网络接收的语音信号,还原为声音并向用户播放该声音。The speaker 911 is configured to restore a voice signal received by the mobile phone from the wireless network through the RF circuit 905 to a sound and play the sound to a user.
电源管理芯片908,设置为为CPU902、I/O子***及外设接口所连接的硬件进行供电及电源管理。The power management chip 908 is configured to provide power and power management for the hardware connected to the CPU 902, the I / O subsystem, and peripheral interfaces.
上述实施例中提供的应用程序启动装置、存储介质及终端可执行本申请任意实施例所提供的应用程序启动方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的应用程序启动方法。The application startup device, storage medium, and terminal provided in the foregoing embodiments can execute the application startup method provided in any embodiment of the present application, and have corresponding function modules and beneficial effects for executing the method. For technical details not described in detail in the foregoing embodiments, reference may be made to an application program startup method provided in any embodiment of the present application.

Claims (20)

  1. 一种应用程序启动方法,包括:An application startup method includes:
    在检测到应用预加载事件被触发的情况下,确定待预加载应用程序;Determine the application to be preloaded when it is detected that the application preload event is triggered;
    对所述待预加载应用程序进行预加载;Preloading the application to be preloaded;
    在接收到所述待预加载应用程序中包含的目标应用程序的启动指令的情况下,判断所述目标应用程序对应的已预加载的第一配置信息与当前显示界面的第二配置信息是否相同;When receiving the start instruction of the target application included in the application to be preloaded, determine whether the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface ;
    响应于所述第一配置信息与所述第二配置信息不同的判断结果,禁止对所述第一配置信息的更新操作,并基于所述第一配置信息启动所述目标应用程序。In response to a determination result that the first configuration information is different from the second configuration information, an update operation on the first configuration information is prohibited, and the target application is started based on the first configuration information.
  2. 根据权利要求1所述的方法,还包括:The method of claim 1, further comprising:
    响应于所述目标应用程序对应的已预加载的第一配置信息与当前显示界面的第二配置信息相同的判断结果,基于所述第一配置信息启动所述目标应用程序。In response to a determination result that the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface, the target application is started based on the first configuration information.
  3. 根据权利要求1所述的方法,其中,对所述待预加载应用程序进行预加载,包括:The method according to claim 1, wherein pre-loading the application to be pre-loaded comprises:
    基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。An application interface corresponding to the application to be preloaded 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.
  4. 根据权利要求3所述的方法,其中,所述第一配置信息包括所述目标应用程序对应的应用界面的应用边界,所述第二配置信息包括所述当前显示界面的显示边界;The method according to claim 3, wherein the first configuration information includes an application boundary of an application interface corresponding to the target application, and the second configuration information includes a display boundary of the current display interface;
    判断所述目标应用程序对应的已预加载的第一配置信息与当前显示界面的第二配置信息是否相同,包括:Determining whether the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface includes:
    判断预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面的应用边界与所述当前显示界面的显示边界是否相同。Determine whether the application boundary of the application interface corresponding to the target application included in the preloaded active window stack is the same as the display boundary of the current display interface.
  5. 根据权利要求4所述的方法,其中,禁止对所述第一配置信息的更新操作,并基于所述第一配置信息启动所述目标应用程序,包括:The method according to claim 4, wherein disabling an update operation of the first configuration information and starting the target application based on the first configuration information comprises:
    禁止对所述目标应用程序对应的应用界面的更新操作,并基于所述应用边界将所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。The updating operation of the application interface corresponding to the target application is prohibited, and the application interface corresponding to the target application is migrated to the display screen for display based on the application boundary.
  6. 根据权利要求4所述的方法,其中,禁止对所述第一配置信息的更新操作,并基于所述第一配置信息启动所述目标应用程序,包括:The method according to claim 4, wherein disabling an update operation of the first configuration information and starting the target application based on the first configuration information comprises:
    基于所述应用边界将所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示,并禁止对所述目标应用程序对应的应用界面的更新操作。The application interface corresponding to the target application is migrated to the display screen for display based on the application boundary, and an update operation of the application interface corresponding to the target application is prohibited.
  7. 根据权利要求3-6任一所述的方法,其中,所述基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,包括:The method according to any one of claims 3 to 6, wherein the preloading an application interface corresponding to the application to be preloaded based on a pre-created preloading active window stack comprises:
    判断是否存在预先创建的预加载活动窗口堆栈;Determine whether there is a pre-created pre-loaded active window stack;
    响应于所述预加载活动窗口堆栈不存在的判断结果,按照预设规则创建预加载活动窗口堆栈;In response to a judgment result that the preloaded active window stack does not exist, creating a preloaded active window stack according to a preset rule;
    基于所创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面。Preloading an application interface corresponding to the application to be preloaded based on the created preloading active window stack.
  8. 根据权利要求3-6任一所述的方法,其中,所述基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,包括:The method according to any one of claims 3 to 6, wherein the preloading an application interface corresponding to the application to be preloaded based on a pre-created preloading active window stack comprises:
    创建所述待预加载应用程序对应的目标进程;Creating a target process corresponding to the application to be preloaded;
    在预先创建的预加载活动窗口堆栈中创建所述待预加载应用程序对应的任务栈;Creating a task stack corresponding to the application to be preloaded in a pre-created preloading active window stack;
    基于所述目标进程在所述任务栈中启动所述待预加载应用程序对应的活动窗口;Starting an active window corresponding to the application to be preloaded in the task stack based on the target process;
    基于所启动的活动窗口绘制并显示所述待预加载应用程序对应的应用界面。An application interface corresponding to the application to be preloaded is drawn and displayed based on the activated active window.
  9. 根据权利要1-8任一项所述的方法,其中,所述确定待预加载应用程序包括:The method according to any one of claims 1-8, wherein the determining an application to be preloaded comprises:
    预测多个候选应用程序的启动概率;Predict the launch probability of multiple candidate applications;
    按照启动概率由高到低的顺序,将前预设数值个候选应用程序确定为待预加载应用程序。According to the order of starting probability from high to low, the candidate applications with the preset preset values are determined as the applications to be preloaded.
  10. 一种应用程序启动装置,包括:An application program starting device includes:
    应用确定模块,设置为在检测到应用预加载事件被触发的情况下,确定待预加载应用程序;An application determining module, configured to determine an application to be preloaded when detecting that an application preloading event is triggered;
    应用预加载模块,设置为对所述待预加载应用程序进行预加载;An application preloading module configured to preload the application to be preloaded;
    配置信息判断模块,设置为在接收到所述待预加载应用程序中包含的目标应用程序的启动指令的情况下,判断所述目标应用程序对应的已预加载的第一配置信息与当前显示界面的第二配置信息是否相同;The configuration information judging module is configured to judge the first pre-loaded first configuration information corresponding to the target application and the current display interface when a startup instruction of the target application included in the application to be preloaded is received. Whether the second configuration information is the same;
    第一应用启动模块,设置为响应于所述第一配置信息与所述第二配置信息不同的判断结果,禁止对所述第一配置信息的更新操作,并基于所述第一配置信息启动所述目标应用程序。The first application startup module is configured to, in response to a determination result that the first configuration information is different from the second configuration information, prohibit an update operation of the first configuration information, and start an application based on the first configuration information The target application is described.
  11. 根据权利要求10所述的装置,还包括:第二应用启动模块,设置为响应于所述目标应用程序对应的已预加载的第一配置信息与当前显示界面的第二配置信息相同的判断结果,基于所述第一配置信息启动所述目标应用程序。The device according to claim 10, further comprising: a second application startup module configured to respond to a determination result that the pre-loaded first configuration information corresponding to the target application is the same as the second configuration information of the current display interface And starting the target application based on the first configuration information.
  12. 根据权利要求10所述的装置,所述应用预加载模块是设置为:基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。The device according to claim 10, the application preloading module is configured to preload an application interface corresponding to the application to be preloaded based on a pre-created preloading active window stack, wherein the preloading active window The boundary coordinates of the stack are outside the coordinate range of the display screen.
  13. 根据权利要求12所述的装置,其中,所述第一配置信息包括所述目标应用程序对应的应用界面的应用边界,所述第二配置信息包括所述当前显示界面的显示边界;The device according to claim 12, wherein the first configuration information includes an application boundary of an application interface corresponding to the target application, and the second configuration information includes a display boundary of the current display interface;
    所述配置信息判断模块,是设置为判断预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面的应用边界与所述当前显示界面的显示边界是否 相同。The configuration information determination module is configured to determine whether an application boundary of an application interface corresponding to the target application included in a preloaded active window stack is the same as a display boundary of the current display interface.
  14. 根据权利要求13所述的装置,其中,所述第一应用启动模块是设置为响应于所述应用边界与所述显示边界不同的判断结果,禁止对所述目标应用程序对应的应用界面的更新操作,并基于所述应用边界将所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示。The device according to claim 13, wherein the first application startup module is configured to prohibit updating of an application interface corresponding to the target application in response to a determination result that the application boundary is different from the display boundary. Operate, and migrate an application interface corresponding to the target application to the display screen for display based on the application boundary.
  15. 根据权利要求13所述的装置,其中,所述第一应用启动模块是设置为响应于所述应用边界与所述显示边界不同的判断结果,基于所述应用边界将所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示,并禁止对所述目标应用程序对应的应用界面的更新操作。The apparatus according to claim 13, wherein the first application launching module is configured to respond to the target boundary of the target application based on the application boundary in response to a determination result that the application boundary is different from the display boundary. An application interface is migrated to the display screen for display, and an update operation of an application interface corresponding to the target application is prohibited.
  16. 根据权利要求12-15任一项所述的装置,其中,所述应用预加载模块是设置为通过如下方式基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面:The device according to any one of claims 12 to 15, wherein the application preloading module is configured to preload an application interface corresponding to the application to be preloaded based on a preloaded active window stack created in the following manner: :
    判断是否存在预先创建的预加载活动窗口堆栈;Determine whether there is a pre-created pre-loaded active window stack;
    响应于所述预加载活动窗口堆栈不存在的判断结果,按照预设规则创建预加载活动窗口堆栈;In response to a judgment result that the preloaded active window stack does not exist, creating a preloaded active window stack according to a preset rule;
    基于所创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面。Preloading an application interface corresponding to the application to be preloaded based on the created preloading active window stack.
  17. 根据权利要求12-15任一项所述的装置,其中,所述应用预加载模块是设置为通过如下方式基于预先创建的预加载活动窗口堆栈预加载所述待预加载应用程序对应的应用界面:The device according to any one of claims 12-15, wherein the application preloading module is configured to preload an application interface corresponding to the application to be preloaded based on a preloaded active window stack created in the following manner: :
    创建所述待预加载应用程序对应的目标进程;Creating a target process corresponding to the application to be preloaded;
    在预先创建的预加载活动窗口堆栈中创建所述待预加载应用程序对应的任务栈;Creating a task stack corresponding to the application to be preloaded in a pre-created preloading active window stack;
    基于所述目标进程在所述任务栈中启动所述待预加载应用程序对应的活动窗口;Starting an active window corresponding to the application to be preloaded in the task stack based on the target process;
    基于所启动的活动窗口绘制并显示所述待预加载应用程序对应的应用界面。An application interface corresponding to the application to be preloaded is drawn and displayed based on the activated active window.
  18. 根据权利要求10-17任一项所述的装置,其中,所述应用确定模块是设置为通过如下方式确定待预加载应用程序:The device according to any one of claims 10 to 17, wherein the application determining module is configured to determine an application to be preloaded in the following manner:
    预测多个候选应用程序的启动概率;Predict the launch probability of multiple candidate applications;
    按照启动概率由高到低的顺序,将前预设数值个候选应用程序确定为待预加载应用程序。According to the order of starting probability from high to low, the candidate applications with the preset preset values are determined as the applications to be preloaded.
  19. 一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-9中任一所述的应用程序启动方法。A computer-readable storage medium stores a computer program that, when executed by a processor, implements the method for starting an application program according to any one of claims 1-9.
  20. 一种终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-9任一所述的应用程序启动方法。A terminal includes a memory, a processor, and a computer program stored in the memory and executable by the processor, and the processor implements the application program starting method according to any one of claims 1 to 9 when the processor executes the computer program. .
PCT/CN2019/086121 2018-06-06 2019-05-09 Method and apparatus for starting application program, and storage medium and terminal WO2019233241A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810574498.0 2018-06-06
CN201810574498.0A CN108958830B (en) 2018-06-06 2018-06-06 Application program starting method and device, storage medium and terminal

Publications (1)

Publication Number Publication Date
WO2019233241A1 true WO2019233241A1 (en) 2019-12-12

Family

ID=64493048

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/086121 WO2019233241A1 (en) 2018-06-06 2019-05-09 Method and apparatus for starting application program, and storage medium and terminal

Country Status (2)

Country Link
CN (1) CN108958830B (en)
WO (1) WO2019233241A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111198725A (en) * 2019-12-30 2020-05-26 掌阅科技股份有限公司 Application starting processing method, computing equipment and computer storage medium
CN111625289A (en) * 2020-05-06 2020-09-04 小船出海教育科技(北京)有限公司 Method and device for quickly starting application program and electronic equipment
CN111736786A (en) * 2020-06-22 2020-10-02 Oppo广东移动通信有限公司 Split screen display method and device and computer readable storage medium
CN113448651A (en) * 2021-08-31 2021-09-28 北京鲸鲮信息***技术有限公司 Method and device for realizing application singleton function
CN114579209A (en) * 2022-05-06 2022-06-03 北京麟卓信息科技有限公司 Method for setting screen display mode during application starting in android compatible environment
CN115562772A (en) * 2022-03-31 2023-01-03 荣耀终端有限公司 Scene recognition and preprocessing method and electronic equipment
CN116055773A (en) * 2019-12-17 2023-05-02 华为技术有限公司 Multi-screen collaboration method, system and electronic equipment

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958830B (en) * 2018-06-06 2021-09-17 Oppo广东移动通信有限公司 Application program starting method and device, storage medium and terminal
CN111353110A (en) * 2018-12-21 2020-06-30 西安中兴新软件有限责任公司 Information input method and device
CN110244897A (en) * 2019-05-21 2019-09-17 深圳壹账通智能科技有限公司 A kind of interface switching method and device
CN113805962B (en) * 2021-08-31 2023-10-20 北京百度网讯科技有限公司 Application page display method and device and electronic equipment
CN113504862A (en) * 2021-09-11 2021-10-15 腾讯科技(深圳)有限公司 View data processing method and device, target device and storage medium
CN117850928A (en) * 2022-09-30 2024-04-09 华为技术有限公司 Application display method and electronic equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929532A (en) * 2012-09-29 2013-02-13 东莞宇龙通信科技有限公司 Application program starting method and communication terminal
CN105939416A (en) * 2016-05-30 2016-09-14 努比亚技术有限公司 Mobile terminal and application prestart method thereof
CN106066805A (en) * 2016-05-31 2016-11-02 宇龙计算机通信科技(深圳)有限公司 Method, device and the terminal that a kind of end application starts
CN106919313A (en) * 2017-04-21 2017-07-04 维沃移动通信有限公司 The startup method and mobile terminal of a kind of application program
CN108958830A (en) * 2018-06-06 2018-12-07 Oppo广东移动通信有限公司 Application program launching method, device, storage medium and terminal

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120192099A1 (en) * 2011-01-25 2012-07-26 Prb Srl Disposition of business process management program elements in a single window
CN103677766A (en) * 2012-08-31 2014-03-26 英业达科技有限公司 Automatic server configuring system and method based on preloading of configuration script
CN105573782B (en) * 2015-12-11 2019-01-15 中南大学 A kind of software pre-add support method for transparent wearable smart machine
CN105955766B (en) * 2016-04-22 2019-08-30 北京小米移动软件有限公司 Using preloading method and device
CN106843977B (en) * 2017-01-25 2019-11-05 北京安云世纪科技有限公司 A kind of processing method, device and the mobile terminal of application program self-starting

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929532A (en) * 2012-09-29 2013-02-13 东莞宇龙通信科技有限公司 Application program starting method and communication terminal
CN105939416A (en) * 2016-05-30 2016-09-14 努比亚技术有限公司 Mobile terminal and application prestart method thereof
CN106066805A (en) * 2016-05-31 2016-11-02 宇龙计算机通信科技(深圳)有限公司 Method, device and the terminal that a kind of end application starts
CN106919313A (en) * 2017-04-21 2017-07-04 维沃移动通信有限公司 The startup method and mobile terminal of a kind of application program
CN108958830A (en) * 2018-06-06 2018-12-07 Oppo广东移动通信有限公司 Application program launching method, device, storage medium and terminal

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12019942B2 (en) 2019-12-17 2024-06-25 Huawei Technologies Co., Ltd. Multi-screen collaboration method and system, and electronic device
CN116055773A (en) * 2019-12-17 2023-05-02 华为技术有限公司 Multi-screen collaboration method, system and electronic equipment
CN111198725A (en) * 2019-12-30 2020-05-26 掌阅科技股份有限公司 Application starting processing method, computing equipment and computer storage medium
CN111198725B (en) * 2019-12-30 2023-02-28 掌阅科技股份有限公司 Application starting processing method, computing equipment and computer storage medium
CN111625289A (en) * 2020-05-06 2020-09-04 小船出海教育科技(北京)有限公司 Method and device for quickly starting application program and electronic equipment
CN111625289B (en) * 2020-05-06 2023-03-24 小船出海教育科技(北京)有限公司 Method and device for quickly starting application program and electronic equipment
CN111736786B (en) * 2020-06-22 2022-09-09 Oppo广东移动通信有限公司 Split screen display method and device and computer readable storage medium
CN111736786A (en) * 2020-06-22 2020-10-02 Oppo广东移动通信有限公司 Split screen display method and device and computer readable storage medium
CN113448651B (en) * 2021-08-31 2021-12-14 北京鲸鲮信息***技术有限公司 Method and device for realizing application singleton function
CN113448651A (en) * 2021-08-31 2021-09-28 北京鲸鲮信息***技术有限公司 Method and device for realizing application singleton function
CN115562772A (en) * 2022-03-31 2023-01-03 荣耀终端有限公司 Scene recognition and preprocessing method and electronic equipment
CN115562772B (en) * 2022-03-31 2023-10-27 荣耀终端有限公司 Scene recognition and preprocessing method and electronic equipment
CN114579209A (en) * 2022-05-06 2022-06-03 北京麟卓信息科技有限公司 Method for setting screen display mode during application starting in android compatible environment

Also Published As

Publication number Publication date
CN108958830B (en) 2021-09-17
CN108958830A (en) 2018-12-07

Similar Documents

Publication Publication Date Title
WO2019233241A1 (en) Method and apparatus for starting application program, and storage medium and terminal
WO2019223578A1 (en) Application program preloading method and apparatus, and storage medium and terminal
US11086663B2 (en) Preloading application using active window stack
EP3575962B1 (en) Method and device for preloading application, storage medium and intelligent terminal
US11467855B2 (en) Application preloading method and device, storage medium and terminal
US11604660B2 (en) Method for launching application, storage medium, and terminal
CN108647055B (en) Application program preloading method and device, storage medium and terminal
WO2019223510A1 (en) Application program preloading method and apparatus, storage medium, and mobile terminal
EP3575961B1 (en) Method and apparatus for updating application prediction model, storage medium, and terminal
US11099861B2 (en) Method for preloading application, storage medium, and terminal
US20190370603A1 (en) Method and apparatus for establishing an application prediction model, storage medium and terminal
CN108762831B (en) Application program preloading method and device, storage medium and terminal
CN108595224B (en) Application program prompting method and device, storage medium and terminal
WO2019223540A1 (en) Application program preloading method and apparatus, storage medium, and terminal
WO2019218885A1 (en) Application program pre-loading method and apparatus, and storage medium and intelligent terminal
WO2019218886A1 (en) Application pre-loading management method, device, storage medium and smart terminal
WO2019223511A1 (en) Application program preloading method and apparatus, storage medium, and terminal
WO2019214477A1 (en) Application program pre-loading method and device, storage medium and terminal
CN108958828B (en) Application program preloading method and device, storage medium and terminal
WO2019214476A1 (en) Screen direction setting method and device, storage medium and terminal
WO2019228134A1 (en) Application program pre-loading method and device, storage medium, and terminal
WO2019228149A1 (en) Collection method and apparatus for prediction sample, and storage medium and smart terminal
WO2019214475A1 (en) Application preloading method, device, storage medium, and mobile terminal
CN108845838B (en) Application program preloading method and device, storage medium and terminal

Legal Events

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

Ref document number: 19814881

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

Country of ref document: EP

Kind code of ref document: A1