WO2019214475A1 - Application preloading method, device, storage medium, and mobile terminal - Google Patents

Application preloading method, device, storage medium, and mobile terminal Download PDF

Info

Publication number
WO2019214475A1
WO2019214475A1 PCT/CN2019/084779 CN2019084779W WO2019214475A1 WO 2019214475 A1 WO2019214475 A1 WO 2019214475A1 CN 2019084779 W CN2019084779 W CN 2019084779W WO 2019214475 A1 WO2019214475 A1 WO 2019214475A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
target application
preloaded
target
active window
Prior art date
Application number
PCT/CN2019/084779
Other languages
French (fr)
Chinese (zh)
Inventor
韩世广
陈岩
Original Assignee
上海瑾盛通信科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 上海瑾盛通信科技有限公司 filed Critical 上海瑾盛通信科技有限公司
Publication of WO2019214475A1 publication Critical patent/WO2019214475A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading

Definitions

  • the embodiments of the present application relate to the field of application loading technologies, for example, to an application preloading method and apparatus, a storage medium, and a mobile terminal.
  • mobile terminals such as smart phones, tablets, notebook computers, and smart home appliances have become indispensable electronic devices in people's daily lives.
  • mobile terminal devices continue to be intelligent, most mobile terminal devices are loaded with an operating system, so that the mobile terminal device can install a variety of applications to meet different needs of users.
  • the embodiment of the present application provides an application preloading method and device, a storage medium, and a mobile terminal, which can optimize an application loading scheme.
  • an embodiment of the present application provides an application preloading method, including:
  • An application preload event is detected to be triggered
  • the application interface corresponding to the target application is preloaded with a low power core in the multi-core processor.
  • an application preloading apparatus including:
  • An event trigger detection module configured to detect whether an application preload event is triggered
  • An application determining module configured to determine a target application to be preloaded when detecting that an application preloading event is triggered
  • the preloading module is configured to preload the application interface corresponding to the target application by using a low power core in the multi-core processor.
  • the embodiment of the present application provides a computer readable storage medium, where a computer program is stored, and when the program is executed by the processor, the application preloading method is implemented as described in the embodiment of the present application.
  • an embodiment of the present application provides a mobile terminal, including a memory, a processor, and a computer program stored in the memory and executable by the processor, where the processor executes the computer program to implement the implementation of the present application.
  • FIG. 1 is a schematic flowchart of an application preloading method according to an embodiment of the present application
  • FIG. 2 is a schematic diagram of a relative position relationship between a preloaded active window stack and a display screen display area according to an embodiment of the present application
  • FIG. 3 is a schematic diagram of a relative positional relationship between a preloaded active window stack and a display screen display area according to an embodiment of the present application
  • FIG. 4 is a schematic flowchart of still another application preloading method according to an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of another application preloading method according to an embodiment of the present disclosure.
  • FIG. 6 is a structural block diagram of an application preloading apparatus according to an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a mobile terminal according to an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of still another mobile terminal according to an embodiment of the present application.
  • FIG. 1 is a schematic flowchart of an application preloading method according to an embodiment of the present application.
  • the method may be performed by an application preloading device, where the device may be implemented by software and/or hardware, and may be integrated into a mobile terminal.
  • the method includes: step 101, step 102, and step 103.
  • step 101 it is detected that an application preload event is triggered.
  • the mobile terminal in the embodiment of the present application may include a mobile device such as a mobile phone, a tablet computer, and a notebook computer.
  • the mobile terminal is loaded with an operating system.
  • the triggering condition of the application pre-loading event may be set according to an actual situation, which is not specifically limited in this embodiment.
  • the application preload event may be triggered when it is detected that the user's action satisfies a preset condition (such as picking up the mobile terminal, inputting a screen unlocking operation, or inputting a mobile terminal unlocking operation, etc.); or may 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 duration) after the pre-loading application's prediction process ends; or it can be triggered at regular intervals.
  • the system may detect that the application preloading event has been triggered by reading the flag bit or receiving the triggering instruction.
  • the specific detection mode is not limited in the embodiment of the present application.
  • step 102 a target application to be preloaded is determined.
  • the application to be preloaded can be understood as an application that the user may open soon, or may be a fixed application that is preset, or an application that is predicted in a certain manner.
  • the application to be preloaded may include one or more.
  • the target application can be understood as the application to be preloaded that currently needs to be preloaded.
  • the target application can also include one or more.
  • the target application can be one (ie, multiple applications to be preloaded) Determined as the target application one by one, and preloaded in turn), or multiple (it is more than 2 applications to be preloaded as the target application, and at the same time preloading, that is, multiple targets
  • the application's preloading process can be done in parallel).
  • a predictive model can be used to predict the preloaded application.
  • the prediction model may be a machine learning model, and the algorithms used may include Recurrent neural networks (RNN), Long Short-Term Memory (LSTM) networks, threshold loop units, simple loop units, and automatic coding. , decision tree, random forest, feature mean classification, classification regression tree, hidden Markov, K-Nearest Neighbor (KNN) algorithm, logistic regression model, Bayesian model, Gaussian model, and KL divergence (Kullback) –Leibler divergence) and so on.
  • RNN Recurrent neural networks
  • LSTM Long Short-Term Memory
  • KNN K-Nearest Neighbor
  • KNN K-Nearest Neighbor
  • logistic regression model Bayesian model
  • Gaussian model Gaussian model
  • KL divergence Kullback
  • the training samples are collected, and the preset initial model is trained by using the training samples, and finally the prediction model for predicting the application to be preloaded is obtained.
  • the elements included in the training sample may include a time series or sequence of sequences in which the application is opened; may include the time, location, and frequency of the application being opened, etc.; may include the operational status of the mobile terminal, such as a mobile data network.
  • Switch status, connection status of the wireless hotspot, identity information of the connected wireless hotspot, currently running application, last foreground application, duration of the current application staying in the background, time when the current application was last switched to the background , plug-in status of the headphone jack, charging status, battery power information, and screen display duration, etc.; may also include data collected by sensors integrated in the mobile terminal, such as motion sensors, light sensors, temperature sensors, humidity sensors, etc. .
  • the appropriate sample elements can be selected according to the selected machine learning model, and the selected machine learning model can be determined according to the selected sample elements, and can also be combined with the requirements for prediction accuracy and preset speed.
  • the selection of the model and the sample elements and the like are not limited in the embodiment of the present application.
  • determining the target application to be preloaded may include determining a target application to be preloaded according to an output result before the prediction model, or including using the prediction model to perform prediction, and determining a current output result of the prediction model. Preloaded target application.
  • step 103 the application interface corresponding to the target application is preloaded with a low power core in the multi-core processor.
  • the multi-core processor is a large-scale core processor (a processor based on a big.LITTLE model)
  • the low-power core is a small core.
  • the concept of large and small cores namely the big.LITTLE model, and the big.LITTLE model can be called heterogeneous multiprocessor (Heterogeneous Multi- in computer terminology). Processing, HMP).
  • HMP Heterogeneous Multi- in computer terminology. Processing, HMP).
  • any core can wake up first, or the last one, and can be online at the same time.
  • the working power of the small core is less than the working power of the large core.
  • the number of small cores and large cores are not limited. .
  • the low-power core may be the core with lower current operating power; or the low-power core may be a core group with fewer cores, for example, an 8-core processor
  • the first six cores can be used to process the foreground application task, and the latter two cores are used for preloading the application interface.
  • the core group composed of the latter two cores can be regarded as the low power consumption core in the embodiment of the present application.
  • the preloading process of the application interface may involve multiple core work.
  • a large and small core processor may use a large core, which may result in a preloading process. More power consumption may cause the mobile terminal to generate heat or less standby time, which affects the user's use.
  • the core resources are occupied during the pre-loading process, it may affect the operation of the foreground application, such as the card. Don't wait. Therefore, in the embodiment of the present application, when the application interface of the target application is preloaded, the use of the processor resource by the mobile terminal is restricted, and only the right to use the low power core is granted, thereby achieving low power preloading. purpose.
  • the application preloading method provided in the embodiment of the present application detects that an application preloading event is triggered, determines a target application to be preloaded, and preloads the target application corresponding to the low power core in the multicore processor.
  • Application interface By adopting the above technical solution, the use of system resources for preloading can be restricted during the application preloading process, and the preloading process is prevented from generating excessive power consumption.
  • the method further includes: setting a visibility attribute of the pre-loaded application interface to be invisible,
  • the invisibility includes being invisible to the system.
  • the application interface After pre-loading, the application interface is still invisible to the user because the user does not actually launch the target application, but it is visible to the system at this time, which will bring some The additional power consumption, for example, when the user has not started the target application for a long time, the application interface of the pre-loaded application is visible to the system for a long time, which increases the system burden and generates excessive unnecessary power consumption. Therefore, the present application
  • the visible attribute of the application interface is set to be invisible.
  • the method further includes: suspending the target application.
  • the suspending the target application comprises: suspending an active window at the top of the task stack corresponding to the target application.
  • the active window can be understood as an independent interface that provides interaction and operation directly to the user. Different interfaces may be used to name the interface in different operating systems. For ease of understanding, the following is an example of an Android operating system.
  • the active window is called Activity.
  • An Activity is a component responsible for interacting with a user, providing a screen (which can be understood as a screen interface rather than a physical display screen) for the user to interact with a task.
  • an android application an Activity is usually a separate screen that can display some controls and listen and handle user events.
  • Task task stack
  • Stack active window stack
  • Task corresponds to an application
  • Task is used to store Activity
  • a Task can store one or more Activity, and these activities follow the principle of "advanced, last in, first out”.
  • Stack is used to manage the Task.
  • a Stack manages the Tasks to which each Activity needs to be displayed on a screen.
  • a Stack can manage one or more Tasks.
  • Stack also follows the basic management principles of the stack.
  • the screen described here is not necessarily a completely separate display. Taking "two screens" as an example, these two screens may be just two areas in a complete display that independently display their respective display contents. Of course, if the terminal has two or even more than two independent displays, the "two screens" can also be two separate displays.
  • the Activity at the top of the Task corresponding to the target application is suspended, so that the Activity will enter the operation of onPause->onStop->onDestroy in the Android application life cycle, so that the application will no longer work.
  • Select the top Activity of the Task because the top Activity is the Activity that the application is working on. Pausing the Activity can suspend the application.
  • the method further includes: freezing the process of the target application.
  • the process of freezing the target application includes: writing a process identifier of a process of the target application to a node in a kernel layer corresponding to a frozen attribute in a preset freeze group.
  • a process identifier of a process of the target application to a node in a kernel layer corresponding to a frozen attribute in a preset freeze group.
  • the process that needs to be frozen is frozen.
  • the method further includes: waking up the process of the target application when detecting, by the kernel layer, that the receiver is a preset message of the target application After the preset duration, the process of the target application is re-frozen.
  • the advantage of this setting is to ensure that the frozen target application can be briefly awakened when needed, and communicate with the outside world in time to ensure low power consumption.
  • the default message can be a binder or a socket.
  • the preset duration may be a preset fixed value, such as 5 seconds, or may be a dynamically changed value, which may be dynamically determined according to the type or content of the received message, which is not limited in this embodiment.
  • the preloading the application interface corresponding to the target application by using a low power core in the multi-core processor comprises: adopting a low power core in the multi-core processor, based on a pre-created preloading activity
  • the window stack preloads an application interface corresponding to the target application, wherein the boundary coordinates corresponding to the preloaded active window stack are outside the coordinate range of the display screen.
  • multi-window mode is supported, which can include split screen mode, picture in picture mode, and free mode (FreeForm).
  • the Stack on which the application resides can have its own size, which can include the top, bottom, left, and right coordinates in the coordinate system with the top left corner of the terminal screen as the origin.
  • (a, b, c, d) generally describes the boundary of a rectangle, which can be represented by the coordinates of the upper left corner of the rectangle and the coordinates of the lower right corner, that is, the coordinates of the upper left corner of the rectangle are (a, b), right.
  • the lower corner coordinates are (c, d), and such a rectangular area corresponds to the size of the Stack.
  • the in-app layout in the Stack is based on the size of the Stack, which means that the application interface corresponding to the Activity is displayed within the bounds of the size.
  • multiple applications can be allowed to be visible, both system and user visible and only system visible. Both the system and the user are visible to display on the display screen, and the user can see; only the system visible means that the operating system is visible, and the user is invisible, may be blocked by the application of the foreground or as implemented in the application. Display off-screen display.
  • pre-loading the application interface of the target application outside the display screen may be implemented based on a multi-window mechanism of the operating system, and the size corresponding to the application is set outside the display screen through the multi-window mechanism to achieve
  • the purpose of the user's invisibility is such that it does not affect the display of the foreground application's display content on the display screen.
  • the multi-window mode there may be multiple types of stacks, such as the Home Stack indicating the stack displayed by the desktop application, the App Stack indicating the Stack displayed by the third-party application, and other split screen stacks, etc., in the above three stacks.
  • the included content can be displayed on the display screen, which is collectively referred to as an application active window stack in the embodiment of the present application.
  • a preloaded active window stack (preloaded stack) is added, which is used to represent the stack displayed by the preloaded application, and the boundary coordinates of the preloaded stack are set outside the coordinate range of the display screen, and are to be preloaded.
  • the app can be displayed on the stack.
  • a new stack dedicated to displaying preloaded applications can be created based on the multi-window mechanism of the Android system.
  • the new stack is created because the newly created preloaded stack can have its own size and visibility, thereby achieving pre-loading on the display screen.
  • the creation time of the preloaded stack is not limited, and the preloaded stack is in the resident state by default, that is, the preloaded stack is always present; or the terminal is successfully unlocked when the terminal is powered on or the terminal is successfully unlocked.
  • Post-create can also be created after the application preload event is triggered (can be determined before the target application is determined).
  • the pre-creating a preloaded active window stack preloading an application interface corresponding to the target application comprises: determining whether there is a pre-created preloaded active window stack; if not, according to the pre Setting a rule to create a preloaded active window stack and preloading an application interface corresponding to the target application based on the created preloaded active window stack; if present, preloading the stack based on the pre-created preloaded active window stack The application interface corresponding to the target application.
  • the preloaded stack is created before the first target application starts loading, then the first Before the two target applications start loading, the preloaded stack exists, and it is not necessary to make the above judgment.
  • the specific process of the application interface corresponding to the preloading of the target application is not limited.
  • the application interface may be drawn and displayed based on the size of the preloaded stack.
  • the pre-creating a preloaded active window stack preloading an application interface corresponding to the target application, including: creating a target process corresponding to the target application; pre-creating a pre-loaded active window Creating a task stack corresponding to the target application in the stack; starting an active window corresponding to the target application in the task stack based on the target process; drawing and displaying the target application corresponding to the activated active window Application interface.
  • the advantage of this setting is that the application interface of the target application can be drawn and displayed based on the preloaded active window stack outside the screen coordinate range, without interfering with the operation and display of the foreground application, ensuring system stability and effectively improving The speed at which the target application starts.
  • the creation process of the target process can also include the initialization process of the target process.
  • the preloading of other resources may be involved, such as application service startup, memory allocation, file content reading, and network data acquisition.
  • the preloading process of other resources is not limited in this embodiment.
  • the method further includes: transmitting a forged focus notification to the target application, and maintaining a continuous rendering of the application interface corresponding to the target application and displaying an update for a preset time period based on the forged focus notification.
  • the advantage of this setting is that the application interface can be drawn and displayed while the target application is in focus and visible to the system, improving the completion of the preload without affecting the focus of the foreground application.
  • the focus in the embodiment of the present application is also referred to as an input focus, and the forged focus is independent of the focus corresponding to the foreground application.
  • the focus is unique. For example, the input operation such as touch is only effective for the focus.
  • the system side and the application end are consistent, and once the system side modifies the input focus information, Sending information that the input focus information changes to the application, so as to ensure that the input information of the system end and the application end are consistent.
  • the purpose of forging the focus on the application end is achieved by separating the manner in which the system side and the application end input the focus information.
  • the pre-loading application is forged focus notification, so that the pre-loading application has the focus information, and the focus information of the system is still correct, so that the pre-loading application can be normally drawn to achieve the purpose of full loading. The focus exists on the system side and the application side.
  • the system side records the application with the focus, and the application saves the flag (flag) to identify whether it has focus.
  • the timing of forging the input focus may be that when the window system of Android adds a window and needs to update the focus, a fake focus notification is generated and sent.
  • the method of forging 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 the focus.
  • the sending of the forged focus notification may be performed based on the Binder mechanism, which is the most common way of inter-process communication of the Android system, adopting the c/s architecture, that is, the client/service architecture.
  • the preset time period may be designed according to actual conditions, for example, may be within a fixed duration range after starting preloading, or may be a period from the start of preloading to the completion of preloading.
  • the length of the preset time period includes a play duration in which the advertisement is launched or the animation is activated in the target application.
  • Some applications usually play some advertisements or animations during the startup process.
  • the duration of the advertisement or animation is usually from 3 seconds to ten seconds.
  • the user may not be able to perform any operations. Can wait for the playback to complete, wasting the user's valuable time.
  • the advantage of the setting of the embodiment of the present application is that the startup advertisement or the startup animation can be played out of the screen before the target application is started, and when the target application is started, the main page of the application or other user can be directly operated. Interface to further advance the target time point of the target application and reduce waiting time.
  • the method further includes: migrating the preloaded application interface to the display screen for display when receiving the running instruction of the target application.
  • migrating the preloaded application interface to the display screen for display when receiving the running instruction of the target application.
  • the migrating the application interface corresponding to the target application included in the preloaded active window stack to the display screen for display comprises: including the preloaded active window stack
  • the task stack corresponding to the target application is migrated to the top of the application active window stack; the size information, the configuration information, and the visibility of the task stack are updated, so that the application interface corresponding to the target application is implemented on the display screen. display.
  • the display mode of the display screen usually includes vertical screen display and horizontal screen display, and many applications use the vertical screen mode for display by default, and some applications.
  • the program defaults to display in landscape mode (such as some online games).
  • some applications also switch between horizontal and vertical display as the user holds the direction of the terminal.
  • the boundary coordinates corresponding to the preloaded active window stack are (H, 0, 2H, H)
  • the coordinate system corresponding to the boundary coordinates is system coordinates
  • the origin of the system coordinates is In the upper left corner of the display screen
  • H is the length of the long side of the display area of the display screen.
  • FIG. 2 is a schematic diagram of a relative position relationship between a preloaded active window stack and a display screen display area according to an embodiment of the present application. As shown in FIG. 2, the display screen is in the vertical screen mode, and the origin of the terminal system coordinates is the left vertex (0, 0) of the display screen 201.
  • the width direction of the display screen 201 is the X axis, and the height direction is the Y axis.
  • the boundary coordinates of the loaded Stack 202 are (H, 0, 2H, H), H is the screen height, that is, the area within the solid line rectangle on the left side is the main screen display area, and the area within the rectangular area of the right dashed line is the preloaded display area.
  • FIG. 3 is a schematic diagram of a relative positional relationship between a preloaded active window stack and a display screen display area according to an embodiment of the present application. As shown in FIG. 3, the display screen is in the horizontal screen mode, and the origin of the terminal system coordinates is the left vertex (0, 0) of the display screen 301.
  • the height direction of the display screen 301 is the X axis, and the width direction is the Y axis.
  • the boundary coordinates of the loaded Stack 202 are (H, 0, 2H, H), H is the screen height, that is, the area within the solid line rectangle on the left side is the main screen display area, and the area within the rectangular area of the right dashed line is the preloaded display area.
  • the horizontal coordinate of the upper left corner is H, which is to prevent the display screen (also called the main screen) from being displayed to the interface of the preloaded application when the horizontal screen is used, because the main screen has the horizontal screen mode and the horizontal screen mode when the main screen is horizontal screen.
  • the horizontal coordinate of the upper left corner of the rectangular area corresponding to the preloaded stack is set to the screen height.
  • the ordinate of the upper left corner is 0, in order to preload the application to correctly calculate the status bar height.
  • the Android application will customize the top status bar. If the corresponding ordinate of the upper side is not equal to 0, the height of the status bar may be wrong.
  • the inventor sets the size of the preloaded stack to (H, 0, 2H, H).
  • FIG. 4 is a schematic flowchart of still another application preloading method according to an embodiment of the present disclosure, where the method includes the following steps: Step 401 to Step 406.
  • step 401 it is detected that an application preload event is triggered.
  • step 402 a target application to be preloaded is determined.
  • step 403 the small core in the large and small core processor is used to preload the application interface corresponding to the target application based on the pre-created preloaded active window stack.
  • step 404 the visibility attribute of the pre-loaded application interface is set to be invisible.
  • step 405 the active window at the top of the task stack corresponding to the target application is suspended.
  • the visibility property of the application interface may be set to be invisible each time an application interface is drawn (or rendered). After all the application interfaces that need to be preloaded are drawn (or when the target application's preload time reaches the preset time threshold), the active window at the top of the task stack is paused.
  • step 406 upon receiving the running instruction of the target application, the active window is restored, and the application interface corresponding to the active window is migrated to the display screen for display.
  • the application preloading method provided by the embodiment of the present application preloads the application interface of the preloaded application on the offscreen by using a small core in the large and small core processor.
  • the visibility attribute is set to Invisible, and suspend the active window at the top of its corresponding task stack to reduce the power consumption of the target application waiting for startup.
  • the active window is restored and its corresponding application interface is migrated to display. The screen is displayed to effectively increase the startup speed of the target application.
  • FIG. 5 is a schematic flowchart of another application preloading method according to an embodiment of the present disclosure. As shown in FIG. 5, the method includes: Step 501 to Step 507.
  • step 501 it is detected that an application preload event is triggered.
  • step 502 a target application to be preloaded is determined.
  • step 503 the small core in the large and small core processor is used to preload the application interface corresponding to the target application based on the pre-created preloaded active window stack.
  • step 504 the visibility attribute of the pre-loaded application interface is set to be invisible.
  • step 505 the process identifier of the process of the target application is written to the node in the kernel layer corresponding to the frozen attribute in the preset freeze group.
  • the freezer cgroup of the Linux kernel can be used to freeze the process.
  • a freezer CGroup can be created at boot time or at other times, and the FROZEN typeface is written to the freezer.state node (can be understood as a control file, and the FROZEN typeface is written to the control file for the freezer CGroup.
  • the cgroup.procs node sets the freeze attribute), and writes the pid (process ID) of one or more processes included in the target application to the frozen cgroup.procs node of the cgroup, thereby freezing the process of the target application, thereby Implement the freezing of the target application.
  • the frozen target application After freezing, when the target application that has been frozen by the kernel monitors has a binder or socket message, the frozen target application is briefly awakened and then re-entered.
  • step 506 it is determined whether a running instruction of the target application is received, and if so, step 507 is performed; otherwise, step 506 is repeatedly executed.
  • step 507 the process of the target application is thawed, and the current application interface corresponding to the target application included in the preloaded active window stack is migrated to the display screen for display.
  • a frozen subdirectory can be set under the root directory, the process in the root directory is an unfrozen process, and the process in the frozen subdirectory is a freeze process.
  • the corresponding process ID can be written to the file node in the frozen subdirectory; when thawed, the process ID can be written into the root directory to complete the thaw.
  • /dev/freezer/ is the root directory
  • the root directory may include the subdirectory /dev/freezer/elsa_freezing2 (equivalent to the newly created freezer CGroup).
  • This subdirectory contains the file node freezer.state, and the content of freezer.state is FROZEN.
  • the pid of the process is written to the cgroup.procs node in the subdirectory.
  • the pid of the process is written to the root directory. Since there is no freezer.state node in the root directory, it can be implemented. Thaw, at this point, the pid of the thawed process will be automatically deleted in the cgroup.procs node.
  • the application preloading method provided by the embodiment of the present application preloads the application interface of the preloaded application on the offscreen by using a small core in the large and small core processor. After the application interface is drawn, the visibility attribute is set to Invisible, freezing the process of the target application to reduce the power consumption of the target application waiting for the startup process. When the user actually starts the target application, the application process is thawed, and the corresponding application interface is migrated to the display screen for display. Effectively increase the startup speed of the target application.
  • FIG. 6 is a structural block diagram of an application preloading apparatus according to an embodiment of the present disclosure.
  • the apparatus may be implemented by software and/or hardware, and is generally integrated in a mobile terminal, and may execute an application preloading method. Preloading.
  • the device includes an event trigger detection module 601, an application determination module 602, and a preload module 603.
  • the event trigger detection module 601 is configured to detect whether an application preload event is triggered
  • the preloading module 603 is configured to preload an application interface corresponding to the target application by using a low power core in the multi-core processor.
  • the application preloading device provided in the embodiment of the present application detects that an application preload event is triggered, determines a target application to be preloaded, and preloads the target application corresponding to the low power core in the multicore processor.
  • Application interface By adopting the above technical solution, the use of system resources for preloading can be restricted during the application preloading process, and the preloading process is prevented from generating excessive power consumption.
  • the apparatus further comprises:
  • a visibility setting module configured to set a visibility attribute of the pre-loaded application interface to be invisible after the application interface corresponding to the target application is preloaded by the low-power core in the multi-core processor, Not visible includes not visible to the system.
  • the apparatus further comprises:
  • the application suspending module is configured to suspend the target application after the application interface corresponding to the target application is preloaded by the low-power core in the multi-core processor;
  • the application freeze module is configured to freeze the process of the target application after the application interface corresponding to the target application is preloaded by the low power core in the multi-core processor.
  • the suspending the target application comprises:
  • the process of freezing the target application includes:
  • the apparatus further comprises:
  • Applying a defrosting module configured to, after the process of freezing the target application, thaw the process of the target application when detecting, by the kernel layer, that the receiver is a preset message of the target application;
  • the application freezing module is further configured to: after the process of the target application is thawed, after the preset duration, the process of the target application is re-frozen.
  • the low-power core in the multi-core processor preloads an application interface corresponding to the target application, including:
  • the preloading module is further configured to:
  • Determining whether there is a pre-created preloaded active window stack in response to the absence of a pre-created preloaded active window stack, creating a preloaded active window stack according to a preset rule, and preloading the stack based on the created preloaded active window stack An application interface corresponding to the target application; in response to the pre-created preloaded active window stack, preloading an application interface corresponding to the target application based on the pre-created preloaded active window stack.
  • the preloading module is further configured to:
  • Creating a target process corresponding to the target application creating a task stack corresponding to the target application in a pre-created preload active window stack; and starting the target application corresponding to the target process in the task stack based on the target process
  • An active window draws and displays an application interface corresponding to the target application based on the activated active window.
  • the apparatus further comprises:
  • the interface migration module is configured to, when receiving the running instruction of the target application, migrate the pre-loaded application interface to the display screen for display.
  • the embodiment of the present application further provides a storage medium including computer executable instructions for executing an application preloading method when executed by a computer processor, the method comprising:
  • An application preload event is detected to be triggered
  • the application interface corresponding to the target application is preloaded with a low power core in the multi-core processor.
  • Storage media any of a variety of types of memory devices or storage devices.
  • the term "storage medium” is intended to include: a mounting medium such as a CD-ROM, a floppy disk or a tape device; a computer system memory or a random access memory such as DRAM, DDRRAM, SRAM, EDORAM, Rambus RAM, etc.; Volatile memory, such as flash memory, magnetic media (such as hard disk or optical storage); registers or other similar types of memory elements, and the like.
  • the storage medium may also include other types of memory or a combination thereof.
  • the storage medium may be located in a first computer system in which the program is executed, or may be located in a different second computer system, the second computer system being coupled to the first computer system via a network, such as the Internet.
  • the second computer system can provide program instructions to the first computer for execution.
  • the term "storage medium" can include two or more storage media that can reside in different locations (eg, in different computer systems connected through a network).
  • a storage medium may store program instructions (eg, embodied as a computer program) executable by one or more processors.
  • the storage medium containing the computer executable instructions provided by the embodiment of the present application is not limited to the application preloading operation as described above, and may also execute the application provided by any embodiment of the present application. Related operations in the preload method.
  • FIG. 7 is a schematic structural diagram of a mobile terminal according to an embodiment of the present application.
  • the mobile terminal 700 can include a memory 701, a processor 702, and a computer program stored on the memory and executable by the processor, and the processor 702 executes the computer program to implement the application program as described in the embodiment of the present application. Load method.
  • the mobile terminal provided by the embodiment of the present application can limit the use of system resources for preloading in the application preloading process, and avoid excessive power consumption in the preloading process.
  • FIG. 8 is a schematic structural diagram of another mobile terminal according to an embodiment of the present disclosure.
  • the mobile terminal may include: a housing (not shown), a memory 801, and a central processing unit (CPU) 802 (again
  • the processor is referred to as a CPU, a circuit board (not shown), and a power supply circuit (not shown).
  • the circuit board is disposed inside a space enclosed by the casing; the CPU 802 and the memory 801 are disposed on the circuit board; and the power circuit is configured to supply power to each circuit or device of the mobile terminal
  • the memory 801 is configured to store executable program code; the CPU 802 runs a computer program corresponding to the executable program code by reading executable program code stored in the memory 801 to implement the following steps:
  • An application preload event is detected to be triggered
  • the application interface corresponding to the target application is preloaded with a low power core in the multi-core processor.
  • the mobile terminal further includes: a peripheral interface 803, a radio frequency (RF) circuit 805, an audio circuit 806, a speaker 811, a power management chip 808, an input/output (I/O) subsystem 809, and other inputs/controls.
  • RF radio frequency
  • I/O input/output subsystem 809
  • Device 810, touch screen 812, other input/control devices 810, and external port 804 are communicated via one or more communication buses or signal lines 807.
  • the illustrated mobile terminal 800 is merely one example of a mobile terminal, and that the mobile terminal 800 may have more or fewer components than those shown in the figures, and two or more components may be combined. Or it can have different component configurations.
  • the various components shown in the figures can be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and/or application specific integrated circuits.
  • the mobile terminal for applying preloading provided in this embodiment is described in detail below.
  • the mobile terminal takes a mobile phone as an example.
  • the memory 801 can be accessed by the CPU 802, the peripheral interface 803, etc., and the memory 801 can include a high speed random access memory, and can also include a non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices. Or other volatile solid-state storage devices.
  • a non-volatile memory such as one or more magnetic disk storage devices, flash memory devices. Or other volatile solid-state storage devices.
  • Peripheral interface 803, which can connect the input and output peripherals of the device to CPU 802 and memory 801.
  • the I/O subsystem 809 can connect input and output peripherals on the device, such as touch screen 812 and other input/control devices 810, to peripheral interface 803.
  • the I/O subsystem 809 can include a display controller 8091 and one or more input controllers 8092 for controlling other input/control devices 810.
  • one or more input controllers 8092 receive electrical signals from other input/control devices 810 or transmit electrical signals to other input/control devices 810, and other input/control devices 810 may include physical buttons (press buttons, rocker buttons, etc.) ), dial, slide switch, joystick, click wheel.
  • the input controller 8092 can be connected to any of the following: a keyboard, an infrared port, a USB interface, and a pointing device such as a mouse.
  • the touch screen 812 is an input interface and an output interface between the user mobile terminal and the user, and displays the visual output to the user.
  • the visual output may include graphics, text, icons, videos, and the like.
  • Display controller 8091 in I/O subsystem 809 receives an electrical signal from touch screen 812 or an electrical signal to touch screen 812.
  • the touch screen 812 detects the contact on the touch screen, and the display controller 8091 converts the detected contact into an interaction with the user interface object displayed on the touch screen 812, that is, realizes human-computer interaction, and the user interface object displayed on the touch screen 812 may be running.
  • the icon of the game, the icon of the network to the corresponding network, and the like.
  • the device may also include a light mouse, which is a touch sensitive surface that does not display a visual output, or an extension of a touch sensitive surface formed by the touch screen.
  • the RF circuit 805 is mainly configured to establish communication between the mobile phone and the wireless network (ie, the network side), and implement data reception and transmission between the mobile phone and the wireless network. For example, sending and receiving short messages, emails, and the like. Specifically, the RF circuit 805 receives and transmits an RF signal, which is also referred to as an electromagnetic signal, and the RF circuit 805 converts the electrical signal into an electromagnetic signal or converts the electromagnetic signal into an electrical signal, and through the electromagnetic signal and communication network and other devices Communicate.
  • an RF signal which is also referred to as an electromagnetic signal
  • RF circuitry 805 may include known circuitry for performing these functions including, but not limited to, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a codec CODER-DECoder (CODEC) chipset, Subscriber Identity Module (SIM), etc.
  • CDDEC codec CODER-DECoder
  • the audio circuit 806 is primarily configured to receive audio data from the peripheral interface 803, convert the audio data into an electrical signal, and transmit the electrical signal to the speaker 811.
  • the speaker 811 is arranged to restore the voice signal received by the mobile phone from the wireless network through the RF circuit 805 to sound and play the sound to the user.
  • the power management chip 808 is configured to provide power and power management for the hardware connected to the CPU 802, the I/O subsystem, and the peripheral interface.
  • the application preloading device, the storage medium, and the mobile terminal provided in the foregoing embodiments may perform the application preloading method provided by any embodiment of the present application, and have corresponding functional modules and beneficial effects for executing the method.
  • the application preloading method provided by any embodiment of the present application.

Abstract

Disclosed are an application preloading method, a device, a storage medium, and a mobile terminal. The method comprises: detecting an application preloading event being triggered; determining a target application to be preloaded; employing a low power consumption core in a multicore processor to preload an application interface corresponding to the target application.

Description

应用程序预加载方法以及装置、存储介质及移动终端Application preloading method and device, storage medium and mobile terminal
本申请要求在2018年05月10日提交中国专利局、申请号为201810443422.4的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。The present application claims priority to Chinese Patent Application No. 201810443422.4, filed on May 10, 2011, the entire disclosure of which is hereby incorporated by reference.
技术领域Technical field
本申请实施例涉及应用程序加载技术领域,例如涉及应用程序预加载方法以及装置、存储介质及移动终端。The embodiments of the present application relate to the field of application loading technologies, for example, to an application preloading method and apparatus, a storage medium, and a mobile terminal.
背景技术Background technique
目前,诸如智能手机、平板电脑、笔记本电脑以及智能家电等移动终端已成为人们日常生活中必不可少的电子设备。随着移动终端设备不断地智能化,多数移动终端设备中都装载有操作系统,使得移动终端设备能够安装丰富多样的应用程序,满足用户不同的需求。At present, mobile terminals such as smart phones, tablets, notebook computers, and smart home appliances have become indispensable electronic devices in people's daily lives. As mobile terminal devices continue to be intelligent, most mobile terminal devices are loaded with an operating system, so that the mobile terminal device can install a variety of applications to meet different needs of users.
随着移动终端设备的配置不断提升,多数移动终端设备中可以安装几十甚至上百个应用程序,而随着应用程序的功能日益丰富,应用程序运行时所需加载的资源也越来越多。当用户选择启动一个应用程序时,移动终端会对该应用程序启动所需的资源进行加载,待加载完毕后,进入应用程序的初始界面,整个过程通常要花费数秒甚至十几秒的时间,导致应用程序的启动效率较低,亟需改进。As the configuration of mobile terminal devices continues to increase, dozens or even hundreds of applications can be installed in most mobile terminal devices, and as applications become more and more abundant, applications need to load more resources while running. . When the user chooses to start an application, the mobile terminal loads the resources required for starting the application, and after loading, enters the initial interface of the application, and the whole process usually takes several seconds or even ten seconds, resulting in The startup of the application is less efficient and needs to be improved.
发明内容Summary of the invention
本申请实施例提供一种应用程序预加载方法以及装置、存储介质及移动终端,可以优化应用程序的加载方案。The embodiment of the present application provides an application preloading method and device, a storage medium, and a mobile terminal, which can optimize an application loading scheme.
第一方面,本申请实施例提供了一种应用程序预加载方法,包括:In a first aspect, an embodiment of the present application provides an application preloading method, including:
检测到应用预加载事件被触发;An application preload event is detected to be triggered;
确定待预加载的目标应用程序;Determining the target application to be preloaded;
采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面。The application interface corresponding to the target application is preloaded with a low power core in the multi-core processor.
第二方面,本申请实施例提供了一种应用程序预加载装置,包括:In a second aspect, an embodiment of the present application provides an application preloading apparatus, including:
事件触发检测模块,设置为检测应用预加载事件是否被触发;An event trigger detection module configured to detect whether an application preload event is triggered;
应用确定模块,设置为在检测到应用预加载事件被触发时,确定待预加载的目标应用程序;An application determining module, configured to determine a target application to be preloaded when detecting that an application preloading event is triggered;
预加载模块,设置为采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面。The preloading module is configured to preload the application interface corresponding to the target application by using a low power core in the multi-core processor.
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的应用程序预加载方法。In a third aspect, the embodiment of the present application provides a computer readable storage medium, where a computer program is stored, and when the program is executed by the processor, the application preloading method is implemented as described in the embodiment of the present application.
第四方面,本申请实施例提供了一种移动终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的应用程序预加载方法。In a fourth aspect, an embodiment of the present application provides a mobile terminal, including a memory, a processor, and a computer program stored in the memory and executable by the processor, where the processor executes the computer program to implement the implementation of the present application. The application preloading method described in the example.
附图概述BRIEF abstract
图1为本申请实施例提供的一种应用程序预加载方法的流程示意图;1 is a schematic flowchart of an application preloading method according to an embodiment of the present application;
图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为本申请实施例提供的又一种预加载活动窗口堆栈与显示屏幕显示区域的相对位置关系示意图;FIG. 3 is a schematic diagram of a relative positional relationship between a preloaded active window stack and a display screen display area according to an embodiment of the present application;
图4为本申请实施例提供的又一种应用程序预加载方法的流程示意图;4 is a schematic flowchart of still another application preloading method according to an embodiment of the present application;
图5为本申请实施例提供的另一种应用程序预加载方法的流程示意图;FIG. 5 is a schematic flowchart of another application preloading method according to an embodiment of the present disclosure;
图6为本申请实施例提供的一种应用程序预加载装置的结构框图;FIG. 6 is a structural block diagram of an application preloading apparatus according to an embodiment of the present application;
图7为本申请实施例提供的一种移动终端的结构示意图;FIG. 7 is a schematic structural diagram of a mobile terminal according to an embodiment of the present application;
图8为本申请实施例提供的又一种移动终端的结构示意图。FIG. 8 is a schematic structural diagram of still another mobile terminal according to an embodiment of the present application.
具体实施方式detailed description
可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。It is understood that the specific embodiments described herein are merely illustrative of the application and are not intended to be limiting. In addition, it should be noted that, for the convenience of description, only some but not all of the structures related to the present application are shown in the drawings.
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。Before discussing the exemplary embodiments in more detail, it should be noted that some exemplary embodiments are described as a process or method depicted as a flowchart. Although the flowcharts describe the various steps as a sequential process, many of the steps can be implemented in parallel, concurrently, or concurrently. In addition, the order of the steps can be rearranged. The process may be terminated when its operation is completed, but may also have additional steps not included in the figures. The processing may correspond to methods, functions, procedures, subroutines, subroutines, and the like.
图1为本申请实施例提供的一种应用程序预加载方法的流程示意图,该方法可以由应用程序预加载装置执行,其中该装置可由软件和/或硬件实现,一般可集成在移动终端中。如图1所示,该方法包括:步骤101、步骤102与步骤103。1 is a schematic flowchart of an application preloading method according to an embodiment of the present application. The method may be performed by an application preloading device, where the device may be implemented by software and/or hardware, and may be integrated into a mobile terminal. As shown in FIG. 1, the method includes: step 101, step 102, and step 103.
在步骤101中,检测到应用预加载事件被触发。In step 101, it is detected that an application preload event is triggered.
示例性的,本申请实施例中的移动终端可包括手机、平板电脑以及笔记本电脑等移动设 备。移动终端中装载有操作系统。Illustratively, the mobile terminal in the embodiment of the present application may include a mobile device such as a mobile phone, a tablet computer, and a notebook computer. The mobile terminal is loaded with an operating system.
示例性的,应用预加载事件的触发条件可以根据实际情况设置,本申请实施例不作具体限定。例如,可以在检测到用户的动作满足预设条件(如拿起移动终端、输入屏幕解锁操作或输入移动终端解锁操作等)时,触发应用预加载事件;或者可以在检测到前台应用程序发生变更时,触发应用预加载事件;或者可以在预加载应用的预测流程结束后,立即(或经过预设时长后)触发应用预加载事件;或者可以定时间隔触发等等。当应用预加载事件被触发后,系统可以通过读取标志位或接收触发指令等方式检测到应用预加载事件已被触发,具体的检测方式本申请实施例也不做限定。For example, the triggering condition of the application pre-loading event may be set according to an actual situation, which is not specifically limited in this embodiment. For example, the application preload event may be triggered when it is detected that the user's action satisfies a preset condition (such as picking up the mobile terminal, inputting a screen unlocking operation, or inputting a mobile terminal unlocking operation, etc.); or may 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 duration) after the pre-loading application's prediction process ends; or it can be triggered at regular intervals. After the application preloading event is triggered, the system may detect that the application preloading event has been triggered by reading the flag bit or receiving the triggering instruction. The specific detection mode is not limited in the embodiment of the present application.
在步骤102中,确定待预加载的目标应用程序。In step 102, a target application to be preloaded is determined.
示例性的,待预加载的应用程序可以理解为用户可能即将打开的应用程序,可以是预先设置好的固定的应用程序,也可以是采用一定的方式预测出来的应用程序等。待预加载的应用程序可以包括一个或多个。目标应用程序可以理解为当前需要进行预加载操作的待预加载的应用程序。目标应用程序也可以包括一个或多个。当待预加载的应用程序仅有一个时,目标应用程序相应的也仅有一个;当待预加载的应用程序有多个时,目标应用程序可以为一个(即将多个待预加载的应用程序逐一确定为目标应用程序,并依次进行预加载操作),也可以为多个(即将2个以上待预加载的应用程序确定为目标应用程序,并同时进行预加载操作,也就是说多个目标应用程序的预加载过程可以是并行进行的)。Exemplarily, the application to be preloaded can be understood as an application that the user may open soon, or may be a fixed application that is preset, or an application that is predicted in a certain manner. The application to be preloaded may include one or more. The target application can be understood as the application to be preloaded that currently needs to be preloaded. The target application can also include one or more. When there is only one application to be preloaded, there is only one corresponding target application; when there are multiple applications to be preloaded, the target application can be one (ie, multiple applications to be preloaded) Determined as the target application one by one, and preloaded in turn), or multiple (it is more than 2 applications to be preloaded as the target application, and at the same time preloading, that is, multiple targets The application's preloading process can be done in parallel).
在一实施例中,可采用预测模型对待预加载的应用程序进行预测。该预测模型可以是机器学习模型,所采用的算法可以包括循环神经网络(Recurrent neural networks,RNN)、长短期记忆(Long Short-Term Memory,LSTM)网络、门限循环单元、简单循环单元、自动编码器、决策树、随机森林、特征均值分类、分类回归树、隐马尔科夫、K最近邻(k-NearestNeighbor,KNN)算法、逻辑回归模型、贝叶斯模型、高斯模型以及KL散度(Kullback–Leibler divergence)等等。In an embodiment, a predictive model can be used to predict the preloaded application. The prediction model may be a machine learning model, and the algorithms used may include Recurrent neural networks (RNN), Long Short-Term Memory (LSTM) networks, threshold loop units, simple loop units, and automatic coding. , decision tree, random forest, feature mean classification, classification regression tree, hidden Markov, K-Nearest Neighbor (KNN) algorithm, logistic regression model, Bayesian model, Gaussian model, and KL divergence (Kullback) –Leibler divergence) and so on.
在一实施例中,可在用户使用移动终端的过程中,采集训练样本,采用训练样本对预设初始模型进行训练,最终得到用于预测待预加载的应用程序的预测模型。示例性的,训练样本中包含的元素可包括应用程序被打开的时间序列或次序序列;可包括应用程序被打开的时间、地点以及频次等;可包括移动终端的运行状态,如移动数据网络的开关状态、无线热点的连接状态、所连接的无线热点的身份信息、当前运行的应用程序、上一个前景应用程序、当前应用程序在后台停留的时长、当前应用程序最近一次被切换至后台的时间、耳机插孔的插拔状态、充电状态、电池电量信息以及屏幕显示时长等等;还可包括移动终端中集成的传感器采集到的数据,如运动传感器、光线传感器、温度传感器以及湿度传感器等等。In an embodiment, during the process of using the mobile terminal by the user, the training samples are collected, and the preset initial model is trained by using the training samples, and finally the prediction model for predicting the application to be preloaded is obtained. Illustratively, the elements included in the training sample may include a time series or sequence of sequences in which the application is opened; may include the time, location, and frequency of the application being opened, etc.; may include the operational status of the mobile terminal, such as a mobile data network. Switch status, connection status of the wireless hotspot, identity information of the connected wireless hotspot, currently running application, last foreground application, duration of the current application staying in the background, time when the current application was last switched to the background , plug-in status of the headphone jack, charging status, battery power information, and screen display duration, etc.; may also include data collected by sensors integrated in the mobile terminal, such as motion sensors, light sensors, temperature sensors, humidity sensors, etc. .
示例性的,可根据所选用的机器学习模型选择合适的样本元素,也可根据所选的样本元 素确定所选用的机器学习模型,还可结合对预测准确度以及预设速度等方面的需求进行模型及样本元素的选择等,本申请实施例不做限定。Illustratively, the appropriate sample elements can be selected according to the selected machine learning model, and the selected machine learning model can be determined according to the selected sample elements, and can also be combined with the requirements for prediction accuracy and preset speed. The selection of the model and the sample elements and the like are not limited in the embodiment of the present application.
本申请实施例中,确定待预加载的目标应用程序可以包括根据预测模型之前的输出结果确定待预加载的目标应用程序,也可以包括利用预测模型进行预测,将预测模型的当前输出结果确定待预加载的目标应用程序。In the embodiment of the present application, determining the target application to be preloaded may include determining a target application to be preloaded according to an output result before the prediction model, or including using the prediction model to perform prediction, and determining a current output result of the prediction model. Preloaded target application.
在步骤103中,采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面。In step 103, the application interface corresponding to the target application is preloaded with a low power core in the multi-core processor.
示例性的,当所述多核处理器为大小核处理器(基于big.LITTLE模型的处理器)时,所述低功耗核心为小核心。ARM公司在推出Cortex-A15之后市场反馈功耗有点过大,于是提出了大小核的概念,即big.LITTLE模型,big.LITTLE模型在计算机术语上可称为异构多处理器(Heterogeneous Multi-Processing,HMP)。在大小核处理中,任何一个核心都可以第一个唤醒,也可以最后一个唤醒,并且可以同时在线,小核心的工作功率小于大核心的工作功率,小核心和大核心的数量均不做限定。此外,当多核处理器中每个核心均相同时,低功耗核心可以是当前工作功率较低的核心;或者,低功耗核心可以是核心数较少的核心组,例如,8核处理器,可以采用前6个核心处理前台应用的任务,采用后2个核心进行应用界面的预加载,此时后2个核心组成的核心组即可视为本申请实施例中的低功耗核心。Exemplarily, when the multi-core processor is a large-scale core processor (a processor based on a big.LITTLE model), the low-power core is a small core. After the introduction of the Cortex-A15, ARM's market feedback power consumption is a bit too large, so the concept of large and small cores, namely the big.LITTLE model, and the big.LITTLE model can be called heterogeneous multiprocessor (Heterogeneous Multi- in computer terminology). Processing, HMP). In the size core processing, any core can wake up first, or the last one, and can be online at the same time. The working power of the small core is less than the working power of the large core. The number of small cores and large cores are not limited. . In addition, when each core of the multi-core processor is the same, the low-power core may be the core with lower current operating power; or the low-power core may be a core group with fewer cores, for example, an 8-core processor The first six cores can be used to process the foreground application task, and the latter two cores are used for preloading the application interface. At this time, the core group composed of the latter two cores can be regarded as the low power consumption core in the embodiment of the present application.
在应用预加载过程中,例如是应用界面的预加载过程中,可能涉及多个核心的工作,以大小核处理器为例,可能会使用其中的大核心,这样就会导致预加载过程产生较多的功耗,可能会造成移动终端发热或较少待机时间等,影响用户的使用,此外,若预加载过程中占用大核心资源,也可能会对前台应用程序的运行产生影响,如发生卡顿等现象。因此,本申请实施例中,在对目标应用程序的应用界面进行预加载时,限制移动终端对处理器资源的使用,仅赋予其使用低功耗核心的权限,进而达到低功耗预加载的目的。During the application preloading process, for example, the preloading process of the application interface may involve multiple core work. For example, a large and small core processor may use a large core, which may result in a preloading process. More power consumption may cause the mobile terminal to generate heat or less standby time, which affects the user's use. In addition, if the core resources are occupied during the pre-loading process, it may affect the operation of the foreground application, such as the card. Don't wait. Therefore, in the embodiment of the present application, when the application interface of the target application is preloaded, the use of the processor resource by the mobile terminal is restricted, and only the right to use the low power core is granted, thereby achieving low power preloading. purpose.
本申请实施例中提供的应用程序预加载方法,检测到应用预加载事件被触发,确定待预加载的目标应用程序,采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面。通过采用上述技术方案,可以在应用预加载过程中限制用于预加载的系统资源的使用,避免预加载过程产生过多的功耗。The application preloading method provided in the embodiment of the present application detects that an application preloading event is triggered, determines a target application to be preloaded, and preloads the target application corresponding to the low power core in the multicore processor. Application interface. By adopting the above technical solution, the use of system resources for preloading can be restricted during the application preloading process, and the preloading process is prevented from generating excessive power consumption.
在一些实施例中,在所述采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面之后,还包括:设置预加载完成的应用界面的可见性属性为不可见,所述不可见包括对系统不可见。这样设置的好处在于,在应用界面预加载完成后,控制预加载应用产生的功耗。预加载应用程序的应用界面加载过程需要在用户不可见的情况下完成,而系统需要进行界面绘制或渲染等操作,所以需要对系统可见,仅系统可见的情况可包括被前台应用遮挡或应用在屏幕外显示等情况,预加载完成后,由于用户并没有真正的启动目标应用程序, 所以应用界面对用户来说仍然是不可见的,但此时对系统是可见的,这样就会带来一些额外的功耗,例如是在用户很久没有启动目标应用程序的情况下,长期保持预加载应用程序的应用界面对系统可见,会增加系统负担,产生过多不必要的功耗,因此,本申请实施例中,在应用界面预加载完成后,设置应用界面的可见属性为不可见。In some embodiments, after the application interface corresponding to the target application is preloaded by the low-power core in the multi-core processor, the method further includes: setting a visibility attribute of the pre-loaded application interface to be invisible, The invisibility includes being invisible to the system. The advantage of this setup is that it controls the power consumed by the preloaded application after the application interface is preloaded. The application interface loading process of the preloaded application needs to be completed without the user being visible, and the system needs to perform operations such as interface drawing or rendering, so it needs to be visible to the system, and only the system can be seen to be covered or applied by the foreground application. Off-screen display, etc. After pre-loading, the application interface is still invisible to the user because the user does not actually launch the target application, but it is visible to the system at this time, which will bring some The additional power consumption, for example, when the user has not started the target application for a long time, the application interface of the pre-loaded application is visible to the system for a long time, which increases the system burden and generates excessive unnecessary power consumption. Therefore, the present application In an embodiment, after the application interface preloading is completed, the visible attribute of the application interface is set to be invisible.
在一些实施例中,在所述采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面之后,还包括:暂停所述目标应用程序。这样设置的好处在于,能够进一步降低预加载应用程序等待被真正启动过程中产生的功耗。In some embodiments, after the pre-loading the application interface corresponding to the target application by the low-power core in the multi-core processor, the method further includes: suspending the target application. The advantage of this setup is that it can further reduce the power consumption that the preloaded application waits for during the actual boot process.
在一实施例中,所述暂停所述目标应用程序,包括:暂停所述目标应用程序所对应的任务栈顶端的活动窗口。活动窗口可理解为一个独立的直接面向用户提供交互和操作的界面,在不同的操作系统中可能采用不同的名词来命名该界面。为了便于理解,下面以安卓(Android)操作系统为例进行下面的说明。In an embodiment, the suspending the target application comprises: suspending an active window at the top of the task stack corresponding to the target application. The active window can be understood as an independent interface that provides interaction and operation directly to the user. Different interfaces may be used to name the interface in different operating systems. For ease of understanding, the following is an example of an Android operating system.
在Android系统中,活动窗口被称为Activity。Activity是一个负责与用户交互的组件,其提供一个屏幕(可以理解为屏幕界面,而非实体的显示屏幕),以供用户交互完成某项任务。在一个android应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件。在对Activity进行管理中,有这样两个概念:Task(任务栈)和Stack(活动窗口堆栈)。Task对应一个应用程序,Task用于存放Activity,一个Task中可以存放一个或多个Activity,且这些Activity遵循“先进后出,后进先出”的原则。而Stack又用于对Task进行管理,通常,一个Stack对一个屏幕所需展示的各Activity所属的Task进行管理,一个Stack可以管理一个或多个Task,当然,Stack也同样遵循堆栈的基本管理原则。这里所述的屏幕并不一定是完整独立的显示屏,以“两个屏幕”为例,这两个屏幕可能只是一个完整显示屏中两个独立显示各自显示内容的区域。当然,如果终端具备两个甚至是两个以上的独立显示屏,则“两个屏幕”也可以是两个独立的显示屏。In the Android system, the active window is called Activity. An Activity is a component responsible for interacting with a user, providing a screen (which can be understood as a screen interface rather than a physical display screen) for the user to interact with a task. In an android application, an Activity is usually a separate screen that can display some controls and listen and handle user events. In the management of the Activity, there are two concepts: Task (task stack) and Stack (active window stack). Task corresponds to an application, Task is used to store Activity, and a Task can store one or more Activity, and these activities follow the principle of "advanced, last in, first out". Stack is used to manage the Task. Usually, a Stack manages the Tasks to which each Activity needs to be displayed on a screen. A Stack can manage one or more Tasks. Of course, Stack also follows the basic management principles of the stack. . The screen described here is not necessarily a completely separate display. Taking "two screens" as an example, these two screens may be just two areas in a complete display that independently display their respective display contents. Of course, if the terminal has two or even more than two independent displays, the "two screens" can also be two separate displays.
本申请实施例中,暂停目标应用程序所对应的Task顶端的Activity,这样Activity会进入Android应用生命周期中的onPause->onStop->onDestroy的操作,这样将使应用程序不再工作。选取Task的顶端Activity是因为顶端Activity是应用程序正在工作的Activity,暂停该Activity即可实现暂停应用程序的目的。In the embodiment of the present application, the Activity at the top of the Task corresponding to the target application is suspended, so that the Activity will enter the operation of onPause->onStop->onDestroy in the Android application life cycle, so that the application will no longer work. Select the top Activity of the Task because the top Activity is the Activity that the application is working on. Pausing the Activity can suspend the application.
在一些实施例中,在所述采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面之后,还包括:冻结所述目标应用程序的进程。这样设置的好处在于,冻结进程后,能够更加彻底地释放所占用的处理器资源,从而进一步降低预加载应用程序等待被真正启动过程中产生的功耗。In some embodiments, after the application of the target application corresponding to the low-power core in the multi-core processor is preloaded, the method further includes: freezing the process of the target application. The advantage of this setup is that after the process is frozen, the processor resources occupied can be released more completely, further reducing the power consumption of the preloaded application waiting to be actually started.
在一实施例中,所述冻结所述目标应用程序的进程,包括:将所述目标应用程序的进程的进程标识,写入内核层中预设冻结群组中对应冻结属性的节点。示例性的,利用linux  kernel的freezer cgroup(冻结群组),将需要冻结的进程冻结。In an embodiment, the process of freezing the target application includes: writing a process identifier of a process of the target application to a node in a kernel layer corresponding to a frozen attribute in a preset freeze group. Illustratively, using the freezer cgroup of the Linux kernel (freeze group), the process that needs to be frozen is frozen.
在一些实施例中,在所述冻结所述目标应用程序的进程之后,还包括:在通过内核层检测到接收者为所述目标应用程序的预设消息时,唤醒所述目标应用程序的进程;经过预设时长后,重新冻结所述目标应用程序的进程。这样设置的好处在于,保证被冻结的目标应用程序能够在需要时被短暂唤醒,保证低功耗的前提下及时与外界进行通信。以Android系统为例,预设消息可以是binder或者socket等。预设时长可以是预设的固定值,如5秒,也可以是动态变化的值,可根据所接收到的消息的类型或内容来动态确定,本申请实施例不做限定。In some embodiments, after the freezing the process of the target application, the method further includes: waking up the process of the target application when detecting, by the kernel layer, that the receiver is a preset message of the target application After the preset duration, the process of the target application is re-frozen. The advantage of this setting is to ensure that the frozen target application can be briefly awakened when needed, and communicate with the outside world in time to ensure low power consumption. Take the Android system as an example. The default message can be a binder or a socket. The preset duration may be a preset fixed value, such as 5 seconds, or may be a dynamically changed value, which may be dynamically determined according to the type or content of the received message, which is not limited in this embodiment.
在一些实施例中,所述采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面,包括:采用多核处理器中的低功耗核心,基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。这样设置的好处在于,可以基于在显示屏幕外面创建的预加载活动窗口堆栈对需要进行预加载的应用程序的应用界面进行预加载,该预加载方式能够较大程度地完成应用启动前的准备工作,提升目标应用程序的启动速度,且不会影响到前台应用程序的显示内容在显示屏幕上的显示。In some embodiments, the preloading the application interface corresponding to the target application by using a low power core in the multi-core processor comprises: adopting a low power core in the multi-core processor, based on a pre-created preloading activity The window stack preloads an application interface corresponding to the target application, wherein the boundary coordinates corresponding to the preloaded active window stack are outside the coordinate range of the display screen. The advantage of this setting is that the application interface of the application that needs to be preloaded can be preloaded based on the preloaded active window stack created outside the display screen, which can complete the preparation work before the application is started to a large extent. , to improve the startup speed of the target application, and does not affect the display content of the foreground application on the display screen.
在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 free mode (FreeForm). In multi-window mode, the Stack on which the application resides can have its own size, which can include the top, bottom, left, and right coordinates in the coordinate system with the top left corner of the terminal screen as the origin. For example, (a, b, c, d), generally describes the boundary of a rectangle, which can be represented by the coordinates of the upper left corner of the rectangle and the coordinates of the lower right corner, that is, the coordinates of the upper left corner of the rectangle are (a, b), right. The lower corner coordinates are (c, d), and such a rectangular area corresponds to the size of the Stack. The in-app layout in the Stack is based on the size of the Stack, which means that the application interface corresponding to the Activity is displayed within the bounds of the size.
在多窗口模式下,可以允许多个应用程序处于可见状态,包括系统和用户均可见和仅系统可见。系统和用户均可见指的是在显示屏幕上进行显示,且用户能够看到;仅系统可见指的是操作系统可见,而用户不可见,可能被前台的应用遮挡或者如本申请所要实现的在显示屏幕外显示。In multi-window mode, multiple applications can be allowed to be visible, both system and user visible and only system visible. Both the system and the user are visible to display on the display screen, and the user can see; only the system visible means that the operating system is visible, and the user is invisible, may be blocked by the application of the foreground or as implemented in the application. Display off-screen display.
本申请实施例中,在显示屏幕外对目标应用程序的应用界面进行预加载,可以基于操作系统的多窗口机制来实现,通过多窗口机制将应用程序对应的size设在显示屏幕外而达到对用户不可见的目的,从而不会影响到前台应用程序的显示内容在显示屏幕上的显示。In the embodiment of the present application, pre-loading the application interface of the target application outside the display screen may be implemented based on a multi-window mechanism of the operating system, and the size corresponding to the application is set outside the display screen through the multi-window mechanism to achieve The purpose of the user's invisibility is such that it does not affect the display of the foreground application's display content on the display screen.
一般的,多窗口模式下,可以存在多种类型的Stack,如Home Stack表示桌面应用显示的Stack,App Stack表示第三方应用显示的Stack,还可以有其他分屏Stack等,上述三种Stack中包含的内容可在显示屏幕上显示,本申请实施例中统称为应用活动窗口堆栈。本申 请实施例中,新增了预加载活动窗口堆栈(预加载Stack),用于表示预加载应用显示的Stack,并设置预加载Stack的边界坐标位于显示屏幕的坐标范围之外,待预加载的应用程序可以显示在该Stack。对于Android系统来说,可以基于Android系统的多窗口机制,新建一个专门用于显示预加载应用的Stack。本申请实施例中,新建Stack是因为可以让新建的预加载Stack拥有自己的size以及可见性,从而实现在显示屏幕外预加载的目的。Generally, in the multi-window mode, there may be multiple types of stacks, such as the Home Stack indicating the stack displayed by the desktop application, the App Stack indicating the Stack displayed by the third-party application, and other split screen stacks, etc., in the above three stacks. The included content can be displayed on the display screen, which is collectively referred to as an application active window stack in the embodiment of the present application. In the embodiment of the present application, a preloaded active window stack (preloaded stack) is added, which is used to represent the stack displayed by the preloaded application, and the boundary coordinates of the preloaded stack are set outside the coordinate range of the display screen, and are to be preloaded. The app can be displayed on the stack. For the Android system, a new stack dedicated to displaying preloaded applications can be created based on the multi-window mechanism of the Android system. In the embodiment of the present application, the new stack is created because the newly created preloaded stack can have its own size and visibility, thereby achieving pre-loading on the display screen.
本申请实施例中,对预加载Stack的创建时机不做限定,可以是在终端出厂前默认设置预加载Stack处于常驻状态,即预加载Stack一直存在;也可以在终端开机时或终端解锁成功后创建;还可以在应用预加载事件被触发后(可以在确定目标应用程序之前)创建等等。在一实施例中,所述基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,包括:判断是否存在预先创建的预加载活动窗口堆栈;若不存在,则按照预设规则创建预加载活动窗口堆栈,并基于所创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面;若存在,则基于所述预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面。这样设置的好处在于,在确定待预加载的目标应用程序之后,判断预加载Stack是否存在,若存在,则无需新建,若不存在,则进行创建,可以节省系统资源。可以理解的是,当目标应用程序包含多个时,也即需要在短时间内连续预加载多个应用程序时,在第一个目标应用程序开始加载前,预加载Stack已创建完毕,那么第二个目标应用程序开始加载前,预加载Stack是存在的,可以不必进行上述判断。In the embodiment of the present application, the creation time of the preloaded stack is not limited, and the preloaded stack is in the resident state by default, that is, the preloaded stack is always present; or the terminal is successfully unlocked when the terminal is powered on or the terminal is successfully unlocked. Post-create; can also be created after the application preload event is triggered (can be determined before the target application is determined). In an embodiment, the pre-creating a preloaded active window stack preloading an application interface corresponding to the target application comprises: determining whether there is a pre-created preloaded active window stack; if not, according to the pre Setting a rule to create a preloaded active window stack and preloading an application interface corresponding to the target application based on the created preloaded active window stack; if present, preloading the stack based on the pre-created preloaded active window stack The application interface corresponding to the target application. The advantage of this setting is that after determining the target application to be preloaded, it is determined whether the preloaded stack exists. If it exists, no new configuration is needed, and if it does not exist, the creation is performed, which can save system resources. Understandably, when the target application contains more than one, that is, when multiple applications need to be preloaded continuously in a short time, the preloaded stack is created before the first target application starts loading, then the first Before the two target applications start loading, the preloaded stack exists, and it is not necessary to make the above judgment.
本申请实施例中,对基于预加载Stack预加载目标应用程序对应的应用界面的具体过程不做限定,例如可以基于预加载Stack的size进行应用界面的绘制并显示等。In the embodiment of the present application, the specific process of the application interface corresponding to the preloading of the target application is not limited. For example, the application interface may be drawn and displayed based on the size of the preloaded stack.
在一些实施例中,所述基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,包括:创建所述目标应用程序对应的目标进程;在预先创建的预加载活动窗口堆栈中创建所述目标应用程序对应的任务栈;基于所述目标进程在所述任务栈中启动所述目标应用程序对应的活动窗口;基于所启动的活动窗口绘制并显示所述目标应用程序对应的应用界面。这样设置的好处在于,能够基于屏幕坐标范围之外的预加载活动窗口堆栈对目标应用程序的应用界面进行绘制并显示,不会干扰前台应用程序的运行及显示,保证系统稳定性,同时有效提高目标应用程序启动时的速度。在创建目标进程的同时,还可包括目标进程的初始化过程。在上述步骤的执行过程中,还可能涉及其他资源的预加载,如应用服务启动、内存分配、文件内容读取及网络数据获取等,本申请实施例对其他资源的预加载过程不做限定。In some embodiments, the pre-creating a preloaded active window stack preloading an application interface corresponding to the target application, including: creating a target process corresponding to the target application; pre-creating a pre-loaded active window Creating a task stack corresponding to the target application in the stack; starting an active window corresponding to the target application in the task stack based on the target process; drawing and displaying the target application corresponding to the activated active window Application interface. The advantage of this setting is that the application interface of the target application can be drawn and displayed based on the preloaded active window stack outside the screen coordinate range, without interfering with the operation and display of the foreground application, ensuring system stability and effectively improving The speed at which the target application starts. The creation process of the target process can also include the initialization process of the target process. During the execution of the foregoing steps, the preloading of other resources may be involved, such as application service startup, memory allocation, file content reading, and network data acquisition. The preloading process of other resources is not limited in this embodiment.
在一些实施例中,还包括:向所述目标应用程序发送伪造焦点通知,并基于所述伪造焦点通知在预设时间段内保持所述目标应用程序对应的应用界面的持续绘制以及显示更新。这样设置的好处在于,能够在目标应用程序获得焦点并对系统可见的情况下完成应用界面的绘 制及显示,提高预加载的完成度,且不对前台应用的焦点产生影响。本申请实施例中的焦点又称为输入焦点,伪造焦点与前台应用对应的焦点相互独立。一般的,对于目前的Android系统来说,焦点是唯一的,例如触摸等输入操作只对焦点生效,对于输入焦点信息,系统端和应用端是一致的,系统端一旦修改输入焦点信息,就会向应用发送输入焦点信息发生变化的信息,以此方法保证系统端和应用端输入焦点信息一致。本申请实施例中,通过分离系统端和应用端输入焦点信息的方式,实现应用端可伪造焦点的目的。本申请实施例中,对预加载应用伪造焦点通知,使预加载应用具有焦点信息,而系统端的焦点信息仍然是正确的,这样处理可以使得预加载应用能够正常绘制,达到全部加载的目的。焦点存在于系统端和应用端,可认为是服务端(server)和客户端(client),系统端记录拥有焦点的应用,应用端保存标志位(flag)标识自己是否有焦点。伪造输入焦点的时机可以是当Android的窗口系统新增窗口,需要更新焦点时,生成伪造焦点通知并进行发送。伪造焦点的方法可以是调用窗口的client端的改变窗口焦点的方法,使得该窗口获取焦点。在一实施例中,可基于Binder机制进行伪造焦点通知的发送,Binder机制是Android系统的进程间通信的最常用的方式,采用c/s架构,即客户/服务架构。In some embodiments, the method further includes: transmitting a forged focus notification to the target application, and maintaining a continuous rendering of the application interface corresponding to the target application and displaying an update for a preset time period based on the forged focus notification. The advantage of this setting is that the application interface can be drawn and displayed while the target application is in focus and visible to the system, improving the completion of the preload without affecting the focus of the foreground application. The focus in the embodiment of the present application is also referred to as an input focus, and the forged focus is independent of the focus corresponding to the foreground application. Generally, for the current Android system, the focus is unique. For example, the input operation such as touch is only effective for the focus. For the input focus information, the system side and the application end are consistent, and once the system side modifies the input focus information, Sending information that the input focus information changes to the application, so as to ensure that the input information of the system end and the application end are consistent. In the embodiment of the present application, the purpose of forging the focus on the application end is achieved by separating the manner in which the system side and the application end input the focus information. In the embodiment of the present application, the pre-loading application is forged focus notification, so that the pre-loading application has the focus information, and the focus information of the system is still correct, so that the pre-loading application can be normally drawn to achieve the purpose of full loading. The focus exists on the system side and the application side. It can be regarded as the server (server) and the client (client). The system side records the application with the focus, and the application saves the flag (flag) to identify whether it has focus. The timing of forging the input focus may be that when the window system of Android adds a window and needs to update the focus, a fake focus notification is generated and sent. The method of forging 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 the focus. In an embodiment, the sending of the forged focus notification may be performed based on the Binder mechanism, which is the most common way of inter-process communication of the Android system, adopting the c/s architecture, that is, the client/service architecture.
本申请实施例中,预设时间段可根据实际情况设计,例如可以是开始预加载后的固定时长范围内,也可以是开始预加载到完成预加载的时段等。在一些实施例中,所述预设时间段的长度包括所述目标应用程序中启动广告或启动动画的播放时长。一些应用程序在启动的过程中,通常会播放一些广告或动画,广告或动画的播放时长通常为3秒至十几秒不等,在播放广告或动画期间,用户可能没办法进行任何操作,只能等待播放完毕,浪费用户的宝贵时间。本申请实施例这样设置的好处在于,能够在目标应用程序启动之前,在屏幕外播放完启动广告或启动动画,当目标应用程序启动时,可直接进入应用程序的主页面或其他用户可操作的界面,从而将目标应用程序的可操作时间点进一步提前,减少等待时间。In the embodiment of the present application, the preset time period may be designed according to actual conditions, for example, may be within a fixed duration range after starting preloading, or may be a period from the start of preloading to the completion of preloading. In some embodiments, the length of the preset time period includes a play duration in which the advertisement is launched or the animation is activated in the target application. Some applications usually play some advertisements or animations during the startup process. The duration of the advertisement or animation is usually from 3 seconds to ten seconds. During the advertisement or animation, the user may not be able to perform any operations. Can wait for the playback to complete, wasting the user's valuable time. The advantage of the setting of the embodiment of the present application is that the startup advertisement or the startup animation can be played out of the screen before the target application is started, and when the target application is started, the main page of the application or other user can be directly operated. Interface to further advance the target time point of the target application and reduce waiting time.
在一些实施例中,还可包括:在接收到所述目标应用程序的运行指令时,将所述预加载完成的应用界面迁移至所述显示屏幕进行显示。这样设置的好处在于,在目标应用程序真正需要启动的时候,直接将已经绘制好的应用界面迁移到显示屏幕进行显示,能够达到应用界面的快速切换,提高启动速度。此外,在接收到目标应用程序的运行指令时,还可包括:采用高功耗核心处理目标应用程序的任务,恢复目标应用程序的运行,或解冻目标应用程序的进程等。In some embodiments, the method further includes: migrating the preloaded application interface to the display screen for display when receiving the running instruction of the target application. The advantage of this setting is that when the target application really needs to be started, the already-drawn application interface is directly migrated to the display screen for display, which can achieve fast switching of the application interface and improve the startup speed. In addition, when receiving the running instruction of the target application, the method further includes: processing the target application by using the high-power core, restoring the running of the target application, or unfreezing the process of the target application.
在一些实施例中,所述将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的应用界面迁移至所述显示屏幕进行显示,包括:将所述预加载活动窗口堆栈中包含的所述目标应用程序对应的任务栈迁移至应用活动窗口堆栈的顶部;更新所述任务栈的尺寸信息、配置信息和可见性,以实现所述目标应用程序对应的应用界面在所述显示屏幕进行显示。这样设 置的好处在于,能够保证界面迁移过程的稳定性,保证恢复过程不会出现卡屏、黑屏或迁移速度慢等问题。In some embodiments, the migrating the application interface corresponding to the target application included in the preloaded active window stack to the display screen for display comprises: including the preloaded active window stack The task stack corresponding to the target application is migrated to the top of the application active window stack; the size information, the configuration information, and the visibility of the task stack are updated, so that the application interface corresponding to the target application is implemented on the display screen. display. The advantage of this setting is that the stability of the interface migration process can be ensured, and the recovery process does not cause problems such as a card screen, a black screen, or a slow migration speed.
对于一些终端来说,例如手机及平板电脑等移动终端,为了方便用户的使用,显示屏幕的显示方式通常包括竖屏显示和横屏显示,许多应用程序默认采用竖屏方式进行显示,而有些应用程序默认采用横屏方式进行显示(如一些网络游戏),在终端的使用过程中,有些应用程序还会随着用户握持终端的方向而进行横竖屏显示的切换。在本申请的一些实施例中,所述预加载活动窗口堆栈对应的边界坐标为(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 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, and many applications use the vertical screen mode for display by default, and some applications. The program defaults to display in landscape mode (such as some online games). During the use of the terminal, some applications also switch between horizontal and vertical display as the user holds the direction of the terminal. In some embodiments of the present application, the boundary coordinates corresponding to the preloaded active window stack are (H, 0, 2H, H), the coordinate system corresponding to the boundary coordinates is system coordinates, and the origin of the system coordinates is In the upper left corner of the display screen, H is the length of the long side of the display area of the display screen. That is to say, the edge corresponding to H is the largest side of the display area of the display screen, which is the height of the display screen when the vertical screen is displayed, and the width of the display screen when the horizontal screen is displayed. The purpose of this setting is to take into account the horizontal screen of the display screen, the horizontal display of the preloaded application, 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, and the origin of the terminal system coordinates is the left vertex (0, 0) of the display screen 201. The width direction of the display screen 201 is the X axis, and the height direction is the Y axis. The boundary coordinates of the loaded Stack 202 are (H, 0, 2H, H), H is the screen height, that is, the area within the solid line rectangle on the left side is the main screen display area, and the area within the rectangular area of the right dashed line is the preloaded display area. FIG. 3 is a schematic diagram of a relative positional relationship between a preloaded active window stack and a display screen display area according to an embodiment of the present application. As shown in FIG. 3, the display screen is in the horizontal screen mode, and the origin of the terminal system coordinates is the left vertex (0, 0) of the display screen 301. The height direction of the display screen 301 is the X axis, and the width direction is the Y axis. The boundary coordinates of the loaded Stack 202 are (H, 0, 2H, H), H is the screen height, that is, the area within the solid line rectangle on the left side is the main screen display area, and the area within the rectangular area of the right dashed line is the preloaded display area.
预加载Stack各个边界如此设置的原因在于:The reason for pre-loading the various boundaries of the Stack is this:
左上角的横坐标为H,是为了防止横屏时显示屏幕(也可称为主屏幕)显示到预加载应用的界面,因为主屏幕除了竖屏模式,还有横屏模式,当主屏幕横屏的时候,为了防止主屏幕显示区域显示了预加载的应用的局部,所以将预加载Stack对应的矩形区域的左上角横坐标设为屏幕高。The horizontal coordinate of the upper left corner is H, which is to prevent the display screen (also called the main screen) from being displayed to the interface of the preloaded application when the horizontal screen is used, because the main screen has the horizontal screen mode and the horizontal screen mode when the main screen is horizontal screen. In order to prevent the main screen display area from displaying the part of the preloaded application, 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 ordinate of the upper left corner is 0, in order to preload the application to correctly calculate the status bar height. In order to better design the user interface (UI), the Android application will customize the top status bar. If the corresponding ordinate of the upper side is not equal to 0, the height of the status bar may be wrong.
右下角的横坐标为2H(2倍屏幕高),即预加载Stack对应的矩形的宽=屏幕高,是为了预加载Stack的size能够包含预加载时候的横屏应用(即应用界面为横屏显示方式的应用程序)。The horizontal coordinate of the lower right corner is 2H (2 times the screen height), that is, the width of the rectangle corresponding to the preloaded stack = the screen height, in order to preload the size of the stack to include the horizontal screen application at the time of preloading (ie, the application interface is a horizontal screen) Display mode application).
右下角的纵坐标为H,即预加载Stack对应的矩形的高=屏幕高,是为了预加载Stack的 size能够包含预加载时候的竖屏应用。The ordinate of the lower right corner is H, that is, the height of the rectangle corresponding to the preloaded stack = the height of the screen, in order to preload the size of the stack to include the vertical screen application at the time of preloading.
基于上述的原因,发明人将预加载Stack的size设置为(H,0,2H,H)。For the above reasons, the inventor sets the size of the preloaded stack to (H, 0, 2H, H).
图4为本申请实施例提供的又一种应用程序预加载方法的流程示意图,该方法包括如下步骤:步骤401至步骤406。FIG. 4 is a schematic flowchart of still another application preloading method according to an embodiment of the present disclosure, where the method includes the following steps: Step 401 to Step 406.
在步骤401中,检测到应用预加载事件被触发。In step 401, it is detected that an application preload event is triggered.
在步骤402中,确定待预加载的目标应用程序。In step 402, a target application to be preloaded is determined.
在步骤403中,采用大小核处理器中的小核心,基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面。In step 403, the small core in the large and small core processor is used to preload the application interface corresponding to the target application based on the pre-created preloaded active window stack.
在步骤404中,设置预加载完成的应用界面的可见性属性为不可见。In step 404, the visibility attribute of the pre-loaded application interface is set to be invisible.
在步骤405中,暂停所述目标应用程序所对应的任务栈顶端的活动窗口。In step 405, the active window at the top of the task stack corresponding to the target application is suspended.
可以理解的是,目标应用程序中需要进行预加载的应用界面可能有多个,可以在每次绘制(或渲染)完成一个应用界面时,将该应用界面的可见性属性设置为不可见,当所有需要预加载的应用界面绘制完成后(或目标应用程序的预加载时间达到预设时间阈值时),暂停此时任务栈顶端的活动窗口。It can be understood that there may be multiple application interfaces that need to be preloaded in the target application, and the visibility property of the application interface may be set to be invisible each time an application interface is drawn (or rendered). After all the application interfaces that need to be preloaded are drawn (or when the target application's preload time reaches the preset time threshold), the active window at the top of the task stack is paused.
在步骤406中,在接收到所述目标应用程序的运行指令时,恢复所述活动窗口,并将所述活动窗口对应的应用界面迁移至所述显示屏幕进行显示。In step 406, upon receiving the running instruction of the target application, the active window is restored, and the application interface corresponding to the active window is migrated to the display screen for display.
本申请实施例提供的应用程序预加载方法,采用大小核处理器中的小核心在屏幕外对待预加载应用程序的应用界面进行预加载,在应用界面绘制完成后,将其可见性属性设置为不可见,并暂停其对应任务栈顶端的活动窗口,以降低目标应用程序等待启动过程中的功耗,当用户真正启动目标应用程序时,恢复活动窗口,并将其对应的应用界面迁移至显示屏幕进行显示,有效提高目标应用程序的启动速度。The application preloading method provided by the embodiment of the present application preloads the application interface of the preloaded application on the offscreen by using a small core in the large and small core processor. After the application interface is drawn, the visibility attribute is set to Invisible, and suspend the active window at the top of its corresponding task stack to reduce the power consumption of the target application waiting for startup. When the user actually launches the target application, the active window is restored and its corresponding application interface is migrated to display. The screen is displayed to effectively increase the startup speed of the target application.
图5为本申请实施例提供的另一种应用程序预加载方法的流程示意图,如图5所示,该方法包括:步骤501至步骤507。FIG. 5 is a schematic flowchart of another application preloading method according to an embodiment of the present disclosure. As shown in FIG. 5, the method includes: Step 501 to Step 507.
在步骤501中,检测到应用预加载事件被触发。In step 501, it is detected that an application preload event is triggered.
在步骤502中,确定待预加载的目标应用程序。In step 502, a target application to be preloaded is determined.
在步骤503中,采用大小核处理器中的小核心,基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面。In step 503, the small core in the large and small core processor is used to preload the application interface corresponding to the target application based on the pre-created preloaded active window stack.
在步骤504中,设置预加载完成的应用界面的可见性属性为不可见。In step 504, the visibility attribute of the pre-loaded application interface is set to be invisible.
在步骤505中,将目标应用程序的进程的进程标识,写入内核层中预设冻结群组中对应冻结属性的节点。In step 505, the process identifier of the process of the target application is written to the node in the kernel layer corresponding to the frozen attribute in the preset freeze group.
示例性的,以Android系统为例,可以利用linux kernel的freezer cgroup,将进程冻结。在一实施例中,可以在开机时或其他时刻,新建一个freezer CGroup,将FROZEN字样写入 freezer.state节点(可理解为一个控制文件,将FROZEN字样写入该控制文件是为了给freezer CGroup中的cgroup.procs节点设置冻结属性),将目标应用程序包含的一个或多个进程的pid(进程标识)写入冻结的此cgroup的cgroup.procs节点,即可将目标应用程序的进程冻结,从而实现目标应用程序的冻结。For example, in the case of the Android system, the freezer cgroup of the Linux kernel can be used to freeze the process. In an embodiment, a freezer CGroup can be created at boot time or at other times, and the FROZEN typeface is written to the freezer.state node (can be understood as a control file, and the FROZEN typeface is written to the control file for the freezer CGroup. The cgroup.procs node sets the freeze attribute), and writes the pid (process ID) of one or more processes included in the target application to the frozen cgroup.procs node of the cgroup, thereby freezing the process of the target application, thereby Implement the freezing of the target application.
在冻结后,在通过内核监控已冻结的目标应用程序有binder或者socket消息时,短暂唤醒被冻结的目标应用程序,然后重新进入冻结。After freezing, when the target application that has been frozen by the kernel monitors has a binder or socket message, the frozen target application is briefly awakened and then re-entered.
在步骤506中,判断是否接收到目标应用程序的运行指令,若是,则执行步骤507;否则,重复执行步骤506。In step 506, it is determined whether a running instruction of the target application is received, and if so, step 507 is performed; otherwise, step 506 is repeatedly executed.
在步骤507中,解冻目标应用程序的进程,并将预加载活动窗口堆栈中包含的目标应用程序对应的当前应用界面迁移至显示屏幕进行显示。In step 507, the process of the target application is thawed, and the current application interface corresponding to the target application included in the preloaded active window stack is migrated to the display screen for display.
示例性的,可以在根目录下设置冻结子目录,处于根目录中的进程为未冻结进程,而处于冻结子目录中的进程为冻结进程。在需要将目标应用程序的进程冻结时,可将对应的进程标识写入冻结子目录下的文件节点中;当解冻时,可将上述进程标识写入根目录中,完成解冻。Exemplarily, a frozen subdirectory can be set under the root directory, the process in the root directory is an unfrozen process, and the process in the frozen subdirectory is a freeze process. When the process of the target application needs to be frozen, the corresponding process ID can be written to the file node in the frozen subdirectory; when thawed, the process ID can be written into the root directory to complete the thaw.
在一实施例中,例如,/dev/freezer/为根目录,根目录中没有freezer.state节点,根目录下可包括子目录/dev/freezer/elsa_freezing2(相当于上述新建的freezer CGroup),在该子目录下包含文件节点freezer.state,freezer.state的内容是FROZEN。在需要冻结进程时,将进程的pid写入子目录下的cgroup.procs节点,在需要解冻进程时,将进程的pid写入根目录中,由于根目录中没有freezer.state节点,所以可以实现解冻,此时,被解冻的进程的pid会在cgroup.procs节点中被自动删除。In an embodiment, for example, /dev/freezer/ is the root directory, there is no freezer.state node in the root directory, and the root directory may include the subdirectory /dev/freezer/elsa_freezing2 (equivalent to the newly created freezer CGroup). This subdirectory contains the file node freezer.state, and the content of freezer.state is FROZEN. When the process needs to be frozen, the pid of the process is written to the cgroup.procs node in the subdirectory. When the process needs to be thawed, the pid of the process is written to the root directory. Since there is no freezer.state node in the root directory, it can be implemented. Thaw, at this point, the pid of the thawed process will be automatically deleted in the cgroup.procs node.
本申请实施例提供的应用程序预加载方法,采用大小核处理器中的小核心在屏幕外对待预加载应用程序的应用界面进行预加载,在应用界面绘制完成后,将其可见性属性设置为不可见,冻结目标应用程序的进程,以降低目标应用程序等待启动过程中的功耗,当用户真正启动目标应用程序时,解冻应用进程,并将其对应的应用界面迁移至显示屏幕进行显示,有效提高目标应用程序的启动速度。The application preloading method provided by the embodiment of the present application preloads the application interface of the preloaded application on the offscreen by using a small core in the large and small core processor. After the application interface is drawn, the visibility attribute is set to Invisible, freezing the process of the target application to reduce the power consumption of the target application waiting for the startup process. When the user actually starts the target application, the application process is thawed, and the corresponding application interface is migrated to the display screen for display. Effectively increase the startup speed of the target application.
图6为本申请实施例提供的一种应用程序预加载装置的结构框图,该装置可由软件和/或硬件实现,一般集成在移动终端中,可通过执行应用程序预加载方法来进行应用程序的预加载。如图6所示,该装置包括:事件触发检测模块601、应用确定模块602和预加载模块603。FIG. 6 is a structural block diagram of an application preloading apparatus according to an embodiment of the present disclosure. The apparatus may be implemented by software and/or hardware, and is generally integrated in a mobile terminal, and may execute an application preloading method. Preloading. As shown in FIG. 6, the device includes an event trigger detection module 601, an application determination module 602, and a preload module 603.
事件触发检测模块601,设置为检测应用预加载事件是否被触发;The event trigger detection module 601 is configured to detect whether an application preload event is triggered;
应用确定模块602,设置为在检测到应用预加载事件被触发时,确定待预加载的目标应用程序;An application determining module 602, configured to determine a target application to be preloaded when detecting that an application preloading event is triggered;
预加载模块603,设置为采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面。The preloading module 603 is configured to preload an application interface corresponding to the target application by using a low power core in the multi-core processor.
本申请实施例中提供的应用程序预加载装置,检测到应用预加载事件被触发,确定待预加载的目标应用程序,采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面。通过采用上述技术方案,可以在应用预加载过程中限制用于预加载的系统资源的使用,避免预加载过程产生过多的功耗。The application preloading device provided in the embodiment of the present application detects that an application preload event is triggered, determines a target application to be preloaded, and preloads the target application corresponding to the low power core in the multicore processor. Application interface. By adopting the above technical solution, the use of system resources for preloading can be restricted during the application preloading process, and the preloading process is prevented from generating excessive power consumption.
在一实施例中,该装置还包括:In an embodiment, the apparatus further comprises:
可见性设置模块,设置为在所述采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面之后,设置预加载完成的应用界面的可见性属性为不可见,所述不可见包括对系统不可见。a visibility setting module, configured to set a visibility attribute of the pre-loaded application interface to be invisible after the application interface corresponding to the target application is preloaded by the low-power core in the multi-core processor, Not visible includes not visible to the system.
在一实施例中,该装置还包括:In an embodiment, the apparatus further comprises:
应用暂停模块,设置为在所述采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面之后,暂停所述目标应用程序;The application suspending module is configured to suspend the target application after the application interface corresponding to the target application is preloaded by the low-power core in the multi-core processor;
应用冻结模块,设置为在所述采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面之后,冻结所述目标应用程序的进程。The application freeze module is configured to freeze the process of the target application after the application interface corresponding to the target application is preloaded by the low power core in the multi-core processor.
在一实施例中,所述暂停所述目标应用程序,包括:In an embodiment, the suspending the target application comprises:
暂停所述目标应用程序所对应的任务栈顶端的活动窗口;Suspending an active window at the top of the task stack corresponding to the target application;
所述冻结所述目标应用程序的进程,包括:The process of freezing the target application includes:
将所述目标应用程序的进程的进程标识,写入内核层中预设冻结群组中对应冻结属性的节点。Write the process identifier of the process of the target application to the node in the kernel layer corresponding to the frozen attribute in the preset frozen group.
在一实施例中,该装置还包括:In an embodiment, the apparatus further comprises:
应用解冻模块,设置为在所述冻结所述目标应用程序的进程之后,在通过内核层检测到接收者为所述目标应用程序的预设消息时,解冻所述目标应用程序的进程;Applying a defrosting module, configured to, after the process of freezing the target application, thaw the process of the target application when detecting, by the kernel layer, that the receiver is a preset message of the target application;
所述应用冻结模块还设置为:在解冻所述目标应用程序的进程后,经过预设时长后,重新冻结所述目标应用程序的进程。The application freezing module is further configured to: after the process of the target application is thawed, after the preset duration, the process of the target application is re-frozen.
在一实施例中,所述采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面,包括:In an embodiment, the low-power core in the multi-core processor preloads an application interface corresponding to the target application, including:
采用多核处理器中的低功耗核心,基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。Using a low-power core in the multi-core processor, pre-loading the application interface corresponding to the target application based on the pre-created preload active window stack, wherein the boundary coordinates of the preloaded active window stack are located at the coordinates of the display screen Outside the scope.
在一实施例中,所述预加载模块还设置为:In an embodiment, the preloading module is further configured to:
判断是否存在预先创建的预加载活动窗口堆栈;响应于不存在预先创建的预加载活动窗 口堆栈,按照预设规则创建预加载活动窗口堆栈,并基于所创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面;响应于存在预先创建的预加载活动窗口堆栈,基于所述预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面。Determining whether there is a pre-created preloaded active window stack; in response to the absence of a pre-created preloaded active window stack, creating a preloaded active window stack according to a preset rule, and preloading the stack based on the created preloaded active window stack An application interface corresponding to the target application; in response to the pre-created preloaded active window stack, preloading an application interface corresponding to the target application based on the pre-created preloaded active window stack.
在一实施例中,所述预加载模块还设置为:In an embodiment, the preloading module is further configured to:
创建所述目标应用程序对应的目标进程;在预先创建的预加载活动窗口堆栈中创建所述目标应用程序对应的任务栈;基于所述目标进程在所述任务栈中启动所述目标应用程序对应的活动窗口;基于所启动的活动窗口绘制并显示所述目标应用程序对应的应用界面。Creating a target process corresponding to the target application; creating a task stack corresponding to the target application in a pre-created preload active window stack; and starting the target application corresponding to the target process in the task stack based on the target process An active window; draws and displays an application interface corresponding to the target application based on the activated active window.
在一实施例中,该装置还包括:In an embodiment, the apparatus further comprises:
界面迁移模块,设置为在接收到所述目标应用程序的运行指令时,将所述预加载完成的应用界面迁移至所述显示屏幕进行显示。The interface migration module is configured to, when receiving the running instruction of the target application, migrate the pre-loaded application interface to the display screen for display.
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行应用程序预加载方法,该方法包括:The embodiment of the present application further provides a storage medium including computer executable instructions for executing an application preloading method when executed by a computer processor, the method comprising:
检测到应用预加载事件被触发;An application preload event is detected to be triggered;
确定待预加载的目标应用程序;Determining the target application to be preloaded;
采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面。The application interface corresponding to the target application is preloaded with a low power core in the multi-core processor.
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDRRAM、SRAM、EDORAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。Storage media - any of a variety of types of memory devices or storage devices. The term "storage medium" is intended to include: a mounting medium such as a CD-ROM, a floppy disk or a tape device; a computer system memory or a random access memory such as DRAM, DDRRAM, SRAM, EDORAM, Rambus RAM, etc.; Volatile memory, such as flash memory, magnetic media (such as hard disk or optical storage); registers or other similar types of memory elements, and the like. The storage medium may also include other types of memory or a combination thereof. Additionally, the storage medium may be located in a first computer system in which the program is executed, or may be located in a different second computer system, the second computer system being coupled to the first computer system via a network, such as the Internet. The second computer system can provide program instructions to the first computer for execution. The term "storage medium" can include two or more storage media that can reside in different locations (eg, in different computer systems connected through a network). A storage medium may store program instructions (eg, embodied as a computer program) executable by one or more processors.
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的应用程序预加载操作,还可以执行本申请任意实施例所提供的应用程序预加载方法中的相关操作。Of course, the storage medium containing the computer executable instructions provided by the embodiment of the present application is not limited to the application preloading operation as described above, and may also execute the application provided by any embodiment of the present application. Related operations in the preload method.
本申请实施例提供了一种移动终端,该移动终端中可集成本申请实施例提供的应用程序预加载装置。图7为本申请实施例提供的一种移动终端的结构示意图。移动终端700可以包括:存储器701,处理器702及存储在存储器上并可在处理器运行的计算机程序,所述处理器702执行所述计算机程序时实现如本申请实施例所述的应用程序预加载方法。The embodiment of the present application provides a mobile terminal, where the application preloading device provided by the embodiment of the present application can be integrated. FIG. 7 is a schematic structural diagram of a mobile terminal according to an embodiment of the present application. The mobile terminal 700 can include a memory 701, a processor 702, and a computer program stored on the memory and executable by the processor, and the processor 702 executes the computer program to implement the application program as described in the embodiment of the present application. Load method.
本申请实施例提供的移动终端,可以在应用预加载过程中限制用于预加载的系统资源的使用,避免预加载过程产生过多的功耗。The mobile terminal provided by the embodiment of the present application can limit the use of system resources for preloading in the application preloading process, and avoid excessive power consumption in the preloading process.
图8为本申请实施例提供的另一种移动终端的结构示意图,该移动终端可以包括:壳体(图中未示出)、存储器801、中央处理器(central processing unit,CPU)802(又称处理器,以下简称CPU)、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU802和所述存储器801设置在所述电路板上;所述电源电路,设置为为所述移动终端的各个电路或器件供电;所述存储器801,设置为存储可执行程序代码;所述CPU802通过读取所述存储器801中存储的可执行程序代码来运行与所述可执行程序代码对应的计算机程序,以实现以下步骤:FIG. 8 is a schematic structural diagram of another mobile terminal according to an embodiment of the present disclosure. The mobile terminal may include: a housing (not shown), a memory 801, and a central processing unit (CPU) 802 (again The processor is referred to as a CPU, a circuit board (not shown), and a power supply circuit (not shown). The circuit board is disposed inside a space enclosed by the casing; the CPU 802 and the memory 801 are disposed on the circuit board; and the power circuit is configured to supply power to each circuit or device of the mobile terminal The memory 801 is configured to store executable program code; the CPU 802 runs a computer program corresponding to the executable program code by reading executable program code stored in the memory 801 to implement the following steps:
检测到应用预加载事件被触发;An application preload event is detected to be triggered;
确定待预加载的目标应用程序;Determining the target application to be preloaded;
采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面。The application interface corresponding to the target application is preloaded with a low power core in the multi-core processor.
所述移动终端还包括:外设接口803、射频(Radio Frequency,RF)电路805、音频电路806、扬声器811、电源管理芯片808、输入/输出(I/O)子系统809、其他输入/控制设备810、触摸屏812、其他输入/控制设备810以及外部端口804,这些部件通过一个或多个通信总线或信号线807来通信。The mobile terminal further includes: a peripheral interface 803, a radio frequency (RF) circuit 805, an audio circuit 806, a speaker 811, a power management chip 808, an input/output (I/O) subsystem 809, and other inputs/controls. Device 810, touch screen 812, other input/control devices 810, and external port 804 are communicated via one or more communication buses or signal lines 807.
应该理解的是,图示移动终端800仅仅是移动终端的一个范例,并且移动终端800可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。It should be understood that the illustrated mobile terminal 800 is merely one example of a mobile terminal, and that the mobile terminal 800 may have more or fewer components than those shown in the figures, and two or more components may be combined. Or it can have different component configurations. The various components shown in the figures can be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and/or application specific integrated circuits.
下面就本实施例提供的用于应用预加载的移动终端进行详细的描述,该移动终端以手机为例。The mobile terminal for applying preloading provided in this embodiment is described in detail below. The mobile terminal takes a mobile phone as an example.
存储器801,所述存储器801可以被CPU802、外设接口803等访问,所述存储器801可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。The memory 801 can be accessed by the CPU 802, the peripheral interface 803, etc., and the memory 801 can include a high speed random access memory, and can also include a non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices. Or other volatile solid-state storage devices.
外设接口803,所述外设接口803可以将设备的输入和输出外设连接到CPU802和存储器801。 Peripheral interface 803, which can connect the input and output peripherals of the device to CPU 802 and memory 801.
I/O子系统809,所述I/O子系统809可以将设备上的输入输出外设,例如触摸屏812和其他输入/控制设备810,连接到外设接口803。I/O子系统809可以包括显示控制器8091和用于控制其他输入/控制设备810的一个或多个输入控制器8092。其中,一个或多个输入控制器8092从其他输入/控制设备810接收电信号或者向其他输入/控制设备810发送电信号,其他输入/控制设备810可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操 纵杆、点击滚轮。值得说明的是,输入控制器8092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。I/O subsystem 809, which can connect input and output peripherals on the device, such as touch screen 812 and other input/control devices 810, to peripheral interface 803. The I/O subsystem 809 can include a display controller 8091 and one or more input controllers 8092 for controlling other input/control devices 810. Wherein, one or more input controllers 8092 receive electrical signals from other input/control devices 810 or transmit electrical signals to other input/control devices 810, and other input/control devices 810 may include physical buttons (press buttons, rocker buttons, etc.) ), dial, slide switch, joystick, click wheel. It is worth noting that the input controller 8092 can be connected to any of the following: a keyboard, an infrared port, a USB interface, and a pointing device such as a mouse.
触摸屏812,所述触摸屏812是用户移动终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。The touch screen 812 is an input interface and an output interface between the user mobile terminal and the user, and displays the visual output to the user. The visual output may include graphics, text, icons, videos, and the like.
I/O子系统809中的显示控制器8091从触摸屏812接收电信号或者向触摸屏812发送电信号。触摸屏812检测触摸屏上的接触,显示控制器8091将检测到的接触转换为与显示在触摸屏812上的用户界面对象的交互,即实现人机交互,显示在触摸屏812上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。 Display controller 8091 in I/O subsystem 809 receives an electrical signal from touch screen 812 or an electrical signal to touch screen 812. The touch screen 812 detects the contact on the touch screen, and the display controller 8091 converts the detected contact into an interaction with the user interface object displayed on the touch screen 812, that is, realizes human-computer interaction, and the user interface object displayed on the touch screen 812 may be running. The icon of the game, the icon of the network to the corresponding network, and the like. It is worth noting that the device may also include a light mouse, which is a touch sensitive surface that does not display a visual output, or an extension of a touch sensitive surface formed by the touch screen.
RF电路805,主要设置为建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路805接收并发送RF信号,RF信号也称为电磁信号,RF电路805将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路805可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编译码器(COder-DECoder,CODEC)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。The RF circuit 805 is mainly configured to establish communication between the mobile phone and the wireless network (ie, the network side), and implement data reception and transmission between the mobile phone and the wireless network. For example, sending and receiving short messages, emails, and the like. Specifically, the RF circuit 805 receives and transmits an RF signal, which is also referred to as an electromagnetic signal, and the RF circuit 805 converts the electrical signal into an electromagnetic signal or converts the electromagnetic signal into an electrical signal, and through the electromagnetic signal and communication network and other devices Communicate. RF circuitry 805 may include known circuitry for performing these functions including, but not limited to, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a codec CODER-DECoder (CODEC) chipset, Subscriber Identity Module (SIM), etc.
音频电路806,主要设置为从外设接口803接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器811。The audio circuit 806 is primarily configured to receive audio data from the peripheral interface 803, convert the audio data into an electrical signal, and transmit the electrical signal to the speaker 811.
扬声器811,设置为将手机通过RF电路805从无线网络接收的语音信号,还原为声音并向用户播放该声音。The speaker 811 is arranged to restore the voice signal received by the mobile phone from the wireless network through the RF circuit 805 to sound and play the sound to the user.
电源管理芯片808,设置为为CPU802、I/O子系统及外设接口所连接的硬件进行供电及电源管理。The power management chip 808 is configured to provide power and power management for the hardware connected to the CPU 802, the I/O subsystem, and the peripheral interface.
上述实施例中提供的应用程序预加载装置、存储介质及移动终端可执行本申请任意实施例所提供的应用程序预加载方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的应用程序预加载方法。The application preloading device, the storage medium, and the mobile terminal provided in the foregoing embodiments may perform the application preloading method provided by any embodiment of the present application, and have corresponding functional modules and beneficial effects for executing the method. For technical details that are not described in detail in the above embodiments, reference may be made to the application preloading method provided by any embodiment of the present application.

Claims (20)

  1. 一种应用程序预加载方法,包括:An application preloading method, including:
    检测到应用预加载事件被触发;An application preload event is detected to be triggered;
    确定待预加载的目标应用程序;Determining the target application to be preloaded;
    采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面。The application interface corresponding to the target application is preloaded with a low power core in the multi-core processor.
  2. 根据权利要求1所述的方法,在所述采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面之后,还包括:The method of claim 1, after the application of the application interface corresponding to the target application by the low-power core in the multi-core processor, the method further includes:
    设置预加载完成的应用界面的可见性属性为不可见,所述不可见包括对系统不可见。The visibility attribute of the pre-loaded application interface is set to be invisible, and the invisibility includes invisibility to the system.
  3. 根据权利要求1所述的方法,在所述采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面之后,还包括:The method of claim 1, after the application of the application interface corresponding to the target application by the low-power core in the multi-core processor, the method further includes:
    暂停所述目标应用程序,或,冻结所述目标应用程序的进程。Pausing the target application, or freezing the process of the target application.
  4. 根据权利要求3所述的方法,其中,The method of claim 3, wherein
    所述暂停所述目标应用程序,包括:The suspending the target application includes:
    暂停所述目标应用程序所对应的任务栈顶端的活动窗口;Suspending an active window at the top of the task stack corresponding to the target application;
    所述冻结所述目标应用程序的进程,包括:The process of freezing the target application includes:
    将所述目标应用程序的进程的进程标识,写入内核层中预设冻结群组中对应冻结属性的节点。Write the process identifier of the process of the target application to the node in the kernel layer corresponding to the frozen attribute in the preset frozen group.
  5. 根据权利要求3所述的方法,在所述冻结所述目标应用程序的进程之后,还包括:The method of claim 3, after the freezing the process of the target application, further comprising:
    在通过内核层检测到接收者为所述目标应用程序的预设消息时,解冻所述目标应用程序的进程;Thawing the process of the target application when detecting, by the kernel layer, that the recipient is a preset message of the target application;
    经过预设时长后,重新冻结所述目标应用程序的进程。After the preset duration, the process of the target application is re-frozen.
  6. 根据权利要求1-5任一所述的方法,所述采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面,包括:The method according to any one of claims 1-5, wherein the application interface corresponding to the target application is preloaded by using a low-power core in the multi-core processor, including:
    采用多核处理器中的低功耗核心,基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的坐标范围之外。Using a low-power core in the multi-core processor, pre-loading the application interface corresponding to the target application based on the pre-created preload active window stack, wherein the boundary coordinates of the preloaded active window stack are located at the coordinates of the display screen Outside the scope.
  7. 根据权利要求6所述的方法,其中,所述基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,包括:The method of claim 6, wherein the pre-creating a preloaded active window stack preloads an application interface corresponding to the target application, comprising:
    判断是否存在预先创建的预加载活动窗口堆栈;Determine whether there is a pre-created preloaded active window stack;
    响应于不存在预先创建的预加载活动窗口堆栈,按照预设规则创建预加载活动窗口堆栈,并基于所创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面;Responding to the absence of a pre-created preloaded active window stack, creating a preloaded active window stack according to a preset rule, and preloading an application interface corresponding to the target application based on the created preloaded active window stack;
    响应于存在预先创建的预加载活动窗口堆栈,基于所述预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面。In response to the pre-created preloaded active window stack, an application interface corresponding to the target application is preloaded based on the pre-created preloaded active window stack.
  8. 根据权利要求6所述的方法,其中,所述基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,包括:The method of claim 6, wherein the pre-creating a preloaded active window stack preloads an application interface corresponding to the target application, comprising:
    创建所述目标应用程序对应的目标进程;Creating a target process corresponding to the target application;
    在预先创建的预加载活动窗口堆栈中创建所述目标应用程序对应的任务栈;Creating a task stack corresponding to the target application in a pre-created preloaded active window stack;
    基于所述目标进程在所述任务栈中启动所述目标应用程序对应的活动窗口;基于所启动的活动窗口绘制并显示所述目标应用程序对应的应用界面。And launching, according to the target process, an activity window corresponding to the target application in the task stack; and drawing and displaying an application interface corresponding to the target application based on the activated activity window.
  9. 根据权利要求6所述的方法,还包括:The method of claim 6 further comprising:
    在接收到所述目标应用程序的运行指令时,将所述预加载完成的应用界面迁移至所述显示屏幕进行显示。Upon receiving the running instruction of the target application, the preloaded application interface is migrated to the display screen for display.
  10. 一种应用程序预加载装置,包括:An application preloading device comprising:
    事件触发检测模块,设置为检测应用预加载事件是否被触发;An event trigger detection module configured to detect whether an application preload event is triggered;
    应用确定模块,设置为在检测到应用预加载事件被触发时,确定待预加载的目标应用程序;An application determining module, configured to determine a target application to be preloaded when detecting that an application preloading event is triggered;
    预加载模块,设置为采用多核处理器中的低功耗核心预加载所述目标应用程序对应的应用界面。The preloading module is configured to preload the application interface corresponding to the target application by using a low power core in the multi-core processor.
  11. 根据权利要求10所述的装置,还包括:The apparatus of claim 10 further comprising:
    可见性设置模块,设置为设置预加载完成的应用界面的可见性属性为不可见,所述不可见包括对系统不可见。The visibility setting module is set to set the visibility property of the pre-loaded application interface to be invisible, and the invisibility includes invisibility to the system.
  12. 根据权利要求10所述的装置,还包括:The apparatus of claim 10 further comprising:
    应用暂停模块,设置为暂停所述目标应用程序;Applying a pause module, set to pause the target application;
    应用冻结模块,设置为冻结所述目标应用程序的进程。The application freeze module is set to freeze the process of the target application.
  13. 根据权利要求12所述的装置,其中,The device according to claim 12, wherein
    所述应用暂停模块还设置为:暂停所述目标应用程序所对应的任务栈顶端的活动窗口;The application suspension module is further configured to: suspend an active window at the top of the task stack corresponding to the target application;
    所述应用冻结模块还设置为:将所述目标应用程序的进程的进程标识,写入内核层中预设冻结群组中对应冻结属性的节点。The application freezing module is further configured to: write the process identifier of the process of the target application to a node in the kernel layer that is corresponding to the frozen attribute in the preset frozen group.
  14. 根据权利要求12所述的装置,还包括:The apparatus of claim 12, further comprising:
    应用解冻模块,设置为在通过内核层检测到接收者为所述目标应用程序的预设消息时间,解冻所述目标应用程序的进程;Applying a defrosting module, configured to thaw the process of the target application after detecting, by the kernel layer, that the recipient is the preset message time of the target application;
    所述应用冻结模块还设置为:经过预设时长后,重新冻结所述目标应用程序的进程。The application freezing module is further configured to: after the preset duration, re-freeze the process of the target application.
  15. 根据权利要求10-14任一所述的装置,其中,所述预加载模块还设置为:The device according to any one of claims 10-14, wherein the preloading module is further configured to:
    采用多核处理器中的低功耗核心,基于预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面,其中,所述预加载活动窗口堆栈对应的边界坐标位于显示屏幕的 坐标范围之外。Using a low-power core in the multi-core processor, pre-loading the application interface corresponding to the target application based on the pre-created preload active window stack, wherein the boundary coordinates of the preloaded active window stack are located at the coordinates of the display screen Outside the scope.
  16. 根据权利要求15所述的装置,其中,所述预加载模块还设置为:The apparatus of claim 15 wherein said preloading module is further configured to:
    判断是否存在预先创建的预加载活动窗口堆栈;Determine whether there is a pre-created preloaded active window stack;
    响应于不存在预先创建的预加载活动窗口堆栈,按照预设规则创建预加载活动窗口堆栈,并基于所创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面;Responding to the absence of a pre-created preloaded active window stack, creating a preloaded active window stack according to a preset rule, and preloading an application interface corresponding to the target application based on the created preloaded active window stack;
    响应于存在预先创建的预加载活动窗口堆栈,基于所述预先创建的预加载活动窗口堆栈预加载所述目标应用程序对应的应用界面。In response to the pre-created preloaded active window stack, an application interface corresponding to the target application is preloaded based on the pre-created preloaded active window stack.
  17. 根据权利要求15所述的装置,其中,所述预加载模块还设置为:The apparatus of claim 15 wherein said preloading module is further configured to:
    创建所述目标应用程序对应的目标进程;Creating a target process corresponding to the target application;
    在预先创建的预加载活动窗口堆栈中创建所述目标应用程序对应的任务栈;Creating a task stack corresponding to the target application in a pre-created preloaded active window stack;
    基于所述目标进程在所述任务栈中启动所述目标应用程序对应的活动窗口;基于所启动的活动窗口绘制并显示所述目标应用程序对应的应用界面。And launching, according to the target process, an activity window corresponding to the target application in the task stack; and drawing and displaying an application interface corresponding to the target application based on the activated activity window.
  18. 根据权利要求15所述的装置,还包括:The apparatus of claim 15 further comprising:
    界面迁移模块,设置为在接收到所述目标应用程序的运行指令时,将所述预加载完成的应用界面迁移至所述显示屏幕进行显示。The interface migration module is configured to, when receiving the running instruction of the target application, migrate the pre-loaded application interface to the display screen for display.
  19. 一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如权利要求1-9中任一所述的应用程序预加载方法。A computer readable storage medium having stored thereon a computer program, wherein the program is executed by a processor to implement the application preloading method of any of claims 1-9.
  20. 一种移动终端,其中,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-9任一所述的应用程序预加载方法。A mobile terminal, comprising: a memory, a processor, and a computer program stored on the memory and operable by the processor, the processor executing the computer program to implement the application according to any one of claims 1-9 Program preload method.
PCT/CN2019/084779 2018-05-10 2019-04-28 Application preloading method, device, storage medium, and mobile terminal WO2019214475A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810443422.4A CN108664285A (en) 2018-05-10 2018-05-10 Application program preloads method, apparatus, storage medium and mobile terminal
CN201810443422.4 2018-05-10

Publications (1)

Publication Number Publication Date
WO2019214475A1 true WO2019214475A1 (en) 2019-11-14

Family

ID=63778136

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/084779 WO2019214475A1 (en) 2018-05-10 2019-04-28 Application preloading method, device, storage medium, and mobile terminal

Country Status (2)

Country Link
CN (1) CN108664285A (en)
WO (1) WO2019214475A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022026394A1 (en) * 2020-07-31 2022-02-03 Google Llc Platform independent lightweight user interface framework for glanceable surfaces

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108664285A (en) * 2018-05-10 2018-10-16 Oppo广东移动通信有限公司 Application program preloads method, apparatus, storage medium and mobile terminal
CN109753352A (en) * 2019-01-04 2019-05-14 Oppo广东移动通信有限公司 Using processing method, electronic device and the computer readable storage medium freezed
CN111857859A (en) * 2019-04-30 2020-10-30 中兴通讯股份有限公司 Application control method, device, terminal and computer readable storage medium
CN113568748A (en) * 2021-07-27 2021-10-29 Oppo广东移动通信有限公司 Application process processing method and device, storage medium and electronic equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130120294A1 (en) * 2011-11-16 2013-05-16 Samsung Electronics Co. Ltd. Apparatus with touch screen for preloading multiple applications and method of controlling the same
CN103376974A (en) * 2013-06-28 2013-10-30 广州市动景计算机科技有限公司 Window switching method and device
CN104657183A (en) * 2015-03-09 2015-05-27 联想(北京)有限公司 Information processing method, information processing device and electronic equipment
CN108664285A (en) * 2018-05-10 2018-10-16 Oppo广东移动通信有限公司 Application program preloads method, apparatus, storage medium and mobile terminal

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799772B (en) * 2010-02-26 2014-06-11 上海华为技术有限公司 Kernel dispatching method, kernel backup method and multi-core processor
US9268611B2 (en) * 2010-09-25 2016-02-23 Intel Corporation Application scheduling in heterogeneous multiprocessor computing platform based on a ratio of predicted performance of processor cores
CN102929532B (en) * 2012-09-29 2015-07-22 东莞宇龙通信科技有限公司 Application program starting method and communication terminal
CN103645954B (en) * 2013-11-21 2018-12-14 华为技术有限公司 A kind of CPU dispatching method based on heterogeneous multi-core system, device and system
CN105988827B (en) * 2015-01-29 2019-07-05 阿里巴巴集团控股有限公司 A kind of method and device that application is freezed, thaws
CN106681768A (en) * 2016-12-29 2017-05-17 努比亚技术有限公司 Process control method and electronic equipment
CN107066320B (en) * 2017-01-19 2021-06-15 努比亚技术有限公司 Android process freezing and unfreezing device and method
CN106919313A (en) * 2017-04-21 2017-07-04 维沃移动通信有限公司 The startup method and mobile terminal of a kind of application program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130120294A1 (en) * 2011-11-16 2013-05-16 Samsung Electronics Co. Ltd. Apparatus with touch screen for preloading multiple applications and method of controlling the same
CN103376974A (en) * 2013-06-28 2013-10-30 广州市动景计算机科技有限公司 Window switching method and device
CN104657183A (en) * 2015-03-09 2015-05-27 联想(北京)有限公司 Information processing method, information processing device and electronic equipment
CN108664285A (en) * 2018-05-10 2018-10-16 Oppo广东移动通信有限公司 Application program preloads method, apparatus, storage medium and mobile terminal

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022026394A1 (en) * 2020-07-31 2022-02-03 Google Llc Platform independent lightweight user interface framework for glanceable surfaces
US20230315494A1 (en) * 2020-07-31 2023-10-05 Google Llc Platform independent lightweight user interface framework for glanceable surfaces
US11941416B2 (en) 2020-07-31 2024-03-26 Google Llc Platform independent lightweight user interface framework for glanceable surfaces

Also Published As

Publication number Publication date
CN108664285A (en) 2018-10-16

Similar Documents

Publication Publication Date Title
US11086663B2 (en) Preloading application using active window stack
WO2019214475A1 (en) Application preloading method, device, storage medium, and mobile terminal
WO2019218885A1 (en) Application program pre-loading method and apparatus, and storage medium and intelligent terminal
CN108681475B (en) Application program preloading method and device, storage medium and mobile terminal
EP3575962B1 (en) Method and device for preloading application, storage medium and intelligent terminal
CN108363593B (en) Application program preloading method and device, storage medium and terminal
EP3575961B1 (en) Method and apparatus for updating application prediction model, storage medium, and terminal
WO2019233241A1 (en) Method and apparatus for starting application program, and 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
EP3579105A1 (en) Application preloading method and device, storage medium and terminal
WO2019206213A1 (en) Application program pre-loading method and apparatus, and storage medium and terminal
US11099861B2 (en) Method for preloading application, storage medium, and terminal
CN108595224B (en) Application program prompting method and device, storage medium and terminal
CN108762831B (en) Application program preloading method and device, storage medium and terminal
WO2019214477A1 (en) Application program pre-loading method and device, storage medium and terminal
WO2019214476A1 (en) Screen direction setting method and device, storage medium and terminal
CN108804153B (en) Application program preloading method and device, storage medium and terminal
CN108958828B (en) Application program preloading method and device, storage medium and terminal
CN108776599B (en) Management method and device for preloaded application, storage medium and intelligent terminal
WO2019218886A1 (en) Application pre-loading management method, device, storage medium and smart terminal
CN108845838B (en) Application program preloading method and device, storage medium and terminal
KR20210037320A (en) Method and electronic device for executing application
CN108762838B (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: 19798884

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

Country of ref document: EP

Kind code of ref document: A1