WO2022042237A1 - 加速应用启动的方法、电子设备及计算机存储介质 - Google Patents

加速应用启动的方法、电子设备及计算机存储介质 Download PDF

Info

Publication number
WO2022042237A1
WO2022042237A1 PCT/CN2021/110463 CN2021110463W WO2022042237A1 WO 2022042237 A1 WO2022042237 A1 WO 2022042237A1 CN 2021110463 W CN2021110463 W CN 2021110463W WO 2022042237 A1 WO2022042237 A1 WO 2022042237A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
target application
system service
trigger event
target
Prior art date
Application number
PCT/CN2021/110463
Other languages
English (en)
French (fr)
Inventor
韩风
孙文涌
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP21860077.3A priority Critical patent/EP4191408A4/en
Priority to US18/043,194 priority patent/US20230385131A1/en
Publication of WO2022042237A1 publication Critical patent/WO2022042237A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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
    • 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/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Definitions

  • the present application relates to the technical field of mobile terminals, and in particular, to a method for accelerating application startup, an electronic device, and a computer storage medium.
  • the present application provides a method for accelerating application startup, which specifically includes:
  • the system service detects the first trigger event of the target application
  • the system service hatches the application program of the target application in response to the first trigger event, and transmits the communication address to the application program;
  • the application waits to receive a message according to the communication address
  • the system service detects the second trigger event of the target application
  • the system service In response to the second trigger event of the target application, the system service generates a startup instruction, and sends the startup instruction to the application;
  • the application program receives the startup instruction through the communication address
  • the application program starts the target application in response to the start instruction.
  • the application program in the embodiment of the present application starts the target application in response to the startup instruction when monitoring the startup instruction sent by the system service through the communication address, so that when the application program starts the target application, the socket is blocked, so that all
  • the preloading process of the application program of the target application does not need to occupy too much CPU resources, input and output resources and memory space before receiving the startup instruction, which ensures that the behavior of the preloading of the target application is controllable and improves the startup speed of the application. .
  • the method further includes: the application waiting to receive a message according to the communication address includes:
  • the application program creates a server or a client according to the communication address
  • the server or the client waits to receive a message according to the communication address.
  • the application program can receive the message waiting to be received according to the communication address through the server or the client.
  • the communication address is a socket address
  • the server is a socket server
  • the client is a socket server.
  • the system service and the application implement a socket communication mechanism.
  • the method further includes:
  • the application program suspends execution of the application code of the target application before the server or client receives the startup instruction, and waits to receive the startup instruction;
  • the application does not create child thread services
  • the application did not initiate binder communication.
  • the preloading process of the application program of the target application before receiving the startup instruction further reduces the occupancy rate of CPU resources and input and output resources, ensuring that the behavior of preloading of the target application is controllable and improving the application startup speed.
  • the sending, by the system service, the startup instruction to the application program specifically includes: the system service sending the startup instruction to the application program through a socket message.
  • the application program can receive the instruction sent by the system server.
  • the application receiving the startup instruction through the server or client specifically includes:
  • the server or client in the application program monitors and receives the startup instruction sent by the system service through the accept() function and the communication address.
  • the application program starting the target application in response to the starting instruction specifically includes:
  • the application program calls and executes the application code of the target application through the oncreat() function.
  • the application code of the target application can be quickly executed.
  • the system service detecting the first trigger event of the target application includes: when the system service detects a touch operation on the target application, determining that the first trigger occurs in the target application. event.
  • a first trigger event can be triggered to preload the target application, which facilitates the user's operation and improves the startup speed of the target application.
  • the system service detecting the first trigger event of the target application specifically includes:
  • the system service determines a touch position corresponding to the touch operation
  • the user only needs to touch the corresponding position of the target application on the display screen of the electronic device to trigger the first trigger event to preload the target application, which facilitates the user's operation and improves the startup speed of the target application.
  • the system service detecting the second trigger event of the target application includes:
  • the user only needs to perform a trigger operation on the target application and then release the trigger operation, so that the target application can trigger the second trigger event to start the target application, thereby facilitating user operations.
  • the system service detecting the second trigger event of the target application specifically includes:
  • the system service determines that when the target application is touched, timing is performed to obtain a timing time
  • the user only needs to perform a touch operation on the target application and stop the touch operation within the first preset time range to trigger a second trigger event to start the target application, thereby facilitating user operation.
  • the method further includes:
  • the touch operation of the target application does not end within the first preset time range, and the system service determines whether the target application ends within the second preset time range;
  • the system service sleeps for a preset time period
  • the system service determines that a third trigger event occurs in the target application, and pops up a shortcut menu of the target application in response to the third trigger event.
  • the shortcut menu function of the target application pops up for the user to operate the shortcut function of the target application.
  • the system service detecting the first trigger event of the target application specifically includes:
  • the system service obtains the first voice command
  • the operation object of the first voice command is the target application, determining whether the first voice command includes a first control command
  • the first voice instruction includes a first control instruction
  • the user can trigger the first trigger event to preload the target application only through a voice command, thereby facilitating the user's operation and improving the startup speed of the target application.
  • the system service detecting the second trigger event of the target application specifically includes:
  • the system service obtains the second voice command
  • the operation object of the second voice command is the target application, determining whether the second voice command includes a second control command
  • the second voice instruction includes a second control instruction, it is determined that the second trigger event occurs in the target application.
  • the user can trigger the second trigger event to start the target application only through a voice command, thereby facilitating user operation and improving user experience.
  • the system service detecting the first trigger event of the target application specifically includes:
  • the system service obtains the user's eye tracking information
  • the eye tracking information it is determined that the first trigger event occurs on the target application whose gaze duration exceeds the first preset duration.
  • the user can trigger the first trigger event of the target application to preload the target application by simply gazing at the target application, thereby simplifying the user operation and increasing the startup speed of the target application.
  • the system service detecting the second trigger event of the target application specifically includes:
  • the eye tracking information determine whether the gaze duration for the target application exceeds a second preset duration
  • the gaze duration on the target application exceeds a second preset duration, it is determined that the second trigger event occurs in the target application.
  • the user can trigger the second trigger event of the target application to preload the target application by simply staring at the target application for more than the second preset duration, thereby simplifying user operations and improving the startup speed of the target application.
  • the system service detecting the first trigger event of the target application specifically includes:
  • the system service obtains the location of the electronic device
  • the first trigger event of the target application can be triggered to preload the target application.
  • the system service detecting the first trigger event of the target application specifically includes:
  • the system service determines whether the current time is within a preset time range
  • the first trigger event of the target application can be triggered to preload the target application.
  • the system service detecting the second trigger event of the target application specifically includes:
  • timing is performed to obtain the timing time
  • the system service determines whether the timing time is greater than a second preset time threshold
  • the system service determines that the timing time is greater than the second preset time threshold, it is determined that the second trigger event occurs in the target application.
  • the second trigger event of the target application is triggered to start the target application.
  • the target application is a preset type of application.
  • a specific type of target application can trigger a first trigger event to preload the target application.
  • the system service detecting the first trigger event of the target application specifically includes:
  • the system service acquires first historical data of the user using the target application, wherein the first historical data at least includes time information, frequency information and location information of using the target application;
  • the system service uses a machine learning method to analyze the first historical data and determine the user's usage habits of the target application;
  • the system service determines whether the target application satisfies the usage habit condition
  • the target application can trigger the first trigger event of the target application to preload the target application when the usage habit condition is satisfied.
  • the system service generating a preload instruction in response to the first trigger event to preload the target application specifically includes:
  • the plurality of applications are sequentially preloaded according to the ordering.
  • the system service can pre-load target applications with high levels according to priority levels when the first trigger event occurs in multiple target applications, which is convenient for users to use.
  • an embodiment of the present application provides an electronic device, including an apparatus for performing the steps performed in the method of the first aspect and any possible design thereof.
  • an embodiment of the present application provides a computer storage medium, where a program instruction is stored in the computer storage medium, and when the program instruction is executed on an electronic device, the electronic device is made to execute the above-mentioned first embodiment of the present application.
  • FIG. 1 is a flowchart of a method for accelerating application startup according to an embodiment of the present application.
  • FIG. 2a is a schematic diagram of a first trigger event occurring in a target application according to an embodiment of the present application.
  • FIG. 2b is a schematic diagram of a second trigger event occurring in a target application according to an embodiment of the present application.
  • FIG. 3 is a flowchart of a method for a system service to detect a first trigger event of a target application in an embodiment of the present application.
  • FIG. 4 is a flowchart of a method for a system service to detect a second trigger event of a target application according to an embodiment of the present application.
  • FIG. 5 is a schematic diagram of generating a shortcut menu after touching a target application according to an embodiment of the present application.
  • FIG. 6 is a schematic diagram of a first trigger event occurring in a target application in another embodiment of the present application.
  • FIG. 7 is a flowchart of a method for a system service to detect a first trigger event of a target application in another embodiment of the present application.
  • FIG. 8 is a flowchart of a method for a system service to detect a second trigger event of a target application in an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of an electronic device provided in an embodiment of the present application.
  • first and second are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implying the number of indicated technical features.
  • a feature defined as “first” or “second” may expressly or implicitly include one or more of that feature.
  • words such as “exemplary” or “for example” are used to mean serving as an example, illustration or illustration. Any embodiments or designs described in the embodiments of the present application as “exemplary” or “such as” should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as “exemplary” or “such as” is intended to present the related concepts in a specific manner.
  • FIG. 1 it is a flowchart of a method for accelerating application startup in an embodiment of the present application.
  • the method is applied in the electronic device 1 and may specifically include the following steps.
  • Step S101 the system service detects the first trigger event of the target application.
  • the system service when the system service detects a touch operation on the target application, it is determined that the first trigger event occurs in the target application.
  • the system service process detecting the first trigger event of the target application, reference may be made to FIG. 3 and FIG. 6 and the following detailed description for FIGS. 3 and 6 .
  • Step S102 the system service hatches an application program of the target application in response to the first trigger event, and transmits the communication address to the application program.
  • the system service generates a preload instruction in response to the first trigger event, generates a communication address and incubates the application program of the target application according to the preload instruction, and transmits the communication address to the described application.
  • the system service hatches the application program of the target application and transmits the communication address to the application program to realize a mechanism for the hatched application program and the system service to communicate through sockets .
  • Step S103 the application is preloaded.
  • the application program loads the data of the target application.
  • the data for loading the target application by the application program includes application code of the target application and resources of the target application.
  • the application code of the target application at least includes application package code
  • the resources of the target application at least include sound, image, font, cursor, menu, dialog box, toolbar, handle, and memory.
  • the system service when the system service detects the first trigger event of the target application, it further determines whether the system service satisfies the preset condition, and responds to the first trigger event when it is determined that the system service satisfies the preset condition.
  • a trigger event is preloaded. Specifically, the system service detects whether the remaining usage space of the memory is within the preset storage space range; detects whether the usage rate of the CPU is within the second preset range; detects whether the target application is in the preset application list; confirms the remaining memory When the usage space is within the preset storage space range, the CPU usage rate is within the second preset range, and the target application is in the preset application list, preloading is performed in response to the first trigger event.
  • the preset target application is an application frequently used by the user. In this way, the present application preloads the application when the first trigger event of the application frequently used by the user is detected, thereby improving the application startup rate.
  • the system service detects that the remaining used space of the memory is too low and not within the preset storage space range, the memory resources consumed by other applications during preloading are released through the system memory recycling mechanism.
  • the target application detects insufficient memory resources before executing the preloading process, the memory resources consumed by other applications during preloading are released through the system memory recycling mechanism, thereby ensuring the execution of preloading of the target application.
  • Step S104 the application waits to receive a message according to the communication address.
  • the waiting for the application to receive messages according to the communication address includes: the application creates a server or a client according to the communication address; and the server or the client according to the communication address Waiting to receive a message.
  • the communication address is a socket address
  • the server is a socket server
  • the client is a socket server.
  • the application program uses the socket.socket() function to create a server or a client according to the communication address.
  • Step S105 the system service detects whether a second trigger event occurs in the target application, wherein step S106 is executed if the second trigger event occurs in the target application, otherwise, if the target application does not have a second trigger event. Step S105 is repeatedly executed.
  • Step S106 the system service generates a startup instruction in response to the second trigger event of the target application, and sends the startup instruction to the application.
  • Step S107 the application program receives the startup instruction through the communication address.
  • the system service sends the startup instruction to the application program through a socket message.
  • the server or client in the application program monitors and receives the startup instruction sent by the system service through the accept() function and the communication address.
  • Step S108 the application program starts the target application in response to the startup instruction.
  • the starting of the target application by the application program in response to the start-up instruction includes: the application program starts the target application by using data of the target application in response to the start-up instruction.
  • the application program starts the target application by using the data of the target application in response to the startup instruction when monitoring the startup instruction sent by the system service through the server or the client, so that the application program starts the target application.
  • the application program of the target application does not need to occupy too much CPU resources, input and output resources and memory space in the preloading process before receiving the startup instruction, which ensures the preloading of the target application.
  • the behavior is controllable and improves the startup speed of the application.
  • the application program after receiving the startup instruction sent by the system service, the application program calls and executes the application code of the target application through the oncreat() function.
  • the method before the application receives the startup instruction through the server or the client, the method further includes: the application suspends the execution of the startup instruction before the server or the client receives the startup instruction.
  • the application program suspends execution of the application code of the target application before receiving the start instruction, and does not create a sub-thread service and does not initialize binder communication, the application program of the target application is not receiving The preloading process before the startup command does not need to occupy CPU resources and input and output resources.
  • the system service detects the user's touch operation on the target application on the display screen of the electronic device 1, and determines that a first trigger event occurs in the target application.
  • FIG. 2a which is a schematic diagram of a first trigger event occurring in a target application in an embodiment of the present application.
  • FIG. 3 it is a flowchart of a method for a system service to detect a first trigger event of a target application in an embodiment of the present application, which may specifically include the following steps:
  • Step S301 in response to the touch operation, the system service determines a touch position corresponding to the touch operation;
  • Step S302 the system service determines whether the target application is touched according to the touch position
  • Step S303 if it is determined that the target application is touched, the system service determines that the first trigger event occurs in the target application.
  • the system service detects that the user performs a touch operation on the target application, and then stops the target application from performing the touch operation, and determines that a second trigger event occurs in the target application.
  • FIG. 2b it is a schematic diagram of a second trigger event occurring in a target application in an embodiment of the present application.
  • FIG. 4 it is a flowchart of a method for a system service to detect a second trigger event of a target application in an embodiment of the present application, which may specifically include the following steps:
  • Step S401 the system service determines that the target application is touched by timing to obtain a timing time
  • Step S402 judging whether the touch operation of the target application ends within the first preset time range, wherein if the touch operation of the target application ends within the first preset time range, perform step S403; Step S404 is executed if the touch operation of the application does not end within the first preset time range;
  • Step S403 determining that a second trigger event occurs in the target application
  • Step S404 judging whether the target application ends within the second preset time range, wherein if the touch operation ends within the second preset time range, perform step S405, otherwise, if the touch operation does not end within the second preset time range Execute step S406;
  • Step S405 the system service sleeps for a preset time period
  • Step S406 determining that a third trigger event occurs in the target application, and popping up a shortcut menu of the target application in response to the third trigger event.
  • Step S402 judging whether the touch operation ends, wherein if the touch operation ends, step S403 is performed; otherwise, if the touch operation does not end, step S404 is performed;
  • FIG. 5 a schematic diagram of generating a shortcut menu after touching a target application in an embodiment of the present application is shown.
  • the system service determines that a third trigger event occurs in the target application, the target application will not be started, and instead a shortcut menu of the target application will pop up for the user to operate the target application. corresponding shortcut functions.
  • the system service when the user long presses the camera application for longer than the second preset time range, the system service will not start the target application, but will pop up a shortcut menu of the target application.
  • the pop-up shortcut menu includes at least a Selfie function option. When the user selects the Selfie function option, the Selfie function of the camera application is executed.
  • the system service detects a first voice instruction for the target application, and determines that a first trigger event occurs in the target application.
  • FIG. 6 which is a schematic diagram of a first trigger event occurring in a target application in an embodiment of the present application.
  • FIG. 7 it is a flowchart of a method for a system service to detect a first trigger event of a target application in an embodiment of the present application, which may specifically include the following steps:
  • Step S701 the system service obtains a first voice command
  • Step S702 analyzing whether the operation object of the first voice command is the target application
  • Step S703 if the operation object of the first voice command is the target application, determine whether the first voice command includes a first control command;
  • Step S704 if it is determined that the first voice instruction includes a first control instruction, determine that the first trigger event occurs in the target application.
  • the system service recognizes the first voice instruction through a voice recognition unit.
  • the first voice instruction includes an operation object and a first control instruction for the operation object.
  • the first voice command may be "load music player", wherein "music player” is the operation object, and "load” is the first control command. If the system service detects "load music player" When the first voice command is generated, it is determined that the target application in the first voice command is "music player” and the first control command in the first voice command is determined to be "load”, and it is determined that the first trigger occurs in the "music player” event.
  • the system service detects a second voice instruction for the target application, and determines that a second trigger event occurs in the target application.
  • FIG. 8 which is a flowchart of a method for a system service to detect a second trigger event of a target application in an embodiment of the present application, it may specifically include the following steps:
  • Step S801 the system service obtains a second voice command
  • Step S802 analyzing whether the operation object of the second voice command is the target application
  • Step S803 if the operation object of the second voice command is the target application, determine whether the first voice command includes a second control command;
  • Step S804 if it is determined that the second voice instruction includes a second control instruction, determine that the second trigger event occurs in the target application.
  • the second voice instruction includes an operation object and a second control instruction for the operation object.
  • the second voice command may be "start music player", where "music player” is the operation object, and "start” is the second control command, if the system service detects "start music player"
  • start music player When the second voice command is generated, determine that the target application in the second voice command is "music player” and determine that the second control command in the second voice command is "start”, and determine that a second trigger occurs in the "music player” event.
  • the system service detects the first voice command for the target application and determines that the target application has a first trigger event, it is not limited to determining that the target application has the first trigger event by detecting the voice command.
  • the implementation of the second trigger event may further include an implementation of determining that a second trigger event occurs in the target application by detecting that the user performs a touch operation on the target application and then stopping the target application from performing the touch operation.
  • the system service detects the user's eye tracking information, and determines, according to the eye tracking information, the target application and whether the first trigger event occurs in the target application. Specifically, the system service obtains the user's eye tracking information, and determines, according to the eye tracking information, that the first trigger event occurs on a target application whose gaze duration exceeds a first preset duration.
  • the system service may acquire tracking information through an eye tracking device.
  • the eye tracking device is an infrared sensor or a camera. Since the user looks at an application for a longer time, it indicates that the user is very likely to start the application. Therefore, it can be determined according to the eye tracking information that the application corresponding to the application icon whose eye gaze time is longer than the preset time is the target application.
  • the system service determines the user's eye movement trajectory according to the eye tracking information; determines the number of times the user passes each application icon on the electronic device 1 according to the eye movement trajectory; and determines that the number of times exceeds the first The first trigger event occurs in a target application with a preset threshold.
  • the system service further determines whether a second trigger event occurs in the target application according to the eye tracking information. Specifically, the system service determines whether the gaze duration on the target application exceeds a second preset duration according to the eye tracking information; if the gaze duration on the target application exceeds the second preset duration, determine whether the The target application generates the second trigger event. In another embodiment, the system service determines the number of times that the user's eye movement trajectory passes through the icon of the target application according to the eye tracking information; and when the number of times exceeds a second preset threshold, determines the occurrence of the target application. Describe the first trigger event.
  • the system service determines whether a first trigger event occurs in the target application according to the location information of the electronic device 1 . Specifically, the system service obtains the position of the electronic device 1; determines whether the position of the electronic device 1 is within the preset area; if it is determined that the position of the electronic device 1 is within the preset area, determine the electronic device 1 The target application of the first trigger event occurs. In another embodiment, the system service determines whether a first trigger event occurs in the target application according to time information. Specifically, the system service determines whether the current time is within the preset time range; and if it is determined that the current time is within the preset time range, it is determined that a first trigger event occurs in the target application.
  • the target application is an application of a preset type.
  • the preset types include game application types and video application types. It should be noted that the startup time of game applications and video applications is relatively long, so users can set these two types as preset types so that they can be preloaded. Two types of applications, thus reducing the wait time during application startup.
  • the system service performs timing after determining that the first trigger event occurs in the target application, and determines whether the second trigger event occurs in the target application according to the timing time. Specifically, when the system service determines that a first trigger event occurs in the target application, the system service performs timing to obtain a timing time; the system service determines whether the timing time is greater than a second preset time threshold; if the system service determines whether the timing time is greater than a second preset time threshold When the timing time is greater than the second preset time threshold, it is determined that the second trigger event occurs in the target application.
  • the system service analyzes the behavior condition of the user using the target application through a machine learning algorithm, and if it is determined that the target application satisfies the behavior condition, it is determined that a first trigger event occurs in the target application.
  • the system service obtains first historical data of the user using the target application, wherein the first historical data includes at least one of time information, frequency information and location information of the target application; the system service Use machine learning methods to analyze the first historical data and determine the user's behavioral conditions for the target application; the system service determines whether the target application meets the behavioral conditions; if it is determined that the target application meets the behavioral conditions, determine the The target application generates the first trigger event.
  • the system service uses a machine learning method to analyze the time information of using the target application to determine the time period during which the user uses the target application, and uses the time period during which the user uses the target application as the behavior condition, and the system service When it is judged that the current time is within the time period for using the target application, it is determined that the target application satisfies the behavior condition and a first trigger event occurs in the target application.
  • the system service uses a machine learning method to analyze the frequency of use of the target application to determine the frequency of the user using the target application, and uses the frequency of the user's use of the target application as the behavior condition, and the system service determines the frequency of using the target application.
  • the frequency of using the target application exceeds a preset frequency threshold, it is determined that the target application satisfies the behavior condition and a first trigger event occurs in the target application.
  • the system service analyzes the location information of the target application using a machine learning method to determine the location where the user uses the target application, and uses the location where the user uses the target application as the behavior condition, and the system service determines When the location where the target application is used is within a preset location range, it is determined that the target application satisfies the behavior condition and a first trigger event occurs in the target application.
  • the system service may use a combination of the time period when the user uses the target application, the frequency of the user using the target application, and the location where the user uses the target application as the behavior condition, and determine when the user uses the target application.
  • the target application satisfies the behavior condition, it is determined that a first trigger event occurs in the target application.
  • determining whether the target application satisfies the behavior condition reference may be made to the above content description, which will not be described in detail here.
  • the system service determines that the second trigger event occurs in the target application when receiving the preset broadcast message.
  • the preset broadcast message indicates to start the specified target application.
  • the system service when the system service receives the first preset instruction sent by the service component, it is determined that the second trigger event occurs in the target application.
  • the first preset instruction instructs to start the specified target application.
  • the system service when the system service receives the first preset instruction sent by the service component, it is determined that the second trigger event occurs in the target application.
  • the first preset instruction instructs to start the specified target application.
  • the system service when the system service receives the second preset instruction sent by the activity component, it is determined that the second trigger event occurs in the target application.
  • the second preset instruction instructs to start the specified target application.
  • the system service when the system service receives the third preset instruction sent by the provider component, it is determined that the second trigger event occurs in the target application.
  • the third preset instruction instructs to start the specified target application.
  • the generating, by the system service, a preloading instruction to preload the target application in response to the first trigger event includes: when the system service detects that the first trigger event occurs in a plurality of the target applications , obtain the second historical data of a plurality of the target applications; according to the second historical data of the plurality of target applications, determine the high-frequency usage period or frequency of the plurality of target applications; according to each of the target applications According to the high frequency usage period or frequency of use, the multiple target applications are sorted; the multiple application programs are preloaded in sequence according to the sorting. In this way, when the first triggering event occurs in multiple target applications, the system service can pre-load target applications with high levels according to priority levels, which is convenient for users to use.
  • FIG. 8 it is a schematic structural diagram of an electronic device 1 provided in an embodiment of the present application.
  • the electronic device 1 includes, but is not limited to: an eye tracking device 11 , a voice recognition unit 12 , a display screen 13 , a processor 14 and a memory 15 .
  • the various devices described above may be connected by one or more communication buses 16 .
  • the eye tracking device 11 is an infrared sensor or a camera.
  • the speech recognition unit 12 is a speech recognition area.
  • the display screen 13 is a liquid crystal display screen with touch function.
  • the memory 15 is used to store one or more computer programs 17 .
  • One or more computer programs 17 are configured to be executed by the processor 14 .
  • the one or more computer programs 17 include a plurality of instructions, and when the plurality of instructions are executed by the processor 14, the method for accelerating application startup executed on the electronic device 1 in the above-mentioned embodiment can be implemented, so as to realize the electronic device 1.
  • This embodiment also provides a computer storage medium, where computer instructions are stored in the computer storage medium, and when the computer instructions are executed on the electronic device, the electronic device executes the above-mentioned relevant method steps to realize the unlocking control method in the above-mentioned embodiment.
  • This embodiment also provides a computer program product, when the computer program product runs on the computer, the computer executes the above-mentioned relevant steps, so as to realize the unlocking control method in the above-mentioned embodiment.
  • the embodiments of the present application also provide an apparatus, which may specifically be a chip, a component or a module, and the apparatus may include a connected processor and a memory; wherein, the memory is used for storing computer execution instructions, and when the apparatus is running, The processor can execute the computer-executed instructions stored in the memory, so that the chip executes the unlocking control methods in the foregoing method embodiments.
  • the electronic device, computer storage medium, computer program product or chip provided in this embodiment are all used to execute the corresponding method provided above. Therefore, for the beneficial effects that can be achieved, reference can be made to the corresponding provided above. The beneficial effects in the method will not be repeated here.
  • the disclosed apparatus and method may be implemented in other manners.
  • the device embodiments described above are only illustrative.
  • the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined. Or it may be integrated into another device, or some features may be omitted, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components shown as units may be one physical unit or multiple physical units, that is, may be located in one place, or may be distributed to multiple different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as an independent product, may be stored in a readable storage medium.
  • a readable storage medium including several instructions to make a device (may be a single chip microcomputer, a chip, etc.) or a processor (processor) to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program codes .

Landscapes

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

Abstract

本申请涉及一种加速应用启动的方法、电子设备及计算机存储介质。所述方法包括:系统服务侦测目标应用的第一触发事件,响应所述第一触发事件孵化所述目标应用的应用程序,并将通信地址传入到所述应用程序;所述应用程序进行预加载,并根据所述通信地址等待接收消息;所述系统服务侦测所述目标应用的第二触发事件;响应于所述目标应用的第二触发事件,所述系统服务生成启动指令,并发送所述启动指令给所述应用程序;所述应用程序通过所述通信地址接收所述启动指令,并响应所述启动指令启动所述目标应用。本申请能够使得所述目标应用的应用程序在预加载过程不需要占用过多的CPU资源、输入输出资源及内存空间,提高应用的启动速度。

Description

加速应用启动的方法、电子设备及计算机存储介质
本申请要求于2020年8月31日提交中国专利局、申请号为202010901120.4、发明名称为“加速应用启动的方法、电子设备及计算机存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及移动终端技术领域,尤其涉及一种加速应用启动的方法、电子设备及计算机存储介质。
背景技术
随着智能手机等移动终端的大量普及应用,智能手机能够支持的应用越来越多,功能越来越强大,智能手机向着多样化、个性化的方向发展,成为用户生活中不可缺少的电子用品。然而,智能手机的应用启动的速度已成为影响消费者体验以及媒体评价的重要因素。目前现有技术在使用应用时,将应用提前启动,并放置在后台。也就是说,在智能手机开机后,把应用启动,并设置成后台运行,用户触摸应用后只需要将后台程序设置成前台应用即可。然而,上述方案在启动应用时执行了应用程序,应用程序在后台会接收到所有的消息,从而导致应用程序处理数据不可控制,进而使得应用程序在加载数据时内存占用过大。
发明内容
鉴于以上内容,有必要提供一种加速应用启动的方法、电子设备及计算机存储介质以实现对应用程序的预加载行为可控及避免应用程序在加载数据时内存占用过大的问题。
第一方面,本申请提供一种加速应用启动的方法,具体包括:
系统服务侦测目标应用的第一触发事件;
所述系统服务响应所述第一触发事件孵化所述目标应用的应用程序,并将通信地址传入到所述应用程序;
所述应用程序进行预加载;
所述应用程序根据所述通信地址等待接收消息;
所述系统服务侦测所述目标应用的第二触发事件;
响应于所述目标应用的第二触发事件,所述系统服务生成启动指令,并发送所述启动指令给所述应用程序;
所述应用程序通过所述通信地址接收所述启动指令;
所述应用程序响应所述启动指令启动所述目标应用。
本申请实施例中的应用程序通过通信地址监听到所述系统服务发送的启动指令时响应所述启动指令启动所述目标应用,从而在应用程序启动目标应用时,实现套接字阻塞,使得所述目标应用的应用程序在接收到启动指令前的预加载过程不需要占用过多的CPU资源、输入 输出资源及内存空间,保障了目标应用的预加载进行的行为可控及提高应用的启动速度。
在一可能的设计中,所述方法还包括:所述应用程序根据所述通信地址等待接收消息包括:
所述应用程序根据所述通信地址创建服务器端或客户端;
所述服务器端或所述客户端根据所述通信地址等待接收消息。
通过上述技术方案,应用程序可以通过服务器端或客户端接收根据通信地址等待接收消息。
在一可能的设计中,所述通信地址为套接字地址,所述服务器为套接字服务器,所述客户端为套接字服务器。
通过上述技术方案,所述系统服务与所述应用程序实现套接字通信机制。
在一可能的设计中,所述方法还包括:
所述应用程序在所述服务器或客户端接收到所述启动指令前,暂停执行所述目标应用的应用代码,并等待接收所述启动指令;
所述应用程序未创建子线程业务;及
所述应用程序未初始化binder通信。
通过上述技术方案,使得所述目标应用的应用程序在接收到启动指令前的预加载过程进一步减少CPU资源、输入输出资源的占用率,保障了目标应用的预加载进行的行为可控及提高应用的启动速度。
在一可能的设计中,所述系统服务发送所述启动指令给所述应用程序具体包括:所述系统服务通过套接字消息发送所述启动指令给所述应用程序。
通过上述技术方案,使得应用程序能够接收系统服务器发送的指令。
在一可能的设计中,所述应用程序通过所述服务器或客户端接收所述启动指令具体包括:
所述应用程序中的服务器或客户端通过accept()函数及所述通信地址监听并接收所述系统服务发送的启动指令。
通过上述技术方案,实现应用服务进程与系统服务之间的套接字通信机制。
在一可能的设计中,所述应用程序响应所述启动指令启动所述目标应用具体包括:
所述应用程序通过oncreat()函数调用并执行所述目标应用的应用代码。
通过上述技术方案,可以快速执行目标应用的应用代码。
在一可能的设计中,所述系统服务侦测目标应用的第一触发事件包括:所述系统服务侦测到对所述目标应用的触摸操作时,确定所述目标应用发生所述第一触发事件。
通过上述技术方案,侦测到用户对目标应用进行触摸操作时即可触发第一触发事件以预加载所述目标应用,方便用户操作并提高目标应用的启动速度。
在一可能的设计中,所述系统服务侦测目标应用的第一触发事件具体包括:
响应于所述触摸操作,所述系统服务确定所述触摸操作对应的触摸位置;
根据所述触摸位置确定所述目标应用是否被触摸;
当所述目标应用被触摸时确定所述目标应用发生所述第一触发事件。
通过上述技术方案,用户只需在电子设备的显示屏幕上对目标应用的对应位置进行触摸操作即可触发第一触发事件以预加载所述目标应用,方便用户操作并提高目标应用的启动速度。
在一可能的设计中,所述系统服务侦测目标应用的第二触发事件包括:
所述系统服务侦测到所述目标应用的第一触发事件后又释放所述触发操作时,确定所述目标应用发生第二触发事件。
通过上述技术方案,用户只需对目标应用进行触发操作后再释放所述触发操作,即可使得目标应用触发第二触发事件以启动目标应用,从而便于用户操作。
在一可能的设计中,所述系统服务侦测所述目标应用的第二触发事件具体包括:
所述系统服务确定所述目标应用被触摸时进行计时得到计时时间;
判断所述目标应用的触摸操作在第一预设时间范围内是否结束;
若所述目标应用的触摸操作在第一预设时间范围内结束,确定所述目标应用发生第二触发事件。
通过上述技术方案,用户只需对目标应用进行触摸操作后在第一预设时间范围内停止触摸操作即可触发第二触发事件以启动所述目标应用,从而便于用户操作。
在一可能的设计中,所述方法还包括:
所述目标应用的触摸操作在第一预设时间范围内未结束,所述系统服务判断所述目标应用在第二预设时间范围内是否结束;
若所述触摸操作在第二预设时间范围内结束,所述系统服务休眠预设时间段;及
若触摸操作在第二预设时间范围内未结束,所述系统服务确定所述目标应用发生第三触发事件,并响应所述第三触发事件弹出所述目标应用的快捷菜单。
通过上述技术方案,在用户对目标应用的触发操作超过第二预设时间范围时弹出目标应用的快捷菜单功能,供用户操作所述目标应用的快捷功能
在一可能的设计中,所述系统服务侦测目标应用的第一触发事件具体包括:
所述系统服务获取第一语音指令;
分析所述第一语音指令的操作对象是否是所述目标应用;
若所述第一语音指令的操作对象是所述目标应用,确定所述第一语音指令是否包括第一控制指令;
若确定所述第一语音指令包括第一控制指令,确定所述目标应用发生所述第一触发事件。
通过上述技术方案,用户只需通过语音指令即可触发第一触发事件以预加载所述目标应用,从而便于用户操作,提高目标应用的启动速度。
在一可能的设计中,所述系统服务侦测所述目标应用的第二触发事件具体包括:
所述系统服务获取第二语音指令;
分析所述第二语音指令的操作对象是否是所述目标应用;
若所述第二语音指令的操作对象是所述目标应用,确定所述第二语音指令是否包括第二控制指令;
若确定所述第二语音指令包括第二控制指令,确定所述目标应用发生所述第二触发事件。
通过上述技术方案,用户只需通过语音指令即可触发第二触发事件以启动所述目标应用,从而便于用户操作,提升用户体验。
在一可能的设计中,所述系统服务侦测目标应用的第一触发事件具体包括:
所述系统服务获取用户的眼球追踪信息;及
根据所述眼球追踪信息确定注视时长超过第一预设时长的目标应用发生所述第一触发事 件。
通过上述技术方案,用户只需通过眼球注视目标应用即可触发目标应用的第一触发事件以预加载所述目标应用,从而简化用户操作,高目标应用的启动速度。
在一可能的设计中,所述系统服务侦测所述目标应用的第二触发事件具体包括:
根据所述眼球追踪信息,判断对于所述目标应用的注视时长是否超过第二预设时长;
若对于所述目标应用的注视时长超过第二预设时长,确定所述目标应用发生所述第二触发事件。
通过上述技术方案,用户只需通过眼球注视目标应用超过第二预设时长即可触发目标应用的第二触发事件以预加载所述目标应用,从而简化用户操作,提高目标应用的启动速度。
在一可能的设计中,所述系统服务侦测目标应用的第一触发事件具体包括:
所述系统服务获取电子设备的位置;
判断所述电子设备的位置是否位于预设区域范围;
若确定所述电子设备的位置位于预设区域范围,确定所述电子设备的目标应用发生第一触发事件。
通过上述技术方案,用户携带电子设备出现在预设区域范围时即可触发目标应用的第一触发事件以预加载所述目标应用。
在一可能的设计中,所述系统服务侦测目标应用的第一触发事件具体包括:
所述系统服务判断当前时间是否位于预设时间范围内;
若确定当前时间位于预设时间范围内,确定所述目标应用发生第一触发事件。
通过上述技术方案,在当前时间位于预设时间范围时即可触发目标应用的第一触发事件以预加载所述目标应用。
在一可能的设计中,所述系统服务侦测所述目标应用的第二触发事件具体包括:
所述系统服务在确定所述目标应用发生第一触发事件时,进行计时得到计时时间;
所述系统服务判断所述计时时间是否大于第二预设时间阈值;
若所述系统服务确定所述计时时间大于所述第二预设时间阈值,确定所述目标应用发生所述第二触发事件。
通过上述技术方案,在第一触发事件发生后的计时时间达到第二预设时间阈值时触发目标应用的第二触发事件以启动所述目标应用。
在一可能的设计中,所述目标应用为预设类型的应用。通过上述技术方案,特定类型的目标应用可触发第一触发事件以预加载所述目标应用。
在一可能的设计中,所述系统服务侦测目标应用的第一触发事件具体包括:
所述系统服务获取用户使用所述目标应用的第一历史数据,其中所述第一历史数据至少包括使用目标应用的时间信息、频次信息及位置信息;
所述系统服务利用机器学习方法分析所述第一历史数据并确定用户对所述目标应用的使用习惯条件;
所述系统服务判断所述目标应用是否满足使用习惯条件;
若确定所述目标应用满足使用习惯条件,确定所述目标应用发生第一触发事件。
通过上述技术方案,目标应用在满足使用习惯条件时即可触发目标应用的第一触发事件以预加载所述目标应用。
在一可能的设计中,所述系统服务响应所述第一触发事件生成预加载指令以预加载所述目标应用具体包括:
所述系统服务检测到所述目标应用包括多个应用时,获取多个所述目标应用的第二历史数据;
根据多个所述目标应用的第二历史数据,确定所述多个目标应用的高频使用时段或使用频次;
根据每个所述目标应用的高频使用时段或使用频次,将多个所述目标应用进行排序;
按照所述排序依次预加载所述多个应用程序。
通过上述技术方案,所述系统服务在多个所述目标应用发生所述第一触发事件时可以按照优先级别预先加载级别高的目标应用程序,方便了用户的使用。
第二方面,本申请实施例提供一种电子设备,包括执行上述第一方面及其任一可能的设计的方法中所执行的步骤的装置。
第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有程序指令,当所述程序指令在电子设备上运行时,使得所述电子设备执行本申请实施例上述第一方面及其任一可能的设计中的加速应用启动的方法。
另外,第二方面至第三方面所带来的技术效果可参见上述方法部分各设计的方法相关的描述,此处不再赘述。
附图说明
图1为本申请一实施例加速应用启动的方法的流程图。
图2a为本申请一实施例中目标应用发生第一触发事件的示意图。
图2b为本申请一实施例中目标应用发生第二触发事件的示意图。
图3为本申请一实施例中系统服务侦测目标应用的第一触发事件的方法的流程图。
图4为本申请一实施例中系统服务侦测目标应用的第二触发事件的方法的流程图。
图5为本申请一实施例中触摸目标应用后生成快捷菜单的示意图。
图6为本申请另一实施例中目标应用发生第一触发事件的示意图。
图7为本申请另一实施例中系统服务侦测目标应用的第一触发事件的方法的流程图。
图8为本申请一实施例中系统服务侦测目标应用的第二触发事件的方法的流程图。
图9为本申请一实施方式中提供的电子设备的结构示意图。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请中的技术领域的技术人员通常理解的含义相同。本申请的说明书中所使用的术语只是为了描述具体的实施例的目 的,不是旨在于限制本申请。应理解,本申请中除非另有说明,“/”表示或的意思。例如,A/B可以表示A或B。本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B三种情况。“至少一个”是指一个或者多个。“多个”是指两个或多于两个。例如,a、b或c中的至少一个,可以表示:a,b,c,a和b,a和c,b和c,a、b和c七种情况。
参考图1所示,为本申请一实施例中加速应用启动的方法的流程图。所述方法应用在电子设备1中,具体可包括如下步骤。
步骤S101,系统服务侦测目标应用的第一触发事件。
本实施例中,所述系统服务侦测到对所述目标应用的触摸操作时,确定所述目标应用发生所述第一触发事件。所述统服务进程侦测目标应用的第一触发事件的详细流程可参照图3、图6以及下文针对图3及图6的详细说明。
步骤S102,所述系统服务响应所述第一触发事件孵化所述目标应用的应用程序,并将所述通信地址传入到所述应用程序。
本实施例中,所述系统服务响应所述第一触发事件生成预加载指令,根据所述预加载指令生成通信地址及孵化所述目标应用的应用程序,并将所述通信地址传入到所述应用程序。
本实施例中,所述系统服务孵化所述目标应用的应用程序并将所述通信地址传入到所述应用程序后实现了孵化的应用程序与所述系统服务通过套接字进行通信的机制。
步骤S103,所述应用程序进行预加载。
本实施例中,所述应用程序加载所述目标应用的数据。具体地,所述应用程序加载所述目标应用的数据包括所述目标应用的应用代码及所述目标应用的资源。其中,所述目标应用的应用代码至少包括应用程序包代码,所述目标应用的资源至少包括声音、图像、字体、光标、菜单、对话框、工具栏、句柄、内存。
本实施例中,所述系统服务在侦测到目标应用的第一触发事件时,还判断所述系统服务是否满足预设条件,并在确定所述系统服务满足预设条件时响应所述第一触发事件进行预加载。具体地,所述系统服务检测内存的剩余使用空间是否在预设存储空间范围;检测CPU的使用率是否在第二预设范围;检测目标应用是否在预设应用列表中;在确认内存的剩余使用空间在预设存储空间范围内、CPU的使用率在第二预设范围内及目标应用在预设应用列表中时,响应所述第一触发事件进行预加载。本实施例中,所述预设目标应用为用户经常使用的应用。如此,本申请在检测出用户经常使用的应用的第一触发事件时对该应用进行预加载,提高应用启动速率。
需要说明的是,所述系统服务在检测到内存的剩余使用空间过低且不在预设存储空间范围内时通过系统内存回收机制释放其他的应用在预加载时所消耗的内存资源。如此,使得目标应用在执行预加载过程前检测到内存资源不够时通过系统内存回收机制释放其他的应用在预加载时所消耗的内存资源,保证了目标应用的预加载的执行。
步骤S104,所述应用程序根据所述通信地址等待接收消息。
本实施例中,所述应用程序根据所述通信地址等待接收消息包括:所述应用程序根据所述通信地址创建服务器端或客户端;及所述服务器端或所述客户端根据所述通信地址等待接收消息。本实施例中,所述通信地址为套接字地址,所述服务器为套接字服务 器,所述客户端为套接字服务器。本实施例中,所述应用程序根据所述通信地址利用socket.socket()函数创建服务器或客户端。
步骤S105,所述系统服务侦测所述目标应用是否发生第二触发事件,其中,若所述目标应用发生第二触发事件时执行步骤S106,否则,若所述目标应用没有发生第二触发事件时重复执行步骤S105。
本实施例中,所述系统服务侦测到所述目标应用的第一触发事件后又释放所述触发操作时,确定所述目标应用发生第二触发事件。所述统服务进程侦测所述目标应用的第二触发事件的详细流程可参照图4、图7以及下文针对图4及图7的详细说明。
步骤S106,所述系统服务响应于所述目标应用的第二触发事件生成启动指令,并发送所述启动指令给所述应用程序。
步骤S107,所述应用程序通过所述通信地址接收所述启动指令。
本实施例中,所述系统服务通过套接字消息发送所述启动指令给所述应用程序。所述应用程序中的服务器或客户端通过accept()函数及所述通信地址监听并接收所述系统服务发送的启动指令。
步骤S108,所述应用程序响应所述启动指令启动所述目标应用。
本实施例中,所述应用程序响应所述启动指令启动所述目标应用包括:所述应用程序响应所述启动指令利用所述目标应用的数据启动所述目标应用。本实施例中,所述应用程序通过服务器或客户端监听到所述系统服务发送的启动指令时响应所述启动指令利用所述目标应用的数据启动所述目标应用,从而在应用程序启动目标应用时,实现套接字阻塞,使得所述目标应用的应用程序在接收到启动指令前的预加载过程不需要占用过多的CPU资源、输入输出资源及内存空间,保障了目标应用的预加载进行的行为可控及提高应用的启动速度。
本实施例中,所述应用程序接收到所述系统服务发送的启动指令后,通过oncreat()函数调用并执行所述目标应用的应用代码。
本实施例中,所述方法在所述应用程序通过所述服务器或客户端接收所述启动指令之前还包括:所述应用程序在所述服务器或客户端接收到所述启动指令前暂停执行所述目标应用的应用代码,并等待接收所述启动指令;所述应用程序未创建子线程业务;及所述应用程序未初始化binder通信。本实施例中,由于所述应用程序在接收到所述启动指令前暂停执行所述目标应用的应用代码,且未创建子线程业务、未初始化binder通信,使得所述目标应用的应用程序在接收到启动指令前的预加载过程不需要占用CPU资源及输入输出资源。
本实施例中,所述系统服务侦测到用户在电子设备1的显示屏幕上对目标应用的触摸操作,确定所述目标应用发生第一触发事件。具体地,参考图2a所示,为本申请一实施例中目标应用发生第一触发事件的示意图。参考图3所示,为本申请一实施例中系统服务侦测目标应用的第一触发事件的方法的流程图,具体可包括如下步骤:
步骤S301,响应于所述触摸操作,所述系统服务确定所述触摸操作对应的触摸位置;
步骤S302,所述系统服务根据所述触摸位置确定所述目标应用是否被触摸;
步骤S303,若确定所述目标应用被触摸,所述系统服务确定所述目标应用发生所述第一触发事件。
在一实施例中,所述系统服务侦测到用户对目标应用进行触摸操作后又停止所述目标应用进行触摸操作,确定所述目标应用发生第二触发事件。具体地,参考图2b所示,为本申请一实施例中目标应用发生第二触发事件的示意图。参考图4所示,为本申请一实施例中系统服务侦测目标应用的第二触发事件的方法的流程图,具体可包括如下步骤:
步骤S401,所述系统服务确定所述目标应用被触摸时进行计时得到计时时间;
步骤S402,判断所述目标应用的触摸操作在第一预设时间范围内是否结束,其中若所述目标应用的触摸操作在第一预设时间范围内结束执行步骤S403,否则若对所述目标应用的触摸操作在第一预设时间范围内未结束执行步骤S404;
步骤S403,确定所述目标应用发生第二触发事件;
步骤S404,判断所述目标应用在第二预设时间范围内是否结束,其中若触摸操作在第二预设时间范围内结束执行步骤S405,否则若触摸操作在第二预设时间范围内未结束执行步骤S406;
步骤S405,所述系统服务休眠预设时间段;
步骤S406,确定所述目标应用发生第三触发事件,并响应所述第三触发事件弹出所述目标应用的快捷菜单。
步骤S402,判断触摸操作是否结束,其中若触摸操作结束执行步骤S403,否则若触摸操作未结束执行步骤S404;
参考图5,所示为本申请一实施例中触摸目标应用后生成快捷菜单的示意图。本实施例中,当所述系统服务确定所述目标应用发生第三触发事件时,将不会启动所述目标应用,转而会弹出所述目标应用的快捷菜单供用户操作所述目标应用的相应快捷功能。如图5所示,用户长按相机应用的时间超出第二预设时间范围时,所述系统服务不会启动所述目标应用,而会弹出所述目标应用的快捷菜单。弹出的快捷菜单中至少包括自拍功能选项,用户选中自拍功能选项时执行相机应用的自拍功能。在一实施例中,所述系统服务侦测到针对所述目标应用的第一语音指令,确定所述目标应用发生第一触发事件。具体地,参考图6所示,为本申请一实施例中目标应用发生第一触发事件的示意图。参考图7所示,为本申请一实施例中系统服务侦测目标应用的第一触发事件的方法的流程图,具体可包括如下步骤:
步骤S701,所述系统服务获取第一语音指令;
步骤S702,分析所述第一语音指令的操作对象是否是所述目标应用;
步骤S703,若所述第一语音指令的操作对象是所述目标应用,确定所述第一语音指令是否包括第一控制指令;
步骤S704,若确定所述第一语音指令包括第一控制指令,确定所述目标应用发生所述第一触发事件。
在本实施例中,所述系统服务通过语音识别单元识别所述第一语音指令。所述第一语音指令包括操作对象及针对操作对象的第一控制指令。例如,所述第一语音指令可以为“加载音乐播放器”,其中“音乐播放器”为操作对象,“加载”为第一控制指令,若所述系统服务侦测到“加载音乐播放器”的第一语音指令时,确定第一语音指令中的目标应用为“音乐播放器”且确定第一语音指令中的第一控制指令为“加载”,并确定“音乐播放器”发生第一触发事件。
在一实施例中,所述系统服务侦测到针对所述目标应用的第二语音指令,确定所述目标应用发生第二触发事件。具体地,参考图8所示,为本申请一实施例中系统服务侦测目标应用的第二触发事件的方法的流程图,具体可包括如下步骤:
步骤S801,所述系统服务获取第二语音指令;
步骤S802,分析所述第二语音指令的操作对象是否是所述目标应用;
步骤S803,若所述第二语音指令的操作对象是所述目标应用,确定所述第一语音指令是否包括第二控制指令;
步骤S804,若确定所述第二语音指令包括第二控制指令,确定所述目标应用发生所述第二触发事件。
在本实施例中,所述第二语音指令包括操作对象及针对操作对象的第二控制指令。例如,所述第二语音指令可以为“启动音乐播放器”,其中“音乐播放器”为操作对象,“启动”为第二控制指令,若所述系统服务侦测到“启动音乐播放器”的第二语音指令时,确定第二语音指令中的目标应用为“音乐播放器”且确定第二语音指令中的第二控制指令为“启动”,并确定“音乐播放器”发生第二触发事件。
需要说明的是,所述系统服务在侦测到针对所述目标应用的第一语音指令确定所述目标应用发生第一触发事件时,并不限于通过侦测语音指令确定所述目标应用发生第二触发事件的实施方式,还可以包括通过侦测到用户对目标应用进行触摸操作后又停止所述目标应用进行触摸操作,确定所述目标应用发生第二触发事件的实施方式。
在一实施例中,所述系统服务侦测用户的眼球追踪信息,并根据所述眼球追踪信息确定目标应用及目标应用是否发生第一触发事件。具体地,所述系统服务获取用户的眼球追踪信息,并根据所述眼球追踪信息确定注视时长超过第一预设时长的目标应用发生所述第一触发事件。本实施例中,所述系统服务可以通过眼球追踪装置获取追踪信息。所述眼球追踪装置为红外传感器或摄像头。由于用户对某个应用注视的时长越长,表明用户极有可能要启动该应用程序,所以可以根据眼球追踪信息确定用户眼睛注视时长大于预设时长的应用图标对应的应用为目标应用。在另一实施例中,所述系统服务根据所述眼球追踪信息确定用户的眼球运动轨迹;根据所述眼球运动轨迹确定用户经过电子设备1上每个应用图标的次数;及确定次数超过第一预设阈值的目标应用发生所述第一触发事件。
在一实施例中,所述系统服务还根据所述眼球追踪信息确定所述目标应用是否发生第二触发事件。具体地,所述系统服务根据所述眼球追踪信息,判断对于所述目标应用的注视时长是否超过第二预设时长;若对于所述目标应用的注视时长超过第二预设时长,确定所述目标应用发生所述第二触发事件。在另一实施例中,所述系统服务根据所述眼球追踪信息确定用户的眼球运动轨迹经过所述目标应用地图标的次数;及在次数超过第二预设阈值时,确定所述目标应用发生所述第一触发事件。
在一实施例中,所述系统服务进行根据电子设备1所处的位置信息确定所述目标应用是否发生第一触发事件。具体为,所述系统服务获取电子设备1的位置;判断所述电子设备1的位置是否位于预设区域范围;若确定所述电子设备1的位置位于预设区域范围,确定所述电子设备1的所述目标应用发生第一触发事件。在另一实施例,所述系统服务进行根据时间信息确定所述目标应用是否发生第一触发事件。具体为,所述系统服 务判断当前时间是否位于预设时间范围内;及若确定当前时间位于预设时间范围内,确定所述目标应用发生第一触发事件。本实施例中,所述目标应用为预设类型的应用。预设类型包括游戏应用类型和视频应用类型,需要说明的是,游戏类应用和视频类应用的启动时间较长,因此用户可以把这两种类型设置为预设类型,以便于可以预加载这两种类型的应用程序,从而减少应用程序启动过程中的等待时长。
在一实施例中,所述系统服务在确定出所述目标应用发生所述第一触发事件后进行计时,并根据计时时间确定所述目标应用是否发生所述第二触发事件。具体为,所述系统服务在确定所述目标应用发生第一触发事件时,进行计时得到计时时间;所述系统服务判断所述计时时间是否大于第二预设时间阈值;若所述系统服务确定所述计时时间大于所述第二预设时间阈值,确定所述目标应用发生所述第二触发事件。
在一实施例中,所述系统服务通过机器学习算法分析用户使用所述目标应用的行为条件,若判断出所述目标应用满足所述行为条件,确定所述目标应用发生第一触发事件。具体地,所述系统服务获取用户使用所述目标应用的第一历史数据,其中所述第一历史数据包括使用目标应用的时间信息、频次信息及位置信息中的至少一种;所述系统服务利用机器学习方法分析所述第一历史数据并确定用户对所述目标应用的行为条件;所述系统服务判断所述目标应用是否满足行为条件;若确定所述目标应用满足行为条件,确定所述目标应用发生第一触发事件。
例如,所述系统服务利用机器学习方法分析使用目标应用的时间信息以确定用户使用所述目标应用的时间段,并将用户使用所述目标应用的时间段作为所述行为条件,所述系统服务判断当前时间在使用所述目标应用的时间段内时,确定所述目标应用满足所述行为条件并确定所述目标应用发生第一触发事件。
又如,所述系统服务利用机器学习方法分析使用目标应用的频次信息以确定用户使用所述目标应用的频次,并将用户使用所述目标应用的频次作为所述行为条件,所述系统服务判断使用所述目标应用的频次超过预设频次阈值时,确定所述目标应用满足所述行为条件并确定所述目标应用发生第一触发事件。
又如,所述系统服务利用机器学习方法分析使用目标应用的位置信息以确定用户使用所述目标应用的位置,并将用户使用所述目标应用的位置作为所述行为条件,所述系统服务判断使用所述目标应用的位置在预设位置范围内时,确定所述目标应用满足所述行为条件并确定所述目标应用发生第一触发事件。
在其他实施例中,所述系统服务可以将用户使用所述目标应用的时间段、用户使用所述目标应用的频次及用户使用所述目标应用的位置的组合作为所述行为条件,并在确定所述目标应用满足所述行为条件时,确定所述目标应用发生第一触发事件。确定所述目标应用是否满足所述行为条件可以参考上述内容说明,这里不再详细描述。
在一实施例中,所述系统服务在接收到预设广播消息时确定所述目标应用发生所述第二触发事件。所述预设广播消息指示启动指定的目标应用。
在一实施例中,所述系统服务接收到服务组件发送的第一预设指令时确定所述目标应用发生所述第二触发事件。所述第一预设指令指示启动指定的目标应用。
在一实施例中,所述系统服务接收到service组件发送的第一预设指令时确定所述目标应用发生所述第二触发事件。所述第一预设指令指示启动指定的目标应用。
在一实施例中,所述系统服务接收到activity组件发送的第二预设指令时确定所述目标应用发生所述第二触发事件。所述第二预设指令指示启动指定的目标应用。
在一实施例中,所述系统服务接收到provider组件发送的第三预设指令时确定所述目标应用发生所述第二触发事件。所述第三预设指令指示启动指定的目标应用。
在一实施例中,所述系统服务响应所述第一触发事件生成预加载指令以预加载所述目标应用包括:所述系统服务检测到多个所述目标应用发生所述第一触发事件时,获取多个所述目标应用的第二历史数据;根据多个所述目标应用的第二历史数据,确定所述多个目标应用的高频使用时段或使用频次;根据每个所述目标应用的高频使用时段或使用频次,将多个所述目标应用进行排序;按照所述排序依次预加载所述多个应用程序。如此,所述系统服务在多个所述目标应用发生所述第一触发事件时可以按照优先级别预先加载级别高的目标应用程序,方便了用户的使用。
参考图8所示,为本申请一实施方式中提供的电子设备1的结构示意图。电子设备1包括,但不限于:眼球追踪装置11、语音识别单元12、显示屏幕13、处理器14以及存储器15。上述各器件可以通过一个或多个通信总线16连接。所述眼球追踪装置11为红外传感器或摄像头。所述语音识别单元12为语音识别区。所述显示屏幕13为具有触摸功能的液晶显示屏。所述存储器15用于存储一个或多个计算机程序17。一个或多个计算机程序17被配置为被该处理器14执行。该一个或多个计算机程序17包括多个指令,所述多个指令被所述处理器14执行时,可实现上述实施例中在电子设备1上执行的加速应用启动的方法,以实现电子设备1的加速应用启动的功能。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的解锁控制方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的解锁控制方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的解锁控制方法。
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所 显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。

Claims (24)

  1. 一种加速应用启动的方法,其特征在于,所述方法包括:
    系统服务侦测目标应用的第一触发事件;
    通信地址所述系统服务响应所述第一触发事件孵化所述目标应用的应用程序,并将通信地址传入到所述应用程序;
    所述应用程序进行预加载;
    所述应用程序根据所述通信地址等待接收消息;
    所述系统服务侦测所述目标应用的第二触发事件;
    响应于所述目标应用的第二触发事件,所述系统服务生成启动指令,并发送所述启动指令给所述应用程序;
    所述应用程序通过所述通信地址接收所述启动指令;
    所述应用程序响应所述启动指令启动所述目标应用。
  2. 如权利要求1所述的加速应用启动的方法,其特征在于,所述应用程序根据所述通信地址等待接收消息包括:
    所述应用程序根据所述通信地址创建服务器端或客户端;
    所述服务器端或所述客户端根据所述通信地址等待接收消息。
  3. 如权利要求2所述的加速应用启动的方法,其特征在于,所述通信地址为套接字地址,所述服务器为套接字服务器,所述客户端为套接字服务器。
  4. 如权利要求3所述的加速应用启动的方法,其特征在于,所述方法还包括:
    所述应用程序在所述服务器或所述客户端接收到所述启动指令前,暂停执行所述目标应用的应用代码,并等待接收所述启动指令;
    所述应用程序未创建子线程业务;及
    所述应用程序未初始化binder通信。
  5. 如权利要求3所述的加速应用启动的方法,其特征在于,所述系统服务发送所述启动指令给所述应用程序包括:所述系统服务通过套接字消息发送所述启动指令给所述应用程序。
  6. 如权利要求4所述的加速应用启动的方法,其特征在于,所述应用程序通过所述通信地址接收所述启动指令包括:
    所述应用程序中的服务器或客户端通过accept()函数及所述通信地址监听并接收所述系统服务发送的启动指令。
  7. 如权利要求4所述的加速应用启动的方法,其特征在于,所述应用程序响应所述启动指令启动所述目标应用包括:
    所述应用程序通过oncreat()函数调用并执行所述目标应用的应用代码。
  8. 如权利要求1所述的加速应用启动的方法,其特征在于,所述系统服务侦测目标应用的第一触发事件包括:
    所述系统服务侦测到对所述目标应用的触摸操作时,确定所述目标应用发生所述第一触发事件。
  9. 如权利要求1所述的加速应用启动的方法,其特征在于,所述系统服务侦测到对所述目标应用的触摸操作时确定所述目标应用发生所述第一触发事件包括:
    响应于所述触摸操作,所述系统服务确定所述触摸操作对应的触摸位置;
    根据所述触摸位置确定所述目标应用是否被触摸;
    当所述目标应用被触摸时确定所述目标应用发生所述第一触发事件。
  10. 如权利要求8所述的加速应用启动的方法,其特征在于,所述系统服务侦测目标应用的第二触发事件包括:
    所述系统服务侦测到所述目标应用的第一触发事件后又释放所述触发操作时,确定所述目标应用发生第二触发事件。
  11. 如权利要求10所述的加速应用启动的方法,其特征在于,所述系统服务侦测所述目标应用的第二触发事件包括:
    所述系统服务确定所述目标应用被触摸时进行计时得到计时时间;
    判断所述目标应用的触摸操作在第一预设时间范围内是否结束
    若所述目标应用的触摸操作在第一预设时间范围内结束,确定所述目标应用发生第二触发事件。
  12. 如权利要求11所述的加速应用启动的方法,其特征在于,所述方法还包括:
    所述目标应用的触摸操作在第一预设时间范围内未结束,所述系统服务判断所述目标应用在第二预设时间范围内是否结束;
    若所述触摸操作在第二预设时间范围内结束,所述系统服务休眠预设时间段;及
    若触摸操作在第二预设时间范围内未结束,所述系统服务确定所述目标应用发生第三触发事件,并响应所述第三触发事件弹出所述目标应用的快捷菜单。
  13. 如权利要求1所述的加速应用启动的方法,其特征在于,所述系统服务侦测目标应用的第一触发事件包括:
    所述系统服务获取第一语音指令;
    分析所述第一语音指令的操作对象是否是所述目标应用;
    若所述第一语音指令的操作对象是所述目标应用,确定所述第一语音指令是否包括第一控制指令;
    若确定所述第一语音指令包括第一控制指令,确定所述目标应用发生所述第一触发事件。
  14. 如权利要求1所述的加速应用启动的方法,其特征在于,所述系统服务侦测所述目标应用的第二触发事件包括:
    所述系统服务获取第二语音指令;
    分析所述第二语音指令的操作对象是否是所述目标应用;
    若所述第二语音指令的操作对象是所述目标应用,确定所述第二语音指令是否包括第二控制指令;
    若确定所述第二语音指令包括第二控制指令,确定所述目标应用发生所述第二触发事件。
  15. 如权利要求1所述的加速应用启动的方法,其特征在于,所述系统服务侦测目标应用的第一触发事件包括:
    所述系统服务获取用户的眼球追踪信息;及
    根据所述眼球追踪信息确定注视时长超过第一预设时长的目标应用发生所述第一触发事件。
  16. 如权利要求15所述的加速应用启动的方法,其特征在于,所述系统服务侦测所述目标应用的第二触发事件包括:
    根据所述眼球追踪信息,判断对于所述目标应用的注视时长是否超过第二预设时长;
    若对于所述目标应用的注视时长超过第二预设时长,确定所述目标应用发生所述第二触发事件。
  17. 如权利要求1所述的加速应用启动的方法,其特征在于,所述系统服务侦测目标应用的第一触发事件包括:
    所述系统服务获取电子设备的位置;
    判断所述电子设备的位置是否位于预设区域范围;
    若确定所述电子设备的位置位于预设区域范围,确定所述电子设备的所述目标应用发生第一触发事件。
  18. 如权利要求1所述的加速应用启动的方法,其特征在于,所述系统服务侦测目标应用的第一触发事件包括:
    所述系统服务判断当前时间是否位于预设时间范围内;
    若确定当前时间位于预设时间范围内,确定所述目标应用发生第一触发事件。
  19. 如权利要求17或18所述的加速应用启动的方法,其特征在于,所述系统服务侦测所述目标应用的第二触发事件包括:
    所述系统服务在确定所述目标应用发生第一触发事件时,进行计时得到计时时间;
    所述系统服务判断所述计时时间是否大于第二预设时间阈值;
    若所述系统服务确定所述计时时间大于所述第二预设时间阈值,确定所述目标应用发生所述第二触发事件。
  20. 如权利要求17至18任一所述的加速应用启动的方法,其特征在于,所述目标应用为预设类型的应用。
  21. 如权利要求1所述的加速应用启动的方法,其特征在于,所述系统服务侦测目标应用的第一触发事件包括:
    所述系统服务获取用户使用所述目标应用的第一历史数据,其中所述第一历史数据至少包括使用目标应用的时间信息、频次信息及位置信息;
    所述系统服务利用机器学习方法分析所述第一历史数据并确定用户对所述目标应用的使用习惯条件;
    所述系统服务判断所述目标应用是否满足使用习惯条件;
    若确定所述目标应用满足使用习惯条件,确定所述目标应用发生第一触发事件。
  22. 如权利要求1所述的加速应用启动的方法,其特征在于,所述系统服务响应所述第一触发事件生成预加载指令以预加载所述目标应用包括:
    所述系统服务检测到所述目标应用包括多个应用时,获取多个所述目标应用的第二历史数据;
    根据多个所述目标应用的第二历史数据,确定所述多个目标应用的高频使用时段或 使用频次;
    根据每个所述目标应用的高频使用时段或使用频次,将多个所述目标应用进行排序;
    按照所述排序依次预加载所述多个应用程序。
  23. 一种电子设备,其特征在于,所述电子设备包括存储器和处理器:
    其中,所述存储器,用于存储程序指令;
    所述处理器,用于读取并执行所述存储器中存储的所述程序指令,当所述程序指令被所述处理器执行时,使得所述电子设备执行如权利要求1至22中任一所述的加速应用启动的方法。
  24. 一种计算机存储介质,其特征在于,所述计算机存储介质存储有程序指令,当所述程序指令在电子设备上运行时,使得所述电子设备执行如权利要求1至22中任一所述的加速应用启动的方法。
PCT/CN2021/110463 2020-08-31 2021-08-04 加速应用启动的方法、电子设备及计算机存储介质 WO2022042237A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21860077.3A EP4191408A4 (en) 2020-08-31 2021-08-04 METHOD FOR ACCELERATION OF LAUNCH OF AN APPLICATION, ELECTRONIC DEVICE AND COMPUTER STORAGE MEDIUM
US18/043,194 US20230385131A1 (en) 2020-08-31 2021-08-04 Method for Accelerating Application Startup, Electronic Device, and Computer Storage Medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010901120.4A CN114116040A (zh) 2020-08-31 2020-08-31 加速应用启动的方法、电子设备及计算机存储介质
CN202010901120.4 2020-08-31

Publications (1)

Publication Number Publication Date
WO2022042237A1 true WO2022042237A1 (zh) 2022-03-03

Family

ID=80352598

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/110463 WO2022042237A1 (zh) 2020-08-31 2021-08-04 加速应用启动的方法、电子设备及计算机存储介质

Country Status (4)

Country Link
US (1) US20230385131A1 (zh)
EP (1) EP4191408A4 (zh)
CN (1) CN114116040A (zh)
WO (1) WO2022042237A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114721747A (zh) * 2022-06-09 2022-07-08 北京搜狐新动力信息技术有限公司 一种应用程序启动方法及装置、存储介质及电子设备
CN115037699A (zh) * 2022-04-22 2022-09-09 湖北聚易起信息科技有限公司 一种应用程序加速方法、装置、存储介质和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102637134A (zh) * 2012-04-26 2012-08-15 网经科技(苏州)有限公司 嵌入式非对称多处理架构下的软件加载与存储的方法
CN103514007A (zh) * 2012-08-31 2014-01-15 Tcl集团股份有限公司 一种基于Android系统的移动终端的热启动的方法
CN104102506A (zh) * 2014-04-25 2014-10-15 华南理工大学 一种基于ARM平台的Android启动加速方法
CN105335171A (zh) * 2014-06-24 2016-02-17 北京奇虎科技有限公司 应用程序常驻操作系统后台的方法及装置
CN111381902A (zh) * 2020-03-10 2020-07-07 中南大学 基于带属性异构网络嵌入的app启动加速方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014058233A1 (ko) * 2012-10-11 2014-04-17 연세대학교 산학협력단 데이터 프리로드를 통한 사용자 디바이스의 gui 반응 속도 증대 방법 및 그 사용자 디바이스
CN107783801B (zh) * 2017-11-06 2021-03-12 Oppo广东移动通信有限公司 应用程序预测模型建立、预加载方法、装置、介质及终端
CN108595228B (zh) * 2018-05-10 2021-03-12 Oppo广东移动通信有限公司 应用程序预测模型建立方法、装置、存储介质及移动终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102637134A (zh) * 2012-04-26 2012-08-15 网经科技(苏州)有限公司 嵌入式非对称多处理架构下的软件加载与存储的方法
CN103514007A (zh) * 2012-08-31 2014-01-15 Tcl集团股份有限公司 一种基于Android系统的移动终端的热启动的方法
CN104102506A (zh) * 2014-04-25 2014-10-15 华南理工大学 一种基于ARM平台的Android启动加速方法
CN105335171A (zh) * 2014-06-24 2016-02-17 北京奇虎科技有限公司 应用程序常驻操作系统后台的方法及装置
CN111381902A (zh) * 2020-03-10 2020-07-07 中南大学 基于带属性异构网络嵌入的app启动加速方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4191408A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037699A (zh) * 2022-04-22 2022-09-09 湖北聚易起信息科技有限公司 一种应用程序加速方法、装置、存储介质和电子设备
CN114721747A (zh) * 2022-06-09 2022-07-08 北京搜狐新动力信息技术有限公司 一种应用程序启动方法及装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN114116040A (zh) 2022-03-01
EP4191408A4 (en) 2024-01-10
US20230385131A1 (en) 2023-11-30
EP4191408A1 (en) 2023-06-07

Similar Documents

Publication Publication Date Title
US10437631B2 (en) Operating system hot-switching method and apparatus and mobile terminal
CN108763012B (zh) 卡顿信息获取方法、装置及终端
US11768694B2 (en) Content sharing method, device, terminal and storage medium
WO2022042237A1 (zh) 加速应用启动的方法、电子设备及计算机存储介质
US10140014B2 (en) Method and terminal for activating application based on handwriting input
WO2018082570A1 (zh) I/o请求的调度方法及装置
US20140019873A1 (en) Wireless Communication Device Having Deterministic Control of Foreground Access of the User Interface
WO2020088167A1 (zh) 应用开启方法、装置、终端及存储介质
EP3779643A1 (en) Method for operating electronic device and electronic device
WO2019041978A1 (zh) 一种多屏终端及其应用显示控制方法、装置
US20160048412A1 (en) Method and apparatus for switching applications
WO2018036505A1 (zh) 一种终端后台应用程序的管理方法及装置
CN108132735B (zh) 终端与应用控制方法
CN110300328B (zh) 一种视频播放控制方法、装置及可读存储介质
EP3572935A1 (en) Method for preloading application, storage medium, and terminal
CN105573778B (zh) 一种应用程序启动方法及终端
WO2015039000A1 (en) Wireless communication device having deterministic control of foreground access of the user interface
US10719351B2 (en) Method for controlling states of processes and related device
US20150113544A1 (en) Method for controlling process of application and computer system
CN115576645B (zh) 一种虚拟处理器调度方法、装置、存储介质及电子设备
US20170300225A1 (en) Displaying application page of mobile terminal
WO2017202077A1 (zh) 移动终端的控制方法、装置以及移动终端
US20200201518A1 (en) Method for starting application and electronic device for implementing same
EP3611615A1 (en) Method and device for accelerated startup of application, and terminal
CN112114965A (zh) 应用程序的运行方法、装置、终端及存储介质

Legal Events

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

Ref document number: 21860077

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18043194

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2021860077

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2021860077

Country of ref document: EP

Effective date: 20230302

NENP Non-entry into the national phase

Ref country code: DE