WO2015081713A1 - Method and apparatus for running applications in background - Google Patents

Method and apparatus for running applications in background Download PDF

Info

Publication number
WO2015081713A1
WO2015081713A1 PCT/CN2014/083362 CN2014083362W WO2015081713A1 WO 2015081713 A1 WO2015081713 A1 WO 2015081713A1 CN 2014083362 W CN2014083362 W CN 2014083362W WO 2015081713 A1 WO2015081713 A1 WO 2015081713A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
instruction
background
running
cleanup event
Prior art date
Application number
PCT/CN2014/083362
Other languages
French (fr)
Inventor
Yongxin Wang
Liwei YE
Bin Li
Original Assignee
Tencent Technology (Shenzhen) Company Limited
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 Tencent Technology (Shenzhen) Company Limited filed Critical Tencent Technology (Shenzhen) Company Limited
Publication of WO2015081713A1 publication Critical patent/WO2015081713A1/en

Links

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/542Intercept

Definitions

  • Various example embodiments of the present disclosure relate to Internet technology, and more particularly, to a method and apparatus for running applications in background.
  • the iOSTM is an operating system developed for mobile devices of Apple Inc. Smart terminals based on iOS include iPhone, iPod Touch, iPad, and so on. In these terminals, there are a great number of various applications that provide a variety of entertainment and services.
  • a method for running applications in background includes:
  • an apparatus for running applications in background includes:
  • an instruction intercepting module configured to:
  • a set obtaining module configured to:
  • an instruction modifying module configured to:
  • a non-transitory computer-readable storage medium encoded with a plurality of instructions is provided.
  • the instructions are executed by one or more computers, the one or more computers are caused to perform operations including:
  • the application suspending instruction sent from the system daemon process to an application running in the background is replaced with the keep-executing instruction, so that the application running in the background can continue running in the background of the operating system without restrictions of a life cycle.
  • the system daemon process initiates the application suspending instruction each time when the application is running overtime, the application can continue running in the background.
  • the application running in the background is not in a suspending state and is not cleared out from the memory.
  • the application is not re-loaded, therefore the speed of shifting applications is improved.
  • FIG. 1 is a schematic diagram illustrating an operating environment of a method for running applications in background, according to an example embodiment of the present disclosure.
  • FIG. 2 is a flowchart illustrating a method for running applications in background, according to an example embodiment of the present disclosure.
  • FIG. 3 is a schematic diagram illustrating a structure of an apparatus for running applications in background, according to an example embodiment of the present disclosure.
  • FIG. 4 is a schematic diagram illustrating a structure of an apparatus for running applications in background, according to another example embodiment of the present disclosure.
  • FIG. 5 is a schematic diagram illustrating a hardware structure of an apparatus for running applications in background, according to an example embodiment of the present disclosure.
  • FIG. 6 is a schematic diagram illustrating a hardware structure of an apparatus for running applications in background, according to another example embodiment of the present disclosure.
  • Various example embodiments of the present disclosure describe a method and apparatus for running applications in the background.
  • an application suspending instruction sent from a system daemon process to an application running in the background is replaced with a keep-executing instruction, so that the application running in the background can continue running in the background of the operating system without restrictions of a life cycle.
  • the system daemon process initiates the application suspending instruction each time when the application is running overtime, the application can continue running in the background.
  • the application running in the background is not in a suspending state and is not cleared out from the memory.
  • the application is not re-loaded, therefore the speed of shifting applications is improved.
  • FIG. 1 is a schematic diagram illustrating a computer system 1000, according to an example embodiment of the present disclosure.
  • the computer system 1000 is an example of a computer environment capable of implementing various embodiments of the present discourse and is not meant as limitations.
  • the computer system 1000 may, for example, be a desktop, a laptop, a personal digital assistant, a smart phone, a tablet computer, a portable media player, a set-top box, or other similar devices capable of implementing various embodiments of the present disclosure.
  • the computer system 1000 includes a processor 1010, a storage 1020, and a system bus 1022.
  • Various system components including the processor 1010 and the storage 1020 are connected to the system bus 1022.
  • the processor 1010 is a hardware module that executes machine-readable instructions through basic arithmetic and logic calculations in the computer system.
  • the storage 1020 is a physical device used for transitorily or non-transitorily storing the machine-readable instructions or data (e.g., program state information).
  • the system bus 1022 may be any one of a storage bus or a storage controller, a peripheral bus, and a local bus.
  • the processor 1010 and the storage 1020 communicate with each other via the system bus 1022.
  • the storage 1020 may include read only memory (ROM) or flash memory (not shown in the figure), and a random access memory (RAM). RAM generally means a main storage where the operating system and applications are loaded.
  • the computer system 1000 also includes a display interface 1030 (e.g., a graphics processing unit), a display device 1040 (e.g., a liquid crystal display), an audio interface 1050 (e.g., a sound card), and an audio device 1060 (e.g., a speaker).
  • a display interface 1030 e.g., a graphics processing unit
  • a display device 1040 e.g., a liquid crystal display
  • an audio interface 1050 e.g., a sound card
  • an audio device 1060 e.g., a speaker
  • the display device 1040 and the audio device 1060 are media devices used for experiencing multimedia contents.
  • the computer system 1000 may include a storage device 1070.
  • the storage device 1070 may be selected from a variety of computer-readable media, in which the computer-readable media refer to any available media that can be accessed by the computer system 1000, including mobile media and fixed media.
  • the computer-readable media may include but be not limited to flash memory (e.g., a micro SD card), CD-ROM, digital versatile disks (DVD), or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can store desired information and can be accessed by the computer system 1000.
  • the computer system 1000 may also include an input apparatus 1080 and an input interface 1090 (e.g., an I/O controller).
  • a user may input instructions and information into the computer system 1000 through the input apparatus 1080, such as a keyboard, a mouse, or a touch panel device on the display device 1040.
  • the input apparatus 1080 is connected to the system bus 1022 either through the input interface 1090 or through other interfaces or bus structures, such as a universal serial bus (USB).
  • USB universal serial bus
  • the computer system 1000 may be logically connected with one or more network devices in a network environment.
  • the network device may be a personal computer, a server, a router, a smart phone, a tablet computer or other common network nodes.
  • the computer system 1000 is connected to the network device via a local area network (LAN) interface 1100 or a mobile communication unit 1110.
  • the mobile communication unit 1110 can make and receive calls via radio links in a mobile manner within a broad geographic area.
  • the mobile communication unit 1110 also supports Internet access in 2G, 3G, or 4G cellular communication systems providing mobile data services.
  • the computer system 1000 may include a Bluetooth unit capable of exchanging data within a short distance, an image sensor used for taking photos, and an accelerometer used for measuring acceleration.
  • the computer system 1000 can perform operations of the method for running applications in the background described in various example embodiments of the present disclosure.
  • the computer system 1000 performs the operations through running, by the processor 1010, machine-readable instructions in a computer-readable medium. These machine-readable instructions may be read into the storage 1020 from the storage device 1070 or from another device through the LAN interface 1100.
  • the processor 1010 executes the machine-readable instructions stored in the storage 1020 to perform the operations of the method for running applications in the background described in various example embodiments of the present disclosure.
  • all or part of the procedures of the methods described in various example embodiments of the present disclosure may be implemented by hardware modules or hardware modules following machine-readable instructions, which is not limited in the embodiments of the present disclosure.
  • FIG. 2 is a flowchart illustrating a method for running applications in background, according to an example embodiment of the present disclosure. The method may include following operations.
  • a computing device such as the computer system 1000 described above, may intercept an application suspending instruction initiated by a system daemon process.
  • the application may be transferred by the system daemon process to the background for running, and the iOS device may be shifted to a desktop state.
  • the system daemon process may monitor a life cycle of an application running in the background. When running time of the application is expired, e.g., the running time exceeds 10 minutes, the system daemon process may initiate the application suspending instruction to the application.
  • the implementing of the method for running applications in the background is based on the iOS system.
  • dynamic library codes with preconfigured interception logic may be pre-injected in a desktop management process (e.g., SpringBoard process) that is an iOS system process.
  • the desktop management process may load the dynamic library codes during an initialization process.
  • the application suspending instruction sent from the system daemon process to the application running overtime in the background may be intercepted through the loaded dynamic library codes.
  • the computing device may obtain a preconfigured set of applications supporting running in the background.
  • the set is referred to as a background running application set.
  • the background running application set may be preconfigured by the user.
  • An application in the set may be run in the background.
  • an instruction for selecting an application supporting running in the background may be obtained and the selected application may be extracted. The selected application may be added to the background running application set.
  • multiple applications installed in the iOS system may be displayed in the form of a list.
  • the user may select a list item in the list, so as to enter the instruction for selecting an application supporting running in the background to select an application to be run in the background.
  • the selected application is added to a preconfigured background running application table (i.e., the background running application set).
  • the user may cancel the selection of the application in the list and confirm the cancelation, so as to remove the application from the background running application set.
  • the computing device may obtain an application associated with the application suspending instruction, determine whether the application belongs to the background running application set. In response to determining that the application belongs to the background running application set, operations in block S 108 are performed.
  • the computing device may replace the application suspending instruction with a keep-executing instruction, and forward the keep-executing instruction to the application, so that when the application receives the keep-executing instruction, the application may continue running in the background.
  • a character string of the application suspending instruction may be replaced with a character string of the keep-executing instruction through the aforementioned injected dynamic library codes, and the keep-executing instruction may be sent to the application.
  • the application may continue running in the background for a predefined period, e.g., 10 minutes.
  • the injected dynamic library codes may re-receive the application suspending instruction initiated by the system daemon process, and the operations in block S102 may be performed again.
  • the application suspending instruction is passed without interception.
  • the application receives the application suspending instruction, the application enters a suspending state.
  • the method may further include following operations.
  • the computing device may obtain an application cleanup event, and obtain an application associated with the application cleanup event.
  • the computing device may determine whether the application associated with the application cleanup event belongs to the background running application set.
  • the computing device may load the application associated with the application cleanup event through the system daemon process.
  • the application cleanup event thrown by the iOS system may be captured by the injected dynamic library codes.
  • the application cleanup event may be defined to mean an event that is triggered when the iOS system cleans out the application from the memory (i.e., memory areas allocated for the application is withdrawn).
  • the injected dynamic library codes monitors the application cleanup event and the application associated with the application cleanup event belongs to the background running application set, the injected dynamic library codes may re-load the application.
  • the system daemon process may send the application suspending instruction to the application.
  • the injected dynamic library codes may intercept the application suspending instruction, i.e., the operations in block S 102 may be performed.
  • the operation of obtaining the application associated with the application cleanup event may be implemented as follows.
  • Memory stack information of the application associated with the application cleanup event may be obtained and cached.
  • the method may further include following operations.
  • the memory stack information of the application associated with the application cleanup event is read from a cache, and a memory environment of the application associated with the application cleanup event is recovered according to the memory stack information.
  • the memory stack information of the application in a memory area allocated for the application is recorded when the memory area allocated for the application is withdrawn.
  • the memory stack information may be cached in another memory area or a disk.
  • the memory stack information of the application may be read from the cache and memory areas allocated for the application loaded through the system daemon process may be covered with the memory stack information.
  • the re-loaded application may have the memory environment which is the same as that of the application before the user initiatively completes the running of the application by clicking the "Exit" control" or the application is cleaned out from the memory by the system daemon process of the iOS system. Therefore, for an application in a running state, when the application is initiatively exited by the user and the application is run next time, a running environment of the application may be directly recovered and a running interface of the application when the application is exited is displayed. As such, the speed of shifting applications is improved.
  • the user plays a game on a mobile phone and then shifts to the desktop of the phone to edit a short message.
  • the iOS system daemon process cleans out the game application from the memory and triggers the application cleanup event.
  • the injected dynamic library codes reload the game application into the memory and recover a memory environment of the game application.
  • FIG. 3 is a schematic diagram illustrating a structure of an apparatus for running applications in background, according to an example embodiment of the present disclosure.
  • the apparatus may include an instruction intercepting module 102, a set obtaining module 104, and an instruction modifying module 106.
  • the instruction intercepting module 102 may intercept an application suspending instruction initiated by a system daemon process.
  • the set obtaining module 104 may obtain a preconfigured set of applications supporting running in background.
  • the set may be referred to as a background running application set.
  • the instruction modifying module 106 may obtain an application associated with the application suspending instruction and determine whether the application belongs to the background running application set. In response to determining that the application belongs to the background running application set, the instruction modifying module 106 may replace the application suspending instruction with a keep-executing instruction, and forward the keep-executing instruction to the application, so that when the application receives the keep-executing instruction, the application continues running in the background.
  • the apparatus may further include an application configuration module 108.
  • the application configuration module 108 may obtain an instruction for selecting an application supporting running in the background, extract the selected application, and add the selected application to the background running application set.
  • the apparatus may further include an application reloading module 110.
  • the application reloading module 110 may obtain an application cleanup event and obtain an application associated with the application cleanup event.
  • the application reloading module 110 may determine whether the application associated with the application cleanup event belongs to the background running application set. In response to determining that the application associated with the application cleanup event belongs to the background running application set, the application reloading module 110 may load the application associated with the application cleanup event through the system daemon process.
  • the apparatus may further include a memory recording module 112.
  • the memory recording module 112 may obtain memory stack information of the application associated with the application cleanup event, and cache the memory stack information.
  • the application reloading module 110 may further read the memory stack information of the application associated with the application cleanup event from a cache, and recover a memory environment of the application associated with the application cleanup event according to the memory stack information.
  • the above-mentioned modules may be software (e.g., machine readable instructions stored in a computer readable medium and executable by a processor), hardware (e.g., the processor of an application specific integrated circuit (ASIC)), or a combination thereof.
  • software e.g., machine readable instructions stored in a computer readable medium and executable by a processor
  • hardware e.g., the processor of an application specific integrated circuit (ASIC)
  • ASIC application specific integrated circuit
  • modules in the examples of the present disclosure may be deployed either in a centralized or a distributed configuration; and may be either merged into a single module, or further split into a plurality of sub-modules.
  • the apparatus may include ports 51, a processor 52, a storage 53, and a data processing unit 54.
  • the data processing unit 54 may transmit data information received via the ports 51 to the processor 52 for processing, and may transmit data information from the processor 52 to the ports 51 for transmitting.
  • the storage 53 may include machine-readable instruction modules to be executed by the processor 52, in which the machine-readable instruction modules may include an instruction intercepting module 102a, a set obtaining module 104a, and an instruction modifying module 106a.
  • the instruction intercepting module 102a may intercept an application suspending instruction initiated by a system daemon process.
  • the set obtaining module 104a may obtain a preconfigured set of applications supporting running in background.
  • the instruction modifying module 106a may obtain an application associated with the application suspending instruction and determine whether the application belongs to the set. In response to determining that the application belongs to the set, the instruction modifying module 106a may replace the application suspending instruction with a keep-executing instruction, and forward the keep-executing instruction to the application, so that when the application receives the keep-executing instruction, the application continues running in the background.
  • the storage 53 may further include an application configuration module 108a, an application reloading module 110a, and a memory recording module 112a.
  • the application suspending instruction sent from the system daemon process to an application running in the background is replaced with the keep-executing instruction, so that the application running in the background can continue running in the background of the operating system without restrictions of a life cycle.
  • the system daemon process initiates the application suspending instruction each time when the application is running overtime, the application can continue running in the background.
  • the application running in the background is not in a suspending state and is not cleared out from the memory.
  • the application is not re-loaded, therefore the speed of shifting applications is improved.
  • the above examples may be implemented by hardware, software or firmware, or a combination thereof.
  • the various methods, processes and functional modules described herein may be implemented by a processor (the term processor is to be interpreted broadly to include a CPU, processing unit, ASIC, logic unit, or programmable gate array, etc.).
  • the processes, methods, and functional modules disclosed herein may all be performed by a single processor or split between several processors.
  • reference in this disclosure or the claims to a 'processor' should thus be interpreted to mean One or more processors' .
  • the processes, methods and functional modules disclosed herein may be implemented as machine readable instructions executable by one or more processors, hardware logic circuitry of the one or more processors or a combination thereof.
  • the examples disclosed herein may be implemented in the form of a computer software product.
  • the computer software product may be stored in a non-transitory storage medium and may include a plurality of instructions for making a computer apparatus (which may be a personal computer, a server or a network apparatus such as a router, switch, access point, etc.) implement the method recited in the examples of the present disclosure.
  • a computer apparatus which may be a personal computer, a server or a network apparatus such as a router, switch, access point, etc.
  • the machine readable instructions may be stored in a computer readable storage medium. When running, the machine readable instructions may provide the procedures of the method examples.
  • the storage medium may be diskette, CD, ROM (Read-Only Memory) or RAM (Random Access Memory), and etc.
  • the figures are illustrations of examples, in which the modules or procedures shown in the figures may not be necessarily essential for implementing the present disclosure. Certain procedures or modules may be omitted according to the needs. The order of the procedures is not fixed, and can be adjusted according to the needs.
  • the modules in the apparatus of examples of the present disclosure may be located in the apparatus as described in the examples, or may be located in one or more apparatuses of the examples of the present disclosure when modified accordingly.
  • the modules in the aforesaid examples may be combined into one module or further divided into a plurality of sub-modules.

Landscapes

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

Abstract

A computing device intercepts an application suspending instruction initiated by a system daemon process and obtains a preconfigured set of applications supporting running in background. The computing device obtains an application associated with the application suspending instruction and determines whether the application belongs to the set. In response to determining that the application belongs to the set, the computing device replaces the application suspending instruction with a keep-executing instruction, and forwards the keep-executing instruction to the application, so that when the application receives the keep-executing instruction, the application continues running in the background.

Description

METHOD AND APPARATUS FOR RUNNING APPLICATIONS IN
BACKGROUND
PRIORITY STATEMENT
[0001] This application claims the benefit of Chinese Patent Application No. 201310643244.7, filed December 3, 2013, the disclosure of which is incorporated herein in its entirety by reference.
FIELD
[0002] Various example embodiments of the present disclosure relate to Internet technology, and more particularly, to a method and apparatus for running applications in background.
BACKGROUND
[0003] The iOS™ is an operating system developed for mobile devices of Apple Inc. Smart terminals based on iOS include iPhone, iPod Touch, iPad, and so on. In these terminals, there are a great number of various applications that provide a variety of entertainment and services.
SUMMARY
[0004] According to an example embodiment of the present disclosure, a method for running applications in background is provided. The method includes:
intercepting, by a computing device, an application suspending instruction initiated by a system daemon process; obtaining, by the computing device, a preconfigured set of applications supporting running in background;
obtaining, by the computing device, an application associated with the application suspending instruction, determining whether the application belongs to the set; and
in response to determining that the application belongs to the set, replacing, by the computing device, the application suspending instruction with a keep-executing instruction, and forwarding the keep-executing instruction to the application, so that when the application receives the keep-executing instruction, the application continues running in the background.
[0005] According to another example embodiment of the present disclosure, an apparatus for running applications in background is provided. The apparatus includes:
an instruction intercepting module, configured to
intercept an application suspending instruction initiated by a system daemon process;
a set obtaining module, configured to
obtain a preconfigured set of applications supporting running in background; and
an instruction modifying module, configured to
obtain an application associated with the application suspending instruction,
determine whether the application belongs to the set, in response to determining that the application belongs to the set, replace the application suspending instruction with a keep-executing instruction, and
forward the keep-executing instruction to the application, so that when the application receives the keep-executing instruction, the application continues running in the background.
[0006] According to still another example embodiment of the present disclosure, a non-transitory computer-readable storage medium encoded with a plurality of instructions is provided. When the instructions are executed by one or more computers, the one or more computers are caused to perform operations including:
intercepting an application suspending instruction initiated by a system daemon process;
obtaining a preconfigured set of applications supporting running in background;
obtaining an application associated with the application suspending instruction, determining whether the application belongs to the set; and
in response to determining that the application belongs to the set, replacing the application suspending instruction with a keep-executing instruction, and forwarding the keep-executing instruction to the application, so that when the application receives the keep-executing instruction, the application continues running in the background.
[0007] According to the method and apparatus for running applications in the background described above, the application suspending instruction sent from the system daemon process to an application running in the background is replaced with the keep-executing instruction, so that the application running in the background can continue running in the background of the operating system without restrictions of a life cycle. When the system daemon process initiates the application suspending instruction each time when the application is running overtime, the application can continue running in the background. As such, the application running in the background is not in a suspending state and is not cleared out from the memory. When the application is run again, the application is not re-loaded, therefore the speed of shifting applications is improved.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Features of the present disclosure are illustrated by way of example and not limited in the following figures, in which like numerals indicate like elements, in which:
[0009] FIG. 1 is a schematic diagram illustrating an operating environment of a method for running applications in background, according to an example embodiment of the present disclosure.
[0010] FIG. 2 is a flowchart illustrating a method for running applications in background, according to an example embodiment of the present disclosure.
[0011] FIG. 3 is a schematic diagram illustrating a structure of an apparatus for running applications in background, according to an example embodiment of the present disclosure.
[0012] FIG. 4 is a schematic diagram illustrating a structure of an apparatus for running applications in background, according to another example embodiment of the present disclosure.
[0013] FIG. 5 is a schematic diagram illustrating a hardware structure of an apparatus for running applications in background, according to an example embodiment of the present disclosure.
[0014] FIG. 6 is a schematic diagram illustrating a hardware structure of an apparatus for running applications in background, according to another example embodiment of the present disclosure. DETAILED DESCRIPTION
[0015] Hereinafter, the present disclosure will be described in further detail with reference to the accompanying drawings and example embodiments.
[0016] For simplicity and illustrative purposes, the present disclosure is described by referring to examples. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be readily apparent however, that the present disclosure may be practiced without limitation to these specific details. In other instances, some methods and structures have not been described in detail so as not to unnecessarily obscure the present disclosure. As used herein, the term "includes" means includes but not limited to, the term "including" means including but not limited to. The term "based on" means based at least in part on. In addition, the terms "a" and "an" are intended to denote at least one of a particular element.
[0017] In conventional iOS systems, most applications (except applications providing special services such as music playing, location services, etc.) cannot continue running in the background and are suspended by the operating system when a user clicks the "Home" button, shifts to another application, or locks the screen. These applications even are cleared out from a to-be-run queue by the operating system in the case of insufficient memory space, which results in reloading of the applications to the memory when the applications are run next time. As such, it takes long time to shift applications.
[0018] Various example embodiments of the present disclosure describe a method and apparatus for running applications in the background. According to the method and apparatus, an application suspending instruction sent from a system daemon process to an application running in the background is replaced with a keep-executing instruction, so that the application running in the background can continue running in the background of the operating system without restrictions of a life cycle. When the system daemon process initiates the application suspending instruction each time when the application is running overtime, the application can continue running in the background. As such, the application running in the background is not in a suspending state and is not cleared out from the memory. When the application is run again, the application is not re-loaded, therefore the speed of shifting applications is improved.
[0019] FIG. 1 is a schematic diagram illustrating a computer system 1000, according to an example embodiment of the present disclosure. The computer system 1000 is an example of a computer environment capable of implementing various embodiments of the present discourse and is not meant as limitations. According to various embodiments of the present disclosure, the computer system 1000 may, for example, be a desktop, a laptop, a personal digital assistant, a smart phone, a tablet computer, a portable media player, a set-top box, or other similar devices capable of implementing various embodiments of the present disclosure.
[0020] As shown in FIG. 1, the computer system 1000 includes a processor 1010, a storage 1020, and a system bus 1022. Various system components including the processor 1010 and the storage 1020 are connected to the system bus 1022. The processor 1010 is a hardware module that executes machine-readable instructions through basic arithmetic and logic calculations in the computer system. The storage 1020 is a physical device used for transitorily or non-transitorily storing the machine-readable instructions or data (e.g., program state information). The system bus 1022 may be any one of a storage bus or a storage controller, a peripheral bus, and a local bus. The processor 1010 and the storage 1020 communicate with each other via the system bus 1022. The storage 1020 may include read only memory (ROM) or flash memory (not shown in the figure), and a random access memory (RAM). RAM generally means a main storage where the operating system and applications are loaded.
[0021] The computer system 1000 also includes a display interface 1030 (e.g., a graphics processing unit), a display device 1040 (e.g., a liquid crystal display), an audio interface 1050 (e.g., a sound card), and an audio device 1060 (e.g., a speaker). The display device 1040 and the audio device 1060 are media devices used for experiencing multimedia contents.
[0022] The computer system 1000 may include a storage device 1070. The storage device 1070 may be selected from a variety of computer-readable media, in which the computer-readable media refer to any available media that can be accessed by the computer system 1000, including mobile media and fixed media. For example, the computer-readable media may include but be not limited to flash memory (e.g., a micro SD card), CD-ROM, digital versatile disks (DVD), or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can store desired information and can be accessed by the computer system 1000.
[0023] The computer system 1000 may also include an input apparatus 1080 and an input interface 1090 (e.g., an I/O controller). A user may input instructions and information into the computer system 1000 through the input apparatus 1080, such as a keyboard, a mouse, or a touch panel device on the display device 1040. The input apparatus 1080 is connected to the system bus 1022 either through the input interface 1090 or through other interfaces or bus structures, such as a universal serial bus (USB).
[0024] The computer system 1000 may be logically connected with one or more network devices in a network environment. The network device may be a personal computer, a server, a router, a smart phone, a tablet computer or other common network nodes. The computer system 1000 is connected to the network device via a local area network (LAN) interface 1100 or a mobile communication unit 1110. The mobile communication unit 1110 can make and receive calls via radio links in a mobile manner within a broad geographic area. In addition, the mobile communication unit 1110 also supports Internet access in 2G, 3G, or 4G cellular communication systems providing mobile data services.
[0025] It should be noted that other computer systems including more or less subsystems than the computer system 1000 may also be applicable to the present disclosure. For example, the computer system 1000 may include a Bluetooth unit capable of exchanging data within a short distance, an image sensor used for taking photos, and an accelerometer used for measuring acceleration.
[0026] As described above, the computer system 1000 can perform operations of the method for running applications in the background described in various example embodiments of the present disclosure. The computer system 1000 performs the operations through running, by the processor 1010, machine-readable instructions in a computer-readable medium. These machine-readable instructions may be read into the storage 1020 from the storage device 1070 or from another device through the LAN interface 1100. The processor 1010 executes the machine-readable instructions stored in the storage 1020 to perform the operations of the method for running applications in the background described in various example embodiments of the present disclosure. In addition, all or part of the procedures of the methods described in various example embodiments of the present disclosure may be implemented by hardware modules or hardware modules following machine-readable instructions, which is not limited in the embodiments of the present disclosure.
[0027] FIG. 2 is a flowchart illustrating a method for running applications in background, according to an example embodiment of the present disclosure. The method may include following operations.
[0028] At block S 102, a computing device, such as the computer system 1000 described above, may intercept an application suspending instruction initiated by a system daemon process.
[0029] For example, for a system application that does not belong to applications like music playing, location service, telephone, SMS, or email, when a user clicks the "Home" button on a device with the iOS operating system, the application may be transferred by the system daemon process to the background for running, and the iOS device may be shifted to a desktop state. In the iOS system, the system daemon process may monitor a life cycle of an application running in the background. When running time of the application is expired, e.g., the running time exceeds 10 minutes, the system daemon process may initiate the application suspending instruction to the application.
[0030] According to an example embodiment of the present disclosure, the implementing of the method for running applications in the background is based on the iOS system. In the embodiment, dynamic library codes with preconfigured interception logic may be pre-injected in a desktop management process (e.g., SpringBoard process) that is an iOS system process. The desktop management process may load the dynamic library codes during an initialization process. When the iOS system is running, the application suspending instruction sent from the system daemon process to the application running overtime in the background may be intercepted through the loaded dynamic library codes.
[0031] At block S 104, the computing device may obtain a preconfigured set of applications supporting running in the background. Hereinafter, the set is referred to as a background running application set.
[0032] According to an example embodiment of the present disclosure, the background running application set may be preconfigured by the user. An application in the set may be run in the background. In an embodiment, an instruction for selecting an application supporting running in the background may be obtained and the selected application may be extracted. The selected application may be added to the background running application set.
[0033] According to an example embodiment of the present disclosure, multiple applications installed in the iOS system may be displayed in the form of a list. The user may select a list item in the list, so as to enter the instruction for selecting an application supporting running in the background to select an application to be run in the background. When the user selects the application and confirms the selection, the selected application is added to a preconfigured background running application table (i.e., the background running application set). Accordingly, when the user determines that the application is no longer running in the background, the user may cancel the selection of the application in the list and confirm the cancelation, so as to remove the application from the background running application set.
[0034] At block S 106, the computing device may obtain an application associated with the application suspending instruction, determine whether the application belongs to the background running application set. In response to determining that the application belongs to the background running application set, operations in block S 108 are performed.
[0035] At block S108, the computing device may replace the application suspending instruction with a keep-executing instruction, and forward the keep-executing instruction to the application, so that when the application receives the keep-executing instruction, the application may continue running in the background.
[0036] According to an example embodiment of the present disclosure, when the application associated with the application suspending instruction belongs to the background running application set, a character string of the application suspending instruction may be replaced with a character string of the keep-executing instruction through the aforementioned injected dynamic library codes, and the keep-executing instruction may be sent to the application. When receiving the keep-executing instruction, the application may continue running in the background for a predefined period, e.g., 10 minutes. When the application is run overtime next time (e.g., the application is running more than 10 minutes in the background), the injected dynamic library codes may re-receive the application suspending instruction initiated by the system daemon process, and the operations in block S102 may be performed again.
[0037] According to an example embodiment of the present disclosure, when the application associated with the application suspending instruction does not belong to the background running application set, operations in block SI 10 may be performed.
[0038] At block S 110, the application suspending instruction is passed without interception. When the application receives the application suspending instruction, the application enters a suspending state.
[0039] According to an example embodiment of the present disclosure, before the operation of intercepting the application suspending instruction initiated by the system daemon process, the method may further include following operations. The computing device may obtain an application cleanup event, and obtain an application associated with the application cleanup event. The computing device may determine whether the application associated with the application cleanup event belongs to the background running application set. In response to determining that the application associated with the application cleanup event belongs to the background running application set, the computing device may load the application associated with the application cleanup event through the system daemon process.
[0040] According to an example embodiment of the present disclosure, when the user initiatively completes running of an application by clicking an "Exit" control" or when the application is cleaned out from the memory by the system daemon process of the iOS system, the application cleanup event thrown by the iOS system may be captured by the injected dynamic library codes. The application cleanup event may be defined to mean an event that is triggered when the iOS system cleans out the application from the memory (i.e., memory areas allocated for the application is withdrawn). When the injected dynamic library codes monitors the application cleanup event and the application associated with the application cleanup event belongs to the background running application set, the injected dynamic library codes may re-load the application. When necessary program files of the application are loaded, the system daemon process may send the application suspending instruction to the application. At this time, the injected dynamic library codes may intercept the application suspending instruction, i.e., the operations in block S 102 may be performed.
[0041] According to an example embodiment of the present disclosure, the operation of obtaining the application associated with the application cleanup event may be implemented as follows. Memory stack information of the application associated with the application cleanup event may be obtained and cached.
[0042] According to an example embodiment of the present disclosure, after the operation of loading the application associated with the application cleanup event through the system daemon process of the iOS system, the method may further include following operations. The memory stack information of the application associated with the application cleanup event is read from a cache, and a memory environment of the application associated with the application cleanup event is recovered according to the memory stack information.
[0043] According to an example embodiment of the present disclosure, when the user initiatively completes running of an application by clicking an "Exit" control" or when the application is cleaned out from the memory by the system daemon process of the iOS system, the memory stack information of the application in a memory area allocated for the application is recorded when the memory area allocated for the application is withdrawn. The memory stack information may be cached in another memory area or a disk. When the application associated with the application cleanup event is loaded through the system daemon process of the iOS system, the memory stack information of the application may be read from the cache and memory areas allocated for the application loaded through the system daemon process may be covered with the memory stack information. As such, the re-loaded application may have the memory environment which is the same as that of the application before the user initiatively completes the running of the application by clicking the "Exit" control" or the application is cleaned out from the memory by the system daemon process of the iOS system. Therefore, for an application in a running state, when the application is initiatively exited by the user and the application is run next time, a running environment of the application may be directly recovered and a running interface of the application when the application is exited is displayed. As such, the speed of shifting applications is improved.
[0044] For example, the user plays a game on a mobile phone and then shifts to the desktop of the phone to edit a short message. In order to avoid the remaining system memory is too small, the iOS system daemon process cleans out the game application from the memory and triggers the application cleanup event. The injected dynamic library codes reload the game application into the memory and recover a memory environment of the game application. When the user completes the editing of the short message and clicks an icon of the game application to continue to run the game application, a game interface when the game application is shifted is directly displayed, therefore the speed of shifting applications is improved.
[0045] FIG. 3 is a schematic diagram illustrating a structure of an apparatus for running applications in background, according to an example embodiment of the present disclosure. As shown in FIG. 3, the apparatus may include an instruction intercepting module 102, a set obtaining module 104, and an instruction modifying module 106.
[0046] The instruction intercepting module 102 may intercept an application suspending instruction initiated by a system daemon process.
[0047] The set obtaining module 104 may obtain a preconfigured set of applications supporting running in background. Hereinafter, the set may be referred to as a background running application set.
[0048] The instruction modifying module 106 may obtain an application associated with the application suspending instruction and determine whether the application belongs to the background running application set. In response to determining that the application belongs to the background running application set, the instruction modifying module 106 may replace the application suspending instruction with a keep-executing instruction, and forward the keep-executing instruction to the application, so that when the application receives the keep-executing instruction, the application continues running in the background.
[0049] According to an example embodiment of the present disclosure, as shown in FIG. 4, the apparatus may further include an application configuration module 108. The application configuration module 108 may obtain an instruction for selecting an application supporting running in the background, extract the selected application, and add the selected application to the background running application set.
[0050] According to an example embodiment of the present disclosure, as shown in FIG. 4, the apparatus may further include an application reloading module 110. The application reloading module 110 may obtain an application cleanup event and obtain an application associated with the application cleanup event. The application reloading module 110 may determine whether the application associated with the application cleanup event belongs to the background running application set. In response to determining that the application associated with the application cleanup event belongs to the background running application set, the application reloading module 110 may load the application associated with the application cleanup event through the system daemon process.
[0051] According to an example embodiment of the present disclosure, as shown in FIG. 4, the apparatus may further include a memory recording module 112. The memory recording module 112 may obtain memory stack information of the application associated with the application cleanup event, and cache the memory stack information.
[0052] According to an example embodiment of the present disclosure, the application reloading module 110 may further read the memory stack information of the application associated with the application cleanup event from a cache, and recover a memory environment of the application associated with the application cleanup event according to the memory stack information.
[0053] The above-mentioned modules may be software (e.g., machine readable instructions stored in a computer readable medium and executable by a processor), hardware (e.g., the processor of an application specific integrated circuit (ASIC)), or a combination thereof.
[0054] The above-mentioned modules in the examples of the present disclosure may be deployed either in a centralized or a distributed configuration; and may be either merged into a single module, or further split into a plurality of sub-modules.
[0055] Various example embodiments of the present disclosure also describe a hardware structure of the apparatus for running applications in the background. As shown in FIG. 5, the apparatus may include ports 51, a processor 52, a storage 53, and a data processing unit 54. The data processing unit 54 may transmit data information received via the ports 51 to the processor 52 for processing, and may transmit data information from the processor 52 to the ports 51 for transmitting. The storage 53 may include machine-readable instruction modules to be executed by the processor 52, in which the machine-readable instruction modules may include an instruction intercepting module 102a, a set obtaining module 104a, and an instruction modifying module 106a.
[0056] The instruction intercepting module 102a may intercept an application suspending instruction initiated by a system daemon process.
[0057] The set obtaining module 104a may obtain a preconfigured set of applications supporting running in background.
[0058] The instruction modifying module 106a may obtain an application associated with the application suspending instruction and determine whether the application belongs to the set. In response to determining that the application belongs to the set, the instruction modifying module 106a may replace the application suspending instruction with a keep-executing instruction, and forward the keep-executing instruction to the application, so that when the application receives the keep-executing instruction, the application continues running in the background. [0059] According to an example embodiment of the present disclosure, the storage 53 may further include an application configuration module 108a, an application reloading module 110a, and a memory recording module 112a. Functionalities of these modules may refer to the aforementioned method embodiments and descriptions about the application configuration module 108, the application reloading module 110, and the memory recording module 112 in the aforementioned apparatus embodiments, which are not repeated herein. Therefore, an example of the hardware structure of the apparatus for running applications in the background is shown in FIG. 6.
[0060] According to the method and apparatus for running applications in the background described above, the application suspending instruction sent from the system daemon process to an application running in the background is replaced with the keep-executing instruction, so that the application running in the background can continue running in the background of the operating system without restrictions of a life cycle. When the system daemon process initiates the application suspending instruction each time when the application is running overtime, the application can continue running in the background. As such, the application running in the background is not in a suspending state and is not cleared out from the memory. When the application is run again, the application is not re-loaded, therefore the speed of shifting applications is improved.
[0061] The above examples may be implemented by hardware, software or firmware, or a combination thereof. For example, the various methods, processes and functional modules described herein may be implemented by a processor (the term processor is to be interpreted broadly to include a CPU, processing unit, ASIC, logic unit, or programmable gate array, etc.). The processes, methods, and functional modules disclosed herein may all be performed by a single processor or split between several processors. In addition, reference in this disclosure or the claims to a 'processor' should thus be interpreted to mean One or more processors' . The processes, methods and functional modules disclosed herein may be implemented as machine readable instructions executable by one or more processors, hardware logic circuitry of the one or more processors or a combination thereof. Further the examples disclosed herein may be implemented in the form of a computer software product. The computer software product may be stored in a non-transitory storage medium and may include a plurality of instructions for making a computer apparatus (which may be a personal computer, a server or a network apparatus such as a router, switch, access point, etc.) implement the method recited in the examples of the present disclosure.
[0062] Those skilled in the art may understand that all or part of the procedures of the methods of the above examples may be implemented by hardware modules following machine readable instructions. The machine readable instructions may be stored in a computer readable storage medium. When running, the machine readable instructions may provide the procedures of the method examples. The storage medium may be diskette, CD, ROM (Read-Only Memory) or RAM (Random Access Memory), and etc.
[0063] The figures are illustrations of examples, in which the modules or procedures shown in the figures may not be necessarily essential for implementing the present disclosure. Certain procedures or modules may be omitted according to the needs. The order of the procedures is not fixed, and can be adjusted according to the needs. Those skilled in the art can understand the modules in the apparatus of examples of the present disclosure may be located in the apparatus as described in the examples, or may be located in one or more apparatuses of the examples of the present disclosure when modified accordingly. The modules in the aforesaid examples may be combined into one module or further divided into a plurality of sub-modules.
[0064] What has been described and illustrated herein is an example of the disclosure along with some of its variations. The terms, descriptions and figures used herein are set forth by way of illustration only and are not meant as limitations. Many variations are possible within the spirit and scope of the disclosure, which is intended to be defined by the following claims and their equivalents, in which all terms are meant in their broadest reasonable sense unless otherwise indicated.

Claims

CLAIMS What is claimed is:
1. A method for running applications in background, comprising: intercepting, by a computing device, an application suspending instruction initiated by a system daemon process; obtaining, by the computing device, a preconfigured set of applications supporting running in background;
obtaining, by the computing device, an application associated with the application suspending instruction, determining whether the application belongs to the set; and
in response to determining that the application belongs to the set, replacing, by the computing device, the application suspending instruction with a keep-executing instruction, and forwarding the keep-executing instruction to the application, so that when the application receives the keep-executing instruction, the application continues running in the background.
2. The method of claim 1, further comprising:
obtaining an instruction for selecting an application supporting running in the background;
extracting the selected application; and
adding the selected application to the set.
3. The method of claim 1 or 2, before the operation of intercepting the application suspending instruction initiated by the system daemon process, the method further comprising:
obtaining an application cleanup event;
obtaining an application associated with the application cleanup event;
determining whether the application associated with the application cleanup event belongs to the set; and
in response to determining that the application associated with the application cleanup event belongs to the set, loading the application associated with the application cleanup event through the system daemon process.
4. The method of claim 3, wherein the operation of obtaining the application associated with the application cleanup event comprises:
obtaining memory stack information of the application associated with the application cleanup event; and
caching the memory stack information.
5. The method of claim 4, after the operation of loading the application associated with the application cleanup event through the system daemon process, the method further comprising:
reading the memory stack information of the application associated with the application cleanup event from a cache; and recovering a memory environment of the application associated with the application cleanup event according to the memory stack information.
6. An apparatus for running applications in background, comprising: an instruction intercepting module, configured to
intercept an application suspending instruction initiated by a system daemon process;
a set obtaining module, configured to
obtain a preconfigured set of applications supporting running in background; and
instruction modifying module, configured to
obtain an application associated with the application suspending instruction,
determine whether the application belongs to the set, in response to determining that the application belongs to the set, replace the application suspending instruction with a keep-executing instruction, and
forward the keep-executing instruction to the application, so that when the application receives the keep-executing instruction, the application continues running in the background.
7. The apparatus of claim 6, further comprising an application configuration module, configured to:
obtain an instruction for selecting an application supporting running in the background;
extract the selected application; and
add the selected application to the set.
8. The apparatus of claim 6 or 7, further comprising an application reloading module, configured to:
obtain an application cleanup event;
obtain an application associated with the application cleanup event; determine whether the application associated with the application cleanup event belongs to the set; and
in response to determining that the application associated with the application cleanup event belongs to the set, load the application associated with the application cleanup event through the system daemon process.
9. The apparatus of claim 8, further comprising a memory recording module, configured to:
obtain memory stack information of the application associated with the application cleanup event; and
cache the memory stack information.
10. The apparatus of claim 9, wherein the application reloading module is further configured to:
read the memory stack information of the application associated with the application cleanup event from a cache; and
recover a memory environment of the application associated with the application cleanup event according to the memory stack information.
11. A non-transitory computer-readable storage medium encoded with a plurality of instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
intercepting an application suspending instruction initiated by a system daemon process;
obtaining a preconfigured set of applications supporting running in background;
obtaining an application associated with the application suspending instruction, determining whether the application belongs to the set; and
in response to determining that the application belongs to the set, replacing the application suspending instruction with a keep-executing instruction, and forwarding the keep-executing instruction to the application, so that when the application receives the keep-executing instruction, the application continues running in the background.
12. The non-transitory computer-readable storage medium of claim 11, further comprising instructions that cause the one or more computers to perform operations comprising:
obtaining an instruction for selecting an application supporting running in the background;
extracting the selected application; and
adding the selected application to the set.
13. The non-transitory computer-readable storage medium of claim 11 or 12, further comprising instructions that cause the one or more computers to perform operations comprising:
obtaining an application cleanup event;
obtaining an application associated with the application cleanup event;
determining whether the application associated with the application cleanup event belongs to the set; and
in response to determining that the application associated with the application cleanup event belongs to the set, loading the application associated with the application cleanup event through the system daemon process.
14. The non-transitory computer-readable storage medium of claim 13, wherein the operation of obtaining the application associated with the application cleanup event comprises:
obtaining memory stack information of the application associated with the application cleanup event; and
caching the memory stack information.
15. The non-transitory computer-readable storage medium of claim 14, further comprising instructions that cause the one or more computers to perform operations comprising:
reading the memory stack information of the application associated with the application cleanup event from a cache; and recovering a memory environment of the application associated with the application cleanup event according to the memory stack information.
PCT/CN2014/083362 2013-12-03 2014-07-31 Method and apparatus for running applications in background WO2015081713A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310643244.7 2013-12-03
CN201310643244.7A CN104679581B (en) 2013-12-03 2013-12-03 The method and device of running background program

Publications (1)

Publication Number Publication Date
WO2015081713A1 true WO2015081713A1 (en) 2015-06-11

Family

ID=53272831

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/083362 WO2015081713A1 (en) 2013-12-03 2014-07-31 Method and apparatus for running applications in background

Country Status (2)

Country Link
CN (1) CN104679581B (en)
WO (1) WO2015081713A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107635078A (en) * 2017-10-30 2018-01-26 广东欧珀移动通信有限公司 Game control method and equipment
CN110297643A (en) * 2019-06-04 2019-10-01 平安科技(深圳)有限公司 Method, apparatus, equipment and the storage medium of application program injection dynamic base
CN112462925A (en) * 2020-11-30 2021-03-09 努比亚技术有限公司 Power consumption control method and device for small window on-hook application, mobile terminal and storage medium

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105184151B (en) * 2015-09-23 2018-04-03 北京北信源软件股份有限公司 32 processes and 64 processes intersect method for implanting and device
CN106101806B (en) * 2016-07-04 2019-07-02 天脉聚源(北京)传媒科技有限公司 Method for processing video frequency and device when a kind of sharing live video
CN106126305A (en) * 2016-07-05 2016-11-16 宇龙计算机通信科技(深圳)有限公司 A kind of application freezing method, device and mobile terminal
CN108052258B (en) * 2017-12-28 2020-02-11 维沃移动通信有限公司 Terminal task processing method, task processing device and mobile terminal
CN110489215A (en) * 2019-06-29 2019-11-22 华为技术有限公司 The treating method and apparatus of scene is waited in a kind of application program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298538A (en) * 2010-04-07 2011-12-28 苹果公司 Opportunistic Multitasking
US20130067475A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Managing processes within suspend states and execution states
CN102981906A (en) * 2012-11-16 2013-03-20 广东欧珀移动通信有限公司 Application program background process management method and device
CN103092691A (en) * 2013-01-23 2013-05-08 广东欧珀移动通信有限公司 Process management method and management unit of Android system
CN103257700A (en) * 2012-02-20 2013-08-21 联想(北京)有限公司 Energy saving method and energy saving device for Android system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298538A (en) * 2010-04-07 2011-12-28 苹果公司 Opportunistic Multitasking
US20130067475A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Managing processes within suspend states and execution states
CN103257700A (en) * 2012-02-20 2013-08-21 联想(北京)有限公司 Energy saving method and energy saving device for Android system
CN102981906A (en) * 2012-11-16 2013-03-20 广东欧珀移动通信有限公司 Application program background process management method and device
CN103092691A (en) * 2013-01-23 2013-05-08 广东欧珀移动通信有限公司 Process management method and management unit of Android system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107635078A (en) * 2017-10-30 2018-01-26 广东欧珀移动通信有限公司 Game control method and equipment
CN107635078B (en) * 2017-10-30 2020-12-22 Oppo广东移动通信有限公司 Game control method and device
CN110297643A (en) * 2019-06-04 2019-10-01 平安科技(深圳)有限公司 Method, apparatus, equipment and the storage medium of application program injection dynamic base
CN110297643B (en) * 2019-06-04 2024-01-30 平安科技(深圳)有限公司 Method, device, equipment and storage medium for injecting application program into dynamic library
CN112462925A (en) * 2020-11-30 2021-03-09 努比亚技术有限公司 Power consumption control method and device for small window on-hook application, mobile terminal and storage medium
CN112462925B (en) * 2020-11-30 2024-03-19 努比亚技术有限公司 Method and device for controlling power consumption of small window on-hook application, mobile terminal and storage medium

Also Published As

Publication number Publication date
CN104679581A (en) 2015-06-03
CN104679581B (en) 2018-06-15

Similar Documents

Publication Publication Date Title
WO2015081713A1 (en) Method and apparatus for running applications in background
JP6231220B2 (en) Side menu display method, apparatus and terminal
EP3039564B1 (en) Method for sharing media data and electronic device thereof
CN108153647B (en) Log processing method and device, terminal equipment and storage medium
EP2735133B1 (en) Method and apparatus for providing data entry content to a remote environment
WO2016090902A1 (en) Hot-handover method and device for operating systems, and mobile terminal
US20140289415A1 (en) Continuous and concurrent device experience in a multi-device ecosystem
US10474507B2 (en) Terminal application process management method and apparatus
CN108702421B (en) Electronic device and method for controlling applications and components
WO2017032312A1 (en) Method and apparatus for presenting to-be-cleaned data, and electronic device
EP3413548B1 (en) Method, apparatus, and recording medium for interworking with external terminal
EP3640819A1 (en) Search method and apparatus
EP2811399B1 (en) Method and terminal for starting music application
CN110851044A (en) Method for displaying and electronic device thereof
CN104572771B (en) Processing state display method and device
US20130040601A1 (en) Usage recommendation for mobile device
AU2014293863A1 (en) Method for displaying and an electronic device thereof
US20160070425A1 (en) Method and apparatus for index processing
CN106709330B (en) Method and device for recording file execution behaviors
CN106776847B (en) Method and device for deleting media file and mobile terminal
WO2016022257A1 (en) Data backup to and restore from trusted devices in close physical proximity
JP2018032425A (en) Side menu display method, device, and terminal
US20140280115A1 (en) Methods, apparatuses, and computer program products for improved device and network searching
CN108197013B (en) Log processing method and device, terminal equipment and storage medium
US20150105019A1 (en) Wireless communication device and wireless paring method thereof

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205N DATED 26.10.2016)

122 Ep: pct application non-entry in european phase

Ref document number: 14867594

Country of ref document: EP

Kind code of ref document: A1