CN107066320B - Android process freezing and unfreezing device and method - Google Patents

Android process freezing and unfreezing device and method Download PDF

Info

Publication number
CN107066320B
CN107066320B CN201710039788.0A CN201710039788A CN107066320B CN 107066320 B CN107066320 B CN 107066320B CN 201710039788 A CN201710039788 A CN 201710039788A CN 107066320 B CN107066320 B CN 107066320B
Authority
CN
China
Prior art keywords
freezing
communication
thread
application process
connection
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201710039788.0A
Other languages
Chinese (zh)
Other versions
CN107066320A (en
Inventor
李爵宇
罗晓明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nubia Technology Co Ltd
Original Assignee
Nubia Technology Co Ltd
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 Nubia Technology Co Ltd filed Critical Nubia Technology Co Ltd
Priority to CN201710039788.0A priority Critical patent/CN107066320B/en
Publication of CN107066320A publication Critical patent/CN107066320A/en
Application granted granted Critical
Publication of CN107066320B publication Critical patent/CN107066320B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The invention discloses a device and a method for freezing and unfreezing an Android process, which relate to the technical field of mobile terminals, and comprise the following steps: the mobile terminal comprises a freezing request module, a freezing request module and a freezing module, wherein the freezing request module is used for sending a freezing request to an application process through communication by the mobile terminal, and the application process comprises a working thread and a communication thread; the freezing processing module is used for judging whether the connection of the application process and other application processes is finished or not through the communication thread, if so, freezing the working thread and keeping the activity state of the communication thread; and the unfreezing module is used for unfreezing the working thread when the communication thread receives connection requests sent by other application processes, freezing and unfreezing the processes through the communication thread, only freezing the working thread without freezing the communication thread when freezing, so that the communication thread can be unfrozen in time when needed, the efficiency of freezing and unfreezing the processes is improved, and the system risk caused by the freezing and unfreezing behaviors is greatly reduced.

Description

Android process freezing and unfreezing device and method
Technical Field
The invention relates to the technical field of mobile terminals, in particular to a device and a method for freezing and unfreezing an Android process.
Background
The Android mobile phone can run any Application (APK) developed based on the API, and the openness degree of freedom is large: an application can run in the background according to the wishes of its designer-to push advertisements, collect user states, etc., but these behaviors are not necessarily what the user wants, but rather occupy the CPU, increase power consumption, and affect the user experience. The process freezing is a better background application management mode. It recognizes a process that is not necessary for the user to run, suspends it, prohibits its running, and waits until the user really needs the process to unfreeze and resume running.
Managing the application in this manner would ideally enhance the user experience if control is good, either if the timing of freezing is not right, or if thawing is not timely, leading to application unresponsiveness or system failure.
Disclosure of Invention
The invention mainly aims to provide a device and a method for freezing and unfreezing an Android process.
In order to achieve the above object, the present invention provides an Android process freezing and thawing apparatus, including:
the mobile terminal comprises a freezing request module, a freezing request module and a freezing module, wherein the freezing request module is used for sending a freezing request to an application process through communication by the mobile terminal, and the application process comprises a working thread and a communication thread;
the freezing processing module is used for judging whether the connection of the application process and other application processes is finished or not through the communication thread, if so, freezing the working thread and keeping the activity state of the communication thread;
and the unfreezing module is used for unfreezing the working thread when the communication thread receives the connection request sent by other application processes.
Optionally, the specific process of the freeze request module is as follows:
the mobile terminal is provided with a central control center, the central control center is used for collecting the running state of the system and judging whether the application process in the system meets the preset freezing condition or not according to the running state, if so, a freezing request is sent to the application process through a communication thread.
Optionally, the specific flow of the freezing processing module is as follows:
when the application process establishes connection with some other application process, allocating a communication connection to the application process, and performing +1 operation on a counter of the communication connection, wherein the communication connection is used for the communication between the application process and some other application process;
when the application process finishes the connection with the other application process, carrying out-1 operation on the counter of the communication connection;
and after receiving the freezing request, the application process judges whether a counter of the communication connection at the moment is zero, and if so, the application process finishes the connection with other application processes.
Optionally, the specific process of the thawing module is as follows:
when the communication thread receives connection requests sent by other application processes, the connection requests are screened through a central control center, whether the connection requests meet preset connection conditions or not is judged, and if yes, the working thread is unfrozen.
Optionally, the communication thread includes: binder thread and socket thread.
In another aspect of the present invention, a method for freezing and thawing an Android process is provided, which includes:
the method comprises the steps that a mobile terminal sends a freezing request to an application process through communication, wherein the application process comprises a working thread and a communication thread;
judging whether the connection between the application process and other application processes is finished or not through the communication thread, if so, freezing the working thread and keeping the activity state of the communication thread;
and when the communication thread receives connection requests sent by other application processes, unfreezing the working thread.
Optionally, the sending, by the mobile terminal, the freeze request to the application process through communication includes:
the mobile terminal is provided with a central control center, the central control center is used for collecting the running state of the system and judging whether the application process in the system meets the preset freezing condition or not according to the running state, if so, a freezing request is sent to the application process through a communication thread.
Optionally, the determining, by the communication thread, whether the connection between the application process and the other application process is completed includes:
when the application process establishes connection with some other application process, allocating a communication connection to the application process, and performing +1 operation on a counter of the communication connection, wherein the communication connection is used for the communication between the application process and some other application process;
when the application process finishes the connection with the other application process, carrying out-1 operation on the counter of the communication connection;
and after receiving the freezing request, the application process judges whether a counter of the communication connection at the moment is zero, and if so, the application process finishes the connection with other application processes.
Optionally, when the communication thread receives a connection request sent by another application process, the unfreezing the working thread specifically includes:
when the communication thread receives connection requests sent by other application processes, the connection requests are screened through a central control center, whether the connection requests meet preset connection conditions or not is judged, and if yes, the working thread is unfrozen.
Optionally, the communication thread includes: binder thread and socket thread.
The invention provides a device and a method for freezing and unfreezing an Android process, wherein the device comprises: the mobile terminal comprises a freezing request module, a freezing request module and a freezing module, wherein the freezing request module is used for sending a freezing request to an application process through communication by the mobile terminal, and the application process comprises a working thread and a communication thread; the freezing processing module is used for judging whether the connection of the application process and other application processes is finished or not through the communication thread, if so, freezing the working thread and keeping the activity state of the communication thread; and the unfreezing module is used for unfreezing the working thread when the communication thread receives connection requests sent by other application processes, freezing and unfreezing the processes through the communication thread, only freezing the working thread without freezing the communication thread when freezing, so that the communication thread can be unfrozen in time when needed, the efficiency of freezing and unfreezing the processes is improved, and the system risk caused by the freezing and unfreezing behaviors is greatly reduced.
Drawings
Fig. 1 is a schematic diagram of a hardware structure of a mobile terminal implementing various embodiments of the present invention;
FIG. 2 is a diagram of a wireless communication system for the mobile terminal shown in FIG. 1;
fig. 3 is a block diagram illustrating an exemplary structure of an apparatus for freezing and thawing an Android process according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of a freezing process according to an embodiment of the present invention;
FIG. 5 is a schematic diagram of a thawing process according to a first embodiment of the present invention;
FIG. 6 is a schematic diagram of a freezing process according to a second embodiment of the present invention;
FIG. 7 is a schematic diagram of a thawing process according to a second embodiment of the present invention;
fig. 8 is a flowchart of a method for freezing and unfreezing an Android process according to a third embodiment of the present invention.
The implementation, functional features and advantages of the objects of the present invention will be further explained with reference to the accompanying drawings.
Detailed Description
It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
A mobile terminal implementing various embodiments of the present invention will now be described with reference to the accompanying drawings. In the following description, suffixes such as "module", "component", or "unit" used to denote elements are used only for facilitating the explanation of the present invention, and have no specific meaning in themselves. Thus, "module" and "component" may be used in a mixture.
The mobile terminal may be implemented in various forms. For example, the terminal described in the present invention may include a mobile terminal such as a mobile phone, a smart phone, a notebook computer, a digital broadcast receiver, a PDA (personal digital assistant), a PAD (tablet computer), a PMP (portable multimedia player), a navigation device, and the like, and a stationary terminal such as a digital TV, a desktop computer, and the like. In the following, it is assumed that the terminal is a mobile terminal. However, it will be understood by those skilled in the art that the configuration according to the embodiment of the present invention can be applied to a fixed type terminal in addition to elements particularly used for moving purposes.
Fig. 1 is a schematic hardware configuration of a mobile terminal implementing various embodiments of the present invention.
The mobile terminal 100 may include a wireless communication unit 110, a user input unit 130, an output unit 150, a memory 160, an interface unit 170, a controller 180, and a power supply unit 190, etc. Fig. 1 illustrates a mobile terminal having various components, but it is to be understood that not all illustrated components are required to be implemented. More or fewer components may alternatively be implemented. Elements of the mobile terminal will be described in detail below.
The wireless communication unit 110 typically includes one or more components that allow radio communication between the mobile terminal 100 and a wireless communication system or network. For example, the wireless communication unit may include at least one of a broadcast receiving module 111, a mobile communication module 112, a wireless internet module 113, a short-range communication module 114, and a location information module 115.
The broadcast receiving module 111 receives a broadcast signal and/or broadcast associated information from an external broadcast management server via a broadcast channel. The broadcast channel may include a satellite channel and/or a terrestrial channel. The broadcast management server may be a server that generates and transmits a broadcast signal and/or broadcast associated information or a server that receives a previously generated broadcast signal and/or broadcast associated information and transmits it to a terminal. The broadcast signal may include a TV broadcast signal, a radio broadcast signal, a data broadcast signal, and the like. Also, the broadcast signal may further include a broadcast signal combined with a TV or radio broadcast signal. The broadcast associated information may also be provided via a mobile communication network, and in this case, the broadcast associated information may be received by the mobile communication module 112. The broadcast signal may exist in various forms, for example, it may exist in the form of an Electronic Program Guide (EPG) of Digital Multimedia Broadcasting (DMB), an Electronic Service Guide (ESG) of digital video broadcasting-handheld (DVB-H), and the like. The broadcast receiving module 111 may receive a signal broadcast by using various types of broadcasting systems. In particular, the broadcast receiving module 111 may receive digital broadcasting by using a digital broadcasting system such as a data broadcasting system of multimedia broadcasting-terrestrial (DMB-T), digital multimedia broadcasting-satellite (DMB-S), digital video broadcasting-handheld (DVB-H), forward link media (MediaFLO @), terrestrial digital broadcasting integrated service (ISDB-T), and the like. The broadcast receiving module 111 may be constructed to be suitable for various broadcasting systems that provide broadcast signals as well as the above-mentioned digital broadcasting systems. The broadcast signal and/or broadcast associated information received via the broadcast receiving module 111 may be stored in the memory 160 (or other type of storage medium).
The mobile communication module 112 transmits and/or receives radio signals to and/or from at least one of a base station (e.g., access point, node B, etc.), an external terminal, and a server. Such radio signals may include voice call signals, video call signals, or various types of data transmitted and/or received according to text and/or multimedia messages.
The wireless internet module 113 supports wireless internet access of the mobile terminal. The module may be internally or externally coupled to the terminal. The wireless internet access technology to which the module relates may include WLAN (wireless LAN) (Wi-Fi), Wibro (wireless broadband), Wimax (worldwide interoperability for microwave access), HSDPA (high speed downlink packet access), and the like.
The short-range communication module 114 is a module for supporting short-range communication. Some examples of short-range communication technologies include bluetooth (TM), Radio Frequency Identification (RFID), infrared data association (IrDA), Ultra Wideband (UWB), zigbee (TM), and the like.
The location information module 115 is a module for checking or acquiring location information of the mobile terminal. A typical example of the location information module is a GPS (global positioning system). According to the current technology, the GPS module 115 calculates distance information and accurate time information from three or more satellites and applies triangulation to the calculated information, thereby accurately calculating three-dimensional current location information according to longitude, latitude, and altitude. Currently, a method for calculating position and time information uses three satellites and corrects an error of the calculated position and time information by using another satellite. In addition, the GPS module 115 can calculate speed information by continuously calculating current position information in real time.
The user input unit 130 may generate key input data according to a command input by a user to control various operations of the mobile terminal. The user input unit 130 allows a user to input various types of information, and may include a keyboard, dome sheet, touch pad (e.g., a touch-sensitive member that detects changes in resistance, pressure, capacitance, and the like due to being touched), scroll wheel, joystick, and the like. In particular, when the touch pad is superimposed on the display module 151 in the form of a layer, a touch screen may be formed.
The interface unit 170 serves as an interface through which at least one external device is connected to the mobile terminal 100. For example, the external device may include a wired or wireless headset port, an external power supply (or battery charger) port, a wired or wireless data port, a memory card port, a port for connecting a device having an identification module, an audio input/output (I/O) port, a video I/O port, an earphone port, and the like. The identification module may store various information for authenticating a user using the mobile terminal 100 and may include a User Identity Module (UIM), a Subscriber Identity Module (SIM), a Universal Subscriber Identity Module (USIM), and the like. In addition, a device having an identification module (hereinafter, referred to as an "identification device") may take the form of a smart card, and thus, the identification device may be connected with the mobile terminal 100 via a port or other connection means. The interface unit 170 may be used to receive input (e.g., data information, power, etc.) from an external device and transmit the received input to one or more elements within the mobile terminal 100 or may be used to transmit data between the mobile terminal and the external device.
In addition, when the mobile terminal 100 is connected with an external cradle, the interface unit 170 may serve as a path through which power is supplied from the cradle to the mobile terminal 100 or may serve as a path through which various command signals input from the cradle are transmitted to the mobile terminal. Various command signals or power input from the cradle may be used as signals for recognizing whether the mobile terminal is accurately mounted on the cradle. The output unit 150 is configured to provide output signals (e.g., audio signals, video signals, alarm signals, vibration signals, etc.) in a visual, audio, and/or tactile manner.
The output unit 150 may include an audio output module 152 and the like.
The audio output module 152 may convert audio data received by the wireless communication unit 110 or stored in the memory 160 into an audio signal and output as sound when the mobile terminal is in a call signal reception mode, a call mode, a recording mode, a voice recognition mode, a broadcast reception mode, or the like. Also, the audio output module 152 may provide audio output related to a specific function performed by the mobile terminal 100 (e.g., a call signal reception sound, a message reception sound, etc.). The audio output module 152 may include a speaker, a buzzer, and the like.
The memory 160 may store software programs and the like for processing and controlling operations performed by the controller 180, or may temporarily store data (e.g., a phonebook, messages, still images, videos, and the like) that has been or will be output. Also, the memory 160 may store data regarding various ways of vibration and audio signals output when a touch is applied to the touch screen.
The memory 160 may include at least one type of storage medium including a flash memory, a hard disk, a multimedia card, a card-type memory (e.g., SD or DX memory, etc.), a Random Access Memory (RAM), a Static Random Access Memory (SRAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, an optical disk, and the like. Also, the mobile terminal 100 may cooperate with a network storage device that performs a storage function of the memory 160 through a network connection.
The controller 180 generally controls the overall operation of the mobile terminal. For example, the controller 180 performs control and processing related to voice calls, data communications, video calls, and the like. In addition, the controller 180 may include a multimedia module 1810 for reproducing (or playing back) multimedia data, and the multimedia module 1810 may be constructed within the controller 180 or may be constructed separately from the controller 180. The controller 180 may perform a pattern recognition process to recognize a handwriting input or a picture drawing input performed on the touch screen as a character or an image.
The power supply unit 190 receives external power or internal power and provides appropriate power required to operate various elements and components under the control of the controller 180.
The various embodiments described herein may be implemented in a computer-readable medium using, for example, computer software, hardware, or any combination thereof. For a hardware implementation, the embodiments described herein may be implemented using at least one of an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP), a Digital Signal Processing Device (DSPD), a Programmable Logic Device (PLD), a Field Programmable Gate Array (FPGA), a processor, a controller, a microcontroller, a microprocessor, an electronic unit designed to perform the functions described herein, and in some cases, such embodiments may be implemented in the controller 180. For a software implementation, the implementation such as a process or a function may be implemented with a separate software module that allows performing at least one function or operation. The software codes may be implemented by software applications (or programs) written in any suitable programming language, which may be stored in the memory 160 and executed by the controller 180.
Up to this point, mobile terminals have been described in terms of their functionality. Hereinafter, a slide-type mobile terminal among various types of mobile terminals, such as a folder-type, bar-type, swing-type, slide-type mobile terminal, and the like, will be described as an example for the sake of brevity. Accordingly, the present invention can be applied to any type of mobile terminal, and is not limited to a slide type mobile terminal.
The mobile terminal 100 as shown in fig. 1 may be configured to operate with communication systems such as wired and wireless communication systems and satellite-based communication systems that transmit data via frames or packets.
A communication system in which a mobile terminal according to the present invention is operable will now be described with reference to fig. 2.
Such communication systems may use different air interfaces and/or physical layers. For example, the air interface used by the communication system includes, for example, Frequency Division Multiple Access (FDMA), Time Division Multiple Access (TDMA), Code Division Multiple Access (CDMA), and Universal Mobile Telecommunications System (UMTS) (in particular, Long Term Evolution (LTE)), global system for mobile communications (GSM), and the like. By way of non-limiting example, the following description relates to a CDMA communication system, but such teachings are equally applicable to other types of systems.
Referring to fig. 2, the CDMA wireless communication system may include a plurality of mobile terminals 100, a plurality of Base Stations (BSs) 270, Base Station Controllers (BSCs) 275, and a Mobile Switching Center (MSC) 280. The MSC280 is configured to interface with a Public Switched Telephone Network (PSTN) 290. The MSC280 is also configured to interface with a BSC275, which may be coupled to the base station 270 via a backhaul. The backhaul may be constructed according to any of several known interfaces including, for example, E1/T1, ATM, IP, PPP, frame Relay, HDSL, ADSL, or xDSL. It will be understood that a system as shown in fig. 2 may include multiple BSCs 2750.
Each BS270 may serve one or more sectors (or regions), each sector covered by a multi-directional antenna or an antenna pointing in a particular direction being radially distant from the BS 270. Alternatively, each partition may be covered by two or more antennas for diversity reception. Each BS270 may be configured to support multiple frequency allocations, with each frequency allocation having a particular frequency spectrum (e.g., 1.25MHz,5MHz, etc.).
The intersection of partitions with frequency allocations may be referred to as a CDMA channel. The BS270 may also be referred to as a Base Transceiver Subsystem (BTS) or other equivalent terminology. In such a case, the term "base station" may be used to generically refer to a single BSC275 and at least one BS 270. The base stations may also be referred to as "cells". Alternatively, each sector of a particular BS270 may be referred to as a plurality of cell sites.
As shown in fig. 2, a Broadcast Transmitter (BT)295 transmits a broadcast signal to the mobile terminal 100 operating within the system. A broadcast receiving module 111 as shown in fig. 1 is provided at the mobile terminal 100 to receive a broadcast signal transmitted by the BT 295. In fig. 2, several Global Positioning System (GPS) satellites 300 are shown. The satellite 300 assists in locating at least one of the plurality of mobile terminals 100.
In fig. 2, a plurality of satellites 300 are depicted, but it is understood that useful positioning information may be obtained with any number of satellites. The GPS module 115 as shown in fig. 1 is generally configured to cooperate with satellites 300 to obtain desired positioning information. Other techniques that can track the location of the mobile terminal may be used instead of or in addition to GPS tracking techniques. In addition, at least one GPS satellite 300 may selectively or additionally process satellite DMB transmission.
As a typical operation of the wireless communication system, the BS270 receives reverse link signals from various mobile terminals 100. The mobile terminal 100 is generally engaged in conversations, messaging, and other types of communications. Each reverse link signal received by a particular base station 270 is processed within the particular BS 270. The obtained data is forwarded to the associated BSC 275. The BSC provides call resource allocation and mobility management functions including coordination of soft handoff procedures between BSs 270. The BSCs 275 also route the received data to the MSC280, which provides additional routing services for interfacing with the PSTN 290. Similarly, the PSTN290 interfaces with the MSC280, the MSC interfaces with the BSCs 275, and the BSCs 275 accordingly control the BS270 to transmit forward link signals to the mobile terminal 100.
Based on the above mobile terminal hardware structure and communication system, the present invention provides various embodiments of the method.
Example one
As shown in fig. 3, in this embodiment, an apparatus for freezing and thawing an Android process includes:
the system comprises a freezing request module 10, a freezing request module and a freezing module, wherein the freezing request module is used for sending a freezing request to an application process by a mobile terminal through communication, and the application process comprises a working thread and a communication thread;
the freezing processing module 20 is configured to judge whether connection between the application process and another application process is completed through the communication thread, and if yes, freeze the working thread and keep an active state of the communication thread;
and the unfreezing module 30 is configured to unfreeze the working thread when the communication thread receives a connection request sent by another application process.
In the embodiment, the process is frozen and unfrozen through the communication thread, and only the working thread is frozen without freezing the communication thread when the process is frozen, so that the communication thread can be unfrozen in time when needed, the freezing and unfreezing efficiency of the process is improved, and the system risk caused by the freezing and unfreezing behaviors is greatly reduced.
In this embodiment, the communication thread is: and the mobile terminal sends a freezing request to the application process through binder communication, and the application process also communicates with other application processes and the central control center through binder communication.
In this embodiment, the binder communication is a structure similar to C/S, and in one communication, the end initiating the communication is a client; the end for processing the communication request is the server end. The server allocates a binder thread to process each communication request from the client.
In this embodiment, the specific process of the freeze request module is as follows:
the mobile terminal is provided with a central control center, the central control center is used for collecting the running state of the system and judging whether the application process in the system meets the preset freezing condition or not according to the running state, and if yes, a freezing request is sent to the application process through binder communication.
In this embodiment, the preset freezing condition may be an operation instruction sent by a user to close a certain application, or may be that a time of silence of a certain application exceeds a preset time threshold.
In this embodiment, the specific process of the freezing processing module is as follows:
when the application process is connected with some other application process, allocating a binder to be connected to the application process, and carrying out +1 operation on a counter connected with the binder, wherein the binder connection is used for carrying out binder communication between the application process and some other application process;
when the application process finishes the processing of the connection with the other application process, carrying out-1 operation on the counter connected with the binder;
and after receiving the freezing request, the application process judges whether a counter connected with the binder at the moment is zero, and if so, the application process finishes processing the connection with other application processes.
As shown in fig. 4, it is assumed that an application process receiving a freeze request is a process B, at this time, a binder communication 1 is established between the process B and the process a through a binder thread 1, and a binder communication 2 is established between the process B and a central control center (represented by "central control" in the figure) through a binder thread 2; the process B further includes N working threads, which are threads to be frozen in this embodiment.
In fig. 4, a process a is carrying out bind communication 1 with a process B, a counter connected to a count in a binder processing function of the process B is already incremented by 1, at this time, a central control center judges that it can be frozen currently according to other states of the process B, and sends a freezing request to the process B through the binder communication 2, and the count in the binder thread processing function of the process B is incremented by 1 and is marked as a frozen start state, but the count is not 0 and is not actually frozen. After the marker is finished, the binder communication 2 is ended, the count is reduced by 1, and when the binder communication 1 is finished, the count is reduced by 1, at this time, the total count is 0, and the process B is frozen.
In this embodiment, the binder thread performs binder communication with the central control center and other application processes through a binder driver.
In this embodiment, the specific process of the thawing module is as follows:
when the binder thread receives connection requests sent by other application processes, the connection requests are expressed as binder communication requests;
and screening the binder communication request through a central control center, judging whether the binder communication request meets a preset connection condition, and unfreezing the working thread if the binder communication request meets the preset connection condition so as to avoid the freezing effectiveness reduction caused by too frequent unfreezing.
In this embodiment, the screening may be performed according to a malicious connection request that has been confirmed by the central control center, for example, to obtain user privacy information, such as an album, an address, and the like.
As shown in fig. 5, process B is already frozen, which is specifically shown in that the binder thread is not frozen, other working threads are already frozen, and at some time, process a needs to communicate with process B, and it initiates a binder communication to process B.
As another embodiment, the application process does not affect the direct control of the central control center on the application program while performing the freezing and unfreezing operations on the application process through the binder process, which has the highest authority, and when a user or a system sends an operation instruction for closing an application, the central control center directly freezes the process of the application in time.
Example two
In this embodiment, different from the first embodiment, the communication thread is a socket thread, which is also called a socket thread, the mobile terminal sends a freeze request to the application process through the socket dedicated processing thread, and the application process also communicates with other application processes and the central control center through the socket thread.
In this embodiment, the socket thread essentially provides an endpoint for process communication. Before the processes communicate, the two parties must respectively create an endpoint, otherwise, the two parties have no way to establish contact and communicate with each other.
In this embodiment, the specific process of the freeze request module is as follows:
the mobile terminal is provided with a central control center, the central control center is used for collecting the running state of the system and judging whether the application process in the system meets the preset freezing condition or not according to the running state, and if yes, a freezing request is sent to the application process through socket communication.
In this embodiment, the preset freezing condition may be an operation instruction sent by a user to close a certain application, or may be that a time of silence of a certain application exceeds a preset time threshold.
In this embodiment, the specific process of the freezing processing module is as follows:
when the application process is connected with some other application process, a socket connection is distributed to the application process, and +1 operation is carried out on a counter of the socket connection, wherein the socket connection is used for socket communication between the application process and some other application process;
when the application process finishes the connection with the other application process, carrying out-1 operation on a counter connected with the socket;
and after receiving the freezing request, the application process judges whether a counter of the socket connection at the moment is zero, and if so, the application process finishes processing the connection with other application processes.
As shown in fig. 6, it is assumed that an application process receiving a freeze request is a process B, and at this time, a socket communication 1 is established between the process B and the process a through a socket thread 1, and a socket communication 2 is established between the process B and a central control center (represented by "central control" in the figure) through a socket thread 2; the process B further includes N working threads, which are threads to be frozen in this embodiment.
In fig. 6, a process a is performing bind communication 1 with a process B, a counter for counting socket connection in a socket processing function of the process B is already incremented by 1, at this time, a central control center judges that it can be frozen currently according to other states of the process B, and sends a freezing request to the process B through socket communication 2, and the socket thread processing function of the process B increments a count by 1, and is marked as a frozen start state, but the count is not 0, and is not actually frozen. And after the marking is finished, the socket communication 2 is ended, the count is subtracted by 1, when the socket communication 1 is ended, the count is subtracted by 1, at the moment, the total count is 0, and the process B is frozen.
In this embodiment, the socket thread performs socket communication with the central control center and other application processes through a socket interface.
In this embodiment, the specific process of the thawing module is as follows:
when the socket thread receives connection requests sent by other application processes, the connection requests are expressed as socket communication requests;
and screening the socket communication request through a central control center, judging whether the socket communication request meets a preset connection condition, and unfreezing the working thread if the socket communication request meets the preset connection condition so as to avoid the reduction of freezing effectiveness caused by too frequent unfreezing.
In this embodiment, the screening may be performed according to a malicious connection request that has been confirmed by the central control center, for example, to obtain user privacy information, such as an album, an address, and the like.
As shown in fig. 7, process B is already frozen, which is specifically indicated that a socket thread is not frozen, other working threads are already frozen, and at some time, process a needs to communicate with process B, and it initiates a socket communication to process B.
As another embodiment, the application process does not affect the direct control of the central control center on the application program while performing the freezing and unfreezing operations on the application process through the socket process, which has the highest authority, and when a user or a system sends an operation instruction for closing an application, the central control center directly freezes the process of the application in time.
EXAMPLE III
As shown in fig. 8, in this embodiment, a method for freezing and unfreezing an Android process includes:
s10, the mobile terminal sends a freezing request to an application process through communication, wherein the application process comprises a working thread and a communication thread;
s20, judging whether the connection between the application process and other application processes is finished through the communication thread, if so, entering step S30, freezing the working thread, keeping the activity state of the communication thread, and otherwise, entering step S21, and freezing after the connection between the application process and other application processes is finished;
and S40, when the communication thread receives the connection request sent by other application processes, unfreezing the working thread.
In the embodiment, the process is frozen and unfrozen through the communication thread, and only the working thread is frozen without freezing the communication thread when the process is frozen, so that the communication thread can be unfrozen in time when needed, the freezing and unfreezing efficiency of the process is improved, and the system risk caused by the freezing and unfreezing behaviors is greatly reduced.
In this embodiment, the binder communication is a structure similar to C/S, and in one communication, the end initiating the communication is a client; the end for processing the communication request is the server end. The server allocates a binder thread to process each communication request from the client.
In this embodiment, the specific process of the freeze request module is as follows:
the mobile terminal is provided with a central control center, the central control center is used for collecting the running state of the system and judging whether the application process in the system meets the preset freezing condition or not according to the running state, and if yes, a freezing request is sent to the application process through binder communication.
In this embodiment, the preset freezing condition may be an operation instruction sent by a user to close a certain application, or may be that a time of silence of a certain application exceeds a preset time threshold.
In this embodiment, the specific process of the freezing processing module is as follows:
when the application process is connected with some other application process, allocating a binder to be connected to the application process, and carrying out +1 operation on a counter connected with the binder, wherein the binder connection is used for carrying out binder communication between the application process and some other application process;
when the application process finishes the processing of the connection with the other application process, carrying out-1 operation on the counter connected with the binder;
and after receiving the freezing request, the application process judges whether a counter connected with the binder at the moment is zero, and if so, the application process finishes processing the connection with other application processes.
As shown in fig. 4, it is assumed that an application process receiving a freeze request is a process B, at this time, a binder communication 1 is established between the process B and the process a through a binder thread 1, and a binder communication 2 is established between the process B and a central control center (represented by "central control" in the figure) through a binder thread 2; the process B further includes N working threads, which are threads to be frozen in this embodiment.
In fig. 4, a process a is carrying out bind communication 1 with a process B, a counter connected to a count in a binder processing function of the process B is already incremented by 1, at this time, a central control center judges that it can be frozen currently according to other states of the process B, and sends a freezing request to the process B through the binder communication 2, and the count in the binder thread processing function of the process B is incremented by 1 and is marked as a frozen start state, but the count is not 0 and is not actually frozen. After the marker is finished, the binder communication 2 is ended, the count is reduced by 1, and when the binder communication 1 is finished, the count is reduced by 1, at this time, the total count is 0, and the process B is frozen.
In this embodiment, the binder thread performs binder communication with the central control center and other application processes through a binder driver.
In this embodiment, the specific process of the thawing module is as follows:
when the binder thread receives connection requests sent by other application processes, the connection requests are expressed as binder communication requests;
and screening the binder communication request through a central control center, judging whether the binder communication request meets a preset connection condition, and unfreezing the working thread if the binder communication request meets the preset connection condition so as to avoid the freezing effectiveness reduction caused by too frequent unfreezing.
In this embodiment, the screening may be performed according to a malicious connection request that has been confirmed by the central control center, for example, to obtain user privacy information, such as an album, an address, and the like.
As shown in fig. 5, process B is already frozen, which is specifically shown in that the binder thread is not frozen, other working threads are already frozen, and at some time, process a needs to communicate with process B, and it initiates a binder communication to process B.
As another embodiment, the application process does not affect the direct control of the central control center on the application program while performing the freezing and unfreezing operations on the application process through the binder process, which has the highest authority, and when a user or a system sends an operation instruction for closing an application, the central control center directly freezes the process of the application in time.
As another embodiment, the communication thread is a socket thread, which is also called a socket thread, the mobile terminal sends a freeze request to the application process through the socket dedicated processing thread, and the application process also communicates with other application processes and the central control center through the socket thread.
In this embodiment, the socket thread essentially provides an endpoint for process communication. Before the processes communicate, the two parties must respectively create an endpoint, otherwise, the two parties have no way to establish contact and communicate with each other.
In this embodiment, the specific process of the freeze request module is as follows:
the mobile terminal is provided with a central control center, the central control center is used for collecting the running state of the system and judging whether the application process in the system meets the preset freezing condition or not according to the running state, and if yes, a freezing request is sent to the application process through socket communication.
In this embodiment, the preset freezing condition may be an operation instruction sent by a user to close a certain application, or may be that a time of silence of a certain application exceeds a preset time threshold.
In this embodiment, the specific process of the freezing processing module is as follows:
when the application process is connected with some other application process, a socket connection is distributed to the application process, and +1 operation is carried out on a counter of the socket connection, wherein the socket connection is used for socket communication between the application process and some other application process;
when the application process finishes the connection with the other application process, carrying out-1 operation on a counter connected with the socket;
and after receiving the freezing request, the application process judges whether a counter of the socket connection at the moment is zero, and if so, the application process finishes processing the connection with other application processes.
As shown in fig. 6, it is assumed that an application process receiving a freeze request is a process B, and at this time, a socket communication 1 is established between the process B and the process a through a socket thread 1, and a socket communication 2 is established between the process B and a central control center (represented by "central control" in the figure) through a socket thread 2; the process B further includes N working threads, which are threads to be frozen in this embodiment.
In fig. 6, a process a is performing bind communication 1 with a process B, a counter for counting socket connection in a socket processing function of the process B is already incremented by 1, at this time, a central control center judges that it can be frozen currently according to other states of the process B, and sends a freezing request to the process B through socket communication 2, and the socket thread processing function of the process B increments a count by 1, and is marked as a frozen start state, but the count is not 0, and is not actually frozen. And after the marking is finished, the socket communication 2 is ended, the count is subtracted by 1, when the socket communication 1 is ended, the count is subtracted by 1, at the moment, the total count is 0, and the process B is frozen.
In this embodiment, the socket thread performs socket communication with the central control center and other application processes through a socket interface.
In this embodiment, the specific process of the thawing module is as follows:
when the socket thread receives connection requests sent by other application processes, the connection requests are expressed as socket communication requests;
and screening the socket communication request through a central control center, judging whether the socket communication request meets a preset connection condition, and unfreezing the working thread if the socket communication request meets the preset connection condition so as to avoid the reduction of freezing effectiveness caused by too frequent unfreezing.
In this embodiment, the screening may be performed according to a malicious connection request that has been confirmed by the central control center, for example, to obtain user privacy information, such as an album, an address, and the like.
As shown in fig. 7, process B is already frozen, which is specifically indicated that a socket thread is not frozen, other working threads are already frozen, and at some time, process a needs to communicate with process B, and it initiates a socket communication to process B.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which is stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal device (such as a mobile phone, a computer, a server, an air conditioner, or a network device) to execute the method according to the embodiments of the present invention.
The above description is only a preferred embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications of equivalent structures and equivalent processes, which are made by using the contents of the present specification and the accompanying drawings, or directly or indirectly applied to other related technical fields, are included in the scope of the present invention.

Claims (10)

1. An Android process freezes and unfreezes device, its characterized in that includes:
the mobile terminal comprises a freezing request module, a freezing request module and a freezing module, wherein the freezing request module is used for sending a freezing request to an application process by the mobile terminal through a communication thread, and the application process comprises a working thread and a communication thread;
the freezing processing module is used for judging whether the connection of the application process and other application processes is finished or not through the communication thread, if so, freezing the working thread, not freezing the communication thread, and keeping the activity state of the communication thread;
and the unfreezing module is used for unfreezing the working thread when the communication thread receives the connection request sent by other application processes.
2. The Android process freezing and thawing device of claim 1, wherein the specific process of the freezing request module is as follows:
the mobile terminal is provided with a central control center, the central control center is used for collecting the running state of the system and judging whether the application process in the system meets the preset freezing condition or not according to the running state, if so, a freezing request is sent to the application process through a communication thread.
3. The Android process freezing and thawing device of claim 2, wherein the specific process of the freezing processing module is as follows:
when the application process establishes connection with some other application process, allocating a communication connection to the application process, and performing +1 operation on a counter of the communication connection, wherein the communication connection is used for the communication between the application process and some other application process;
when the application process finishes the connection with the other application process, carrying out-1 operation on the counter of the communication connection;
and after receiving the freezing request, the application process judges whether a counter of the communication connection at the moment is zero, and if so, the application process finishes the connection with other application processes.
4. The Android process freezing and thawing device of claim 2, wherein the specific process of the thawing module is as follows:
when the communication thread receives connection requests sent by other application processes, the connection requests are screened through a central control center, whether the connection requests meet preset connection conditions or not is judged, and if yes, the working thread is unfrozen.
5. The Android process freezing and thawing device of claim 1, wherein the communication thread comprises: binder thread and socket thread.
6. A method for freezing and unfreezing an Android process is characterized by comprising the following steps:
the mobile terminal sends a freezing request to an application process through a communication thread, wherein the application process comprises a working thread and a communication thread;
judging whether the connection between the application process and other application processes is finished or not through the communication thread, if so, freezing the working thread, not freezing the communication thread, and keeping the activity state of the communication thread;
and when the communication thread receives connection requests sent by other application processes, unfreezing the working thread.
7. The Android process freezing and thawing method of claim 6, wherein the step of sending the freezing request to the application process by the mobile terminal through communication comprises:
the mobile terminal is provided with a central control center, the central control center is used for collecting the running state of the system and judging whether the application process in the system meets the preset freezing condition or not according to the running state, if so, a freezing request is sent to the application process through a communication thread.
8. The Android process freezing and thawing method of claim 7, wherein the step of judging whether the connection between the application process and other application processes is completed through the communication thread comprises the steps of:
when the application process establishes connection with some other application process, allocating a communication connection to the application process, and performing +1 operation on a counter of the communication connection, wherein the communication connection is used for the communication between the application process and some other application process;
when the application process finishes the connection with the other application process, carrying out-1 operation on the counter of the communication connection;
and after receiving the freezing request, the application process judges whether a counter of the communication connection at the moment is zero, and if so, the application process finishes the connection with other application processes.
9. The Android process freezing and unfreezing method according to claim 7, wherein when the communication thread receives a connection request sent by another application process, the unfreezing of the working thread specifically comprises:
when the communication thread receives connection requests sent by other application processes, the connection requests are screened through a central control center, whether the connection requests meet preset connection conditions or not is judged, and if yes, the working thread is unfrozen.
10. The Android process freezing and thawing method of claim 6, wherein the communication thread comprises: binder thread and socket thread.
CN201710039788.0A 2017-01-19 2017-01-19 Android process freezing and unfreezing device and method Active CN107066320B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710039788.0A CN107066320B (en) 2017-01-19 2017-01-19 Android process freezing and unfreezing device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710039788.0A CN107066320B (en) 2017-01-19 2017-01-19 Android process freezing and unfreezing device and method

Publications (2)

Publication Number Publication Date
CN107066320A CN107066320A (en) 2017-08-18
CN107066320B true CN107066320B (en) 2021-06-15

Family

ID=59598354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710039788.0A Active CN107066320B (en) 2017-01-19 2017-01-19 Android process freezing and unfreezing device and method

Country Status (1)

Country Link
CN (1) CN107066320B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110073336A (en) * 2017-10-13 2019-07-30 华为技术有限公司 Application management method and terminal
CN110007968B (en) * 2017-12-29 2022-07-12 Oppo广东移动通信有限公司 Information processing method, information processing device, computer equipment and computer readable storage medium
CN109992380B (en) * 2017-12-29 2021-06-08 Oppo广东移动通信有限公司 Application program processing method and device, electronic equipment and computer readable storage medium
CN108664285A (en) * 2018-05-10 2018-10-16 Oppo广东移动通信有限公司 Application program preloads method, apparatus, storage medium and mobile terminal
CN109144232B (en) * 2018-08-01 2020-12-01 Oppo广东移动通信有限公司 Process processing method and device, electronic equipment and computer readable storage medium
CN110908775A (en) * 2018-09-14 2020-03-24 中兴通讯股份有限公司 Application freezing control method and device, storage medium and electronic equipment
CN109445917B (en) * 2018-10-16 2020-12-01 Oppo广东移动通信有限公司 Application processing method and device, electronic equipment and computer readable storage medium
CN111858081A (en) * 2019-04-30 2020-10-30 中兴通讯股份有限公司 Broadcast control method, apparatus, terminal and computer readable storage medium
CN111897586A (en) * 2019-05-06 2020-11-06 中兴通讯股份有限公司 Application state control method, device, terminal and computer readable storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090067885A (en) * 2007-12-21 2009-06-25 엘지전자 주식회사 Mobile terminal and status management method thereof
CN101923382A (en) * 2009-06-16 2010-12-22 联想(北京)有限公司 Computer system energy-saving method and computer system
CN103327491A (en) * 2012-03-21 2013-09-25 宇龙计算机通信科技(深圳)有限公司 Method for controlling communication connecting process of instant communication tool and communication terminal
CN105786607A (en) * 2016-03-24 2016-07-20 宇龙计算机通信科技(深圳)有限公司 Multi-system freezing and awakening method and device
CN106125882A (en) * 2016-06-15 2016-11-16 深圳市万普拉斯科技有限公司 Application program management method and electronic equipment
CN106250223A (en) * 2016-07-28 2016-12-21 宇龙计算机通信科技(深圳)有限公司 A kind of background process management method and terminal unit

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090067885A (en) * 2007-12-21 2009-06-25 엘지전자 주식회사 Mobile terminal and status management method thereof
CN101923382A (en) * 2009-06-16 2010-12-22 联想(北京)有限公司 Computer system energy-saving method and computer system
CN103327491A (en) * 2012-03-21 2013-09-25 宇龙计算机通信科技(深圳)有限公司 Method for controlling communication connecting process of instant communication tool and communication terminal
CN105786607A (en) * 2016-03-24 2016-07-20 宇龙计算机通信科技(深圳)有限公司 Multi-system freezing and awakening method and device
CN106125882A (en) * 2016-06-15 2016-11-16 深圳市万普拉斯科技有限公司 Application program management method and electronic equipment
CN106250223A (en) * 2016-07-28 2016-12-21 宇龙计算机通信科技(深圳)有限公司 A kind of background process management method and terminal unit

Also Published As

Publication number Publication date
CN107066320A (en) 2017-08-18

Similar Documents

Publication Publication Date Title
CN107066320B (en) Android process freezing and unfreezing device and method
CN106844029B (en) Self-management Android process freezing and unfreezing device and method
CN105188098B (en) Network switching device and network switching method of mobile terminal
CN106304037B (en) Virtual SIM card management method and device
CN107066290B (en) Method and device for starting application according to associated policy
CN106302651B (en) Social picture sharing method and terminal with social picture sharing system
CN106803860B (en) Storage processing method and device for terminal application
CN104932697B (en) Gesture unlocking method and device
CN106686687B (en) Access control method and device
CN106713490B (en) Process freezing and thawing device and method based on network application
CN105721024B (en) Card simulation method, terminal and system for near field wireless communication
CN106686672B (en) Network connection method and terminal
CN107132967B (en) Application starting method and device, storage medium and terminal
CN106455009B (en) Network searching device and method
CN106547565B (en) Browser exception reporting method and system
CN106507418B (en) Cell reselection method and device based on signal strength and mobile terminal
CN105791541B (en) Screenshot method and mobile terminal
CN106161790B (en) Mobile terminal and control method thereof
CN106028286B (en) Wireless local area network access device and method
CN105657733B (en) Network stability control device and method
CN106856617B (en) Terminal and cell reselection method
CN106791567B (en) Switching method and terminal
CN106412877B (en) Activation method and activation device for mobile terminal SIM card
CN109041197B (en) Communication method of terminal, terminal and computer readable storage medium
CN105094733B (en) Split screen display method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant