WO2014019471A1 - Method and device for performing cleaning process on portable electronic device - Google Patents

Method and device for performing cleaning process on portable electronic device Download PDF

Info

Publication number
WO2014019471A1
WO2014019471A1 PCT/CN2013/080100 CN2013080100W WO2014019471A1 WO 2014019471 A1 WO2014019471 A1 WO 2014019471A1 CN 2013080100 W CN2013080100 W CN 2013080100W WO 2014019471 A1 WO2014019471 A1 WO 2014019471A1
Authority
WO
WIPO (PCT)
Prior art keywords
portable electronic
electronic device
user interface
predefined
application programs
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.)
Ceased
Application number
PCT/CN2013/080100
Other languages
French (fr)
Inventor
Lei LONG
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to US14/040,485 priority Critical patent/US20140031026A1/en
Publication of WO2014019471A1 publication Critical patent/WO2014019471A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory

Definitions

  • the present invention relates to the technical field of computers, and in particular, to a method and device of performing a cleaning process on a portable electronic device.
  • a method for processing an application program comprises: monitoring an operation instruction received by a client; and executing an optimization process on an operating system when it is monitored that the client has received an instruction to optimize the memory of the operation system.
  • the step of monitoring the operation instruction received by the client comprises starting a preset optimization interface, and monitoring the operation instruction received by the client on the optimization interface.
  • the step of executing the optimization process on the operating system comprises: invoking a command for deleting a buffered garbage in the operating system; and deleting a buffered garbage in the operating system according to the command for deleting a buffered garbage in the operating system; and/or, invoking a command for turning off an application program in the background of the operating system; and turning off an application program in the background of the operating system and a program associated with the application program according to the command for turning off an application program in the background of the operating system.
  • the method further comprises: outputting the optimization result of the step of executing the optimization process on the operating system.
  • a device for processing an application program comprises: a monitoring module for monitoring an operation instruction received by a client; and an optimization module for executing an optimization process on an operating system when it is monitored that the client has received an instruction to optimize the memory of the operating system.
  • the monitoring module is used in particular for: starting a preset optimization interface and then monitoring the operation instruction received by the client on the optimization interface.
  • the optimization module comprises: a first invocation unit for invoking a command for deleting a buffered garbage in the operating system; and a deletion unit for deleting a buffered garbage in the operating system according to the command for deleting a buffered garbage in the operating system; and/or, a second invocation unit for invoking a command for turning off an application program in the background of the operating system after the deletion unit has deleted the buffered garbage in the operating system; and a turn-off unit for turning off an application program in the background of the operating system and a program associated with the application program according to the command for turning off an application program in the background of the operating system.
  • the device further comprises: an output module for outputting the optimization result of the step of executing the optimization process on the operating system after the optimization module executes the optimization process on the operating system.
  • a method performed by a portable electronic device with a touch-sensitive display includes monitoring a system reaction to one or more instructions; determining that the system reaction does not satisfy predefined criteria; and, in response determining that the system reaction does not satisfy the predefined criteria, performing a cleaning process on the portable electronic device.
  • a portable electronic device includes a touch-sensitive display; means for monitoring a system reaction to one or more instructions; means for determining that the system reaction does not satisfy predefined criteria; and means, enabled in response determining that the system reaction does not satisfy the predefined criteria, for performing a cleaning process on the portable electronic device.
  • a portable electronic device includes a touch-sensitive display, one or more processors, and memory.
  • the memory stores one or more programs for execution by the one or more processors.
  • the one or more programs include instructions for monitoring a system reaction to one or more instructions; determining that the system reaction does not satisfy predefined criteria; and in response determining that the system reaction does not satisfy the predefined criteria, performing a cleaning process on the portable electronic device.
  • a computer readable storage medium stores one or more programs for execution by one or more processors of a portable electronic device, the one or more programs including instructions for monitoring a system reaction to one or more instructions; determining that the system reaction does not satisfy predefined criteria; and in response determining that the system reaction does not satisfy the predefined criteria, performing a cleaning process on the portable electronic device.
  • the computer readable storage medium comprises a non-transitory computer readable storage medium.
  • the beneficial effects of the technical solution provided in the embodiments of the present invention are: monitoring an operation instruction received by a client; and executing an optimization process on the operating system when it is monitored that the client has received an instruction to optimize the memory of the operating system. There is no need for a user to delete any background application program manually, thus having the user's operations reduced and improving the user's experience in using the portable electronic device.
  • Figure 1 is a flowchart of a method for processing an application program provided in accordance with some embodiments.
  • Figure 2 is a flowchart of a method for processing an application program provided accordance with some embodiments.
  • Figure 3 is a structural schematic diagram of a device for processing an application program provided in accordance with some embodiments.
  • Figure 4 is a structural schematic diagram of a device for processing an application program provided in accordance with some embodiments.
  • Figures 5 A-5B are exemplary user interfaces in accordance with some embodiments.
  • Figures 6A-6B are flow charts of an exemplary method for performing a cleaning process on a portable electronic device in accordance with some embodiments.
  • Figure 7 is a block diagram of a system for implementing the method of performing a cleaning process in accordance with some embodiments.
  • a method for processing an application program comprises: monitoring (101) an operation instruction received by a client; and executing (102) an optimization process on an operating system when it is monitored that the client has received an instruction to optimize the memory of the operating system.
  • the step of monitoring the operation instruction received by the client comprises: starting a preset optimization interface and then monitoring the operation instruction received by the client on the optimization interface.
  • the step of executing the optimization process on the operating system comprises: invoking a command for deleting a buffered garbage in the operating system; and deleting a buffered garbage in the operating system according to the command for deleting a buffered garbage in the operating system; and/or, invoking a command for turning off an application program in the background of the operating system; and turning off an application program in the background of the operating system according to the command for turning off an application program in the background of the operating system.
  • the method further comprises outputting the optimization result of the step of executing the optimization process on the operating system.
  • the beneficial effects of the embodiment comprise: monitoring an operation instruction received by a client; and executing an optimization process on an operating system when it is monitored that the client has received an instruction to optimize the memory of the operating system.
  • a method for processing an application program is provided in the embodiment of the present invention, and referring to Figure 2, the flow of the method comprises, (201) when an operating system is running slowly, starting a preset optimization interface, and then monitoring an operation instruction received by a client on the optimization interface.
  • the client is installed with a preset operating system, wherein the preset operating system comprises an operating system for a portable electronic device (e.g., a smart phone), and of course can comprise other terminal operating systems, which is not specially defined in this embodiment.
  • the preset operating system comprises an operating system for a portable electronic device (e.g., a smart phone), and of course can comprise other terminal operating systems, which is not specially defined in this embodiment.
  • Some temporary buffered files are produced by the operating system during operation in this embodiment, and these buffered files occupy a lot of memory space and affect the operation of the system.
  • an optimization system is provided for the user, so that the user can start the optimization system to pop up a preset optimization interface when the user feels that the operating system is running slowly; an optimization button is provided for the user on the optimization interface, and if the user selects this button, the system will perform an optimization process of the operating system automatically.
  • the operation instruction received by the client on the optimization interface is monitored. If the operation instruction is an instruction for optimizing the operating system, then the operation system will be optimized.
  • An optimization button is preferably provided for the user in this embodiment, which optimization button is monitored in real time, and when it is monitored that a trigger operation is performed on the optimization button, then it will be confirmed that the optimization operation instruction has been received.
  • step 201 What is in particular executed in step 201 is the step of monitoring the operation instruction received by the client.
  • Step 202 is the step of executing an optimization process on the operating system when it is monitored that the client has received an instruction to optimize the memory of the operation system.
  • the operating system is optimized when it is monitored that the client has received the instruction to optimize the operating system, comprises: invoking a command for deleting a buffered garbage in the operating system; and deleting a buffered garbage in the operating system according to the command for deleting a buffered garbage in the operating system; and/or invoking a command for turning off an application program in the background of the operating system; and turning off an application program in the background of the operating system according to the command for turning off an application program in the background of the operating system.
  • the buffered garbage is the temporary files produced when the operating system is running.
  • the command for deleting a buffered garbage in the operating system is set in advance, and this command is used for simulating the user's operation and deleting the buffered garbage.
  • the command for deleting a buffered garbage in the operating system will be invoked, and the user's operation of clicking to delete the buffered garbage will be simulated to delete the buffered garbage in the operating system.
  • the method further comprises: invoking a command for turning off an application program in the background of the operating system; and turning off an application program in the background of the operating system according to the command for turning off an application program in the background of the operating system.
  • the command for turning off an application program in the background of the operating system is set in advance, which command is used for simulating the user's operation and turning off the application program running in the background and a program or process associated with the application program.
  • the command for turning off an application program in the background of the operating system will be invoked, and the user's operation of turning off the application program running in the background will be simulated to turn off an application program running in the background and a program associated therewith.
  • the preset operating system is the iOS system
  • SpringBoard is a primary UI process of the iOS system and all GUI programs opened in iOS are sub-processes of this process
  • the codes of the command for turning off an application program in the background of the operating system are loaded into the SpringBoard in the form of a dynamic library, and the monitoring of an instruction of the client is added to an ingress function which loads the dynamic library, and the command for turning off an application program in the background of the operating system is used for simulating the user's GUI operation.
  • Step 203 is the step of outputting the optimization result of the step of executing the optimization process on the operating system.
  • the optimization result can be output to the preset optimization interface, enabling the user to be informed of the progress of the entire optimization process according to the optimization result, further improving the user's experience.
  • the beneficial effects of the embodiment comprise: monitoring an operation instruction received by a client; and executing an optimization process on the operating system when it is monitored that the client has received an instruction to optimize the memory of the operating system.
  • the embodiments of the present invention provide a device for processing an application program, comprising: a monitoring module 301 and an optimization module 302.
  • the monitoring module 301 is used for monitoring an operation instruction received by a client; and the optimization module 302 is used for executing an optimization process on an operating system when it is monitored that the client has received an instruction to optimize the operating system memory.
  • the monitoring module is used in particular for: starting a preset optimization interface, and then monitoring the operation instruction received by the client on the optimization interface.
  • the optimization module 302 comprises: a first invocation unit 302a for invoking a command for deleting a buffered garbage in the operating system; and a deletion unit 302b for deleting a buffered garbage in the operating system according to the command for deleting a buffered garbage in the operating system; and/or, a second invocation unit 302c for invoking a command for turning off an application program in the background of the operating system after the deletion unit 302b deletes the buffered garbage in the operating system; and a turn-off unit 302d for turning off an application program in the background of the operating system and a program associated with the application program according to the command for turning off an application program in the background of the operating system.
  • the device further comprises an output module 303 for outputting the optimization result of the step of executing the optimization process on the operating system after the optimization module 302 executes the optimization process on the operating system.
  • the beneficial effects of the embodiment comprise: monitoring an operation instruction received by a client; and executing an optimization process on the operating system when it is monitored that the client has received an instruction to optimize the memory of the operating system. There is no need for the user to delete the background applications manually, thus having the user's operations reduced and the user's experience in using the portable electronic device improved.
  • Figures 5 A-5B are exemplary user interfaces in accordance with some embodiments.
  • Figure 5A illustrates an exemplary user interface 500 of a web browser that includes a display of a web page.
  • the exemplary user interface 500 is typically displayed on a touch-sensitive display (also called herein "touch screen").
  • the user interface 500 includes a user interface element 510.
  • the user interface element 510 indicates that a system reaction time does not meet a particular criterion (e.g., the system reaction time exceeds a maximum acceptable reaction time).
  • the user interface element 510 is displayed in response to determining that the system reaction time does not meet the particular criterion.
  • the user interface element 510 is visually distinguished (e.g., changes colors and/or shapes) in response to determining that the system reaction time does not meet the particular criterion.
  • the user interface element 510 is not displayed while the system reaction time meets the particular criterion.
  • a user input is detected at a location on the touch-sensitive display that corresponds to the user interface element 510.
  • a cleaning process is performed in response to detecting a user input at a location on the touch-sensitive display that corresponds to the user interface element 510.
  • an exemplary user interface 504 illustrated in Figure 5B is displayed (typically prior to performing the cleaning process).
  • the user interface 504 includes a display of a user input interface 520.
  • the user input interface 520 includes a user interface element 522, which, when selected (e.g., by a user input on the touch-sensitive display), initiates deleting at least a subset of buffered data.
  • the user input interface 520 includes a user interface element 524, which, when selected (e.g., by a user input on the touch-sensitive display), initiates closing a plurality of application programs that are currently running or otherwise taking up resources in a background of a portable electronic device.
  • the user input interface 520 ceases to be displayed on the touch-sensitive display in accordance with a determination that at least one of the user interface elements 522 and 524.
  • the user input interface 520 includes one or more other user interface elements.
  • the user input interface 520 includes a user interface element (e.g., labeled "start"), which, when selected, initiates the selected operations (e.g., garbage collection and/or closing application programs).
  • FIGS 6A-6B are flow charts of an exemplary method 600 for performing a cleaning process on a portable electronic device in accordance with some embodiments.
  • the method 600 is performed by a portable electronic device (e.g., the system 700 illustrated in Figure 7).
  • the portable electronic device includes a touch-sensitive display.
  • the device monitors (602) a system reaction to one or more instructions.
  • the one or more instructions correspond to a user input.
  • the one or more instructions are generated by a monitoring module 722 ( Figure 7).
  • the device monitors a time interval between a time when a user input is received and a time when a corresponding action is taken (e.g., displaying or updating a user interface, launching an application, etc.).
  • the device automatically monitors the system reaction to one or more instructions (e.g., the device monitors the system reaction to one or more instructions independent of a user input).
  • the device determines (604) that the system reaction does not satisfy predefined criteria. For example, in some embodiments, the device determines that the time interval between the time when the user input is received and the time when the corresponding action is taken exceeds a predefined reaction time criterion (e.g., 0.5 second, 1 second, etc.).
  • a predefined reaction time criterion e.g., 0.5 second, 1 second, etc.
  • determining that the system reaction does not satisfy the predefined criteria includes (606) displaying a preset user interface that includes displaying one or more user interface elements (e.g., the user input interface 520 with user interface elements 522 and 524, Figure 5B) and receiving a touch input at a location on the touch-sensitive display that corresponds to one of the one or more user interface elements.
  • a preset user interface that includes displaying one or more user interface elements (e.g., the user input interface 520 with user interface elements 522 and 524, Figure 5B) and receiving a touch input at a location on the touch-sensitive display that corresponds to one of the one or more user interface elements.
  • the device performs (608) a cleaning process on the portable electronic device. For example, in some embodiments, the device removes at least a subset of buffered data (typically "garbage” as described in detail below) and/or closes one or more application programs.
  • buffered data typically "garbage” as described in detail below
  • the one or more user interface elements include (610) a first user interface element (e.g., the user interface element 522, Figure 5B), which, when selected, initiates deleting at least a subset of buffered data, and a second user interface element (e.g., the user interface element 524, Figure 5B), which, when selected, initiates closing a plurality of application programs that run in a background of the portable electronic device.
  • a first user interface element e.g., the user interface element 522, Figure 5B
  • a second user interface element e.g., the user interface element 524, Figure 5B
  • determining that the system reaction does not satisfy the predefined criteria includes (612) one or more of: determining that a number of processes running in the portable electronic device exceeds predefined process number criteria prior to, or during, responding to the one or more instructions; and determining that a system reaction time to a respective instruction of the one or more instructions exceeds predefined reaction time criteria.
  • the device determines that the system reaction does not satisfy the predefined criteria in accordance with a determination that a number of processes running in the device exceeds a predefined number of processes.
  • the device determines that the system reaction does not satisfy the predefined criteria in accordance with a determination that the reaction time exceeds a predefined reaction time criterion.
  • the device determines that the system reaction does not satisfy the predefined criteria in accordance with a determination that there are more than a predetermined number of communication channels open on the mobile device. In some embodiments, the device determines that the system reaction does not satisfy the predefined criteria in accordance with a determination that there are more than a predetermined number of processes that have been suspended on the mobile device. In some embodiments, the device determines that the system reaction does not satisfy the predefined criteria in accordance with a determination that there are more than a predetermined number of ghost processes on the mobile device.
  • performing the cleaning process includes (614) performing a predefined garbage collection operation.
  • garbage refers to data that has not been used (e.g., accessed) by one or more application programs for more than a predefined time interval.
  • garbage refers to buffered data that has not been used by one or more application programs for more than a predefined time interval.
  • garbage refers to data that is not accessible by any of active application programs (e.g., in the foreground or in the background).
  • a garbage collection operation refers to removing and/or deleting garbage.
  • a garbage collection operation refers to releasing memory currently occupied by garbage to be used for storing different data.
  • performing the predefined garbage collection operation includes invoking a command for a garbage collection operation.
  • an operating system of the device includes a predefined command for the garbage collection operation.
  • performing the cleaning process includes (616) closing two or more application programs that run in a background of the portable electronic device.
  • closing the two or more application programs includes shutting down the two or more application programs so that the two or more application programs no longer run in the foreground or background.
  • closing the plurality of application programs includes invoking a command to close a respective application program in the background of the portable electronic device.
  • closing two or more application programs includes (618) identifying the two or more application programs (e.g., all application programs that have not been actively accessed by the user for a predetermined amount of time) from a plurality of application programs that run in the background of the portable electronic device in accordance with predefined application program selection criteria.
  • identifying the two or more application programs from a plurality of application programs that run in the background of the portable electronic device in accordance with the predefined criteria includes identifying two or more application programs, of the plurality of application programs, that have not been used for more than a predefined duration (e.g., 1 hour, 8 hours, 24 hours, etc.). In some embodiments, identifying the two or more application programs from a plurality of application programs that run in the background of the portable electronic device in accordance with the predefined criteria includes excluding one or more most recently used application programs of the plurality of application programs. In some embodiments, identifying the two or more application programs from a plurality of application programs that run in the background of the portable electronic device in accordance with the predefined criteria includes excluding one or more most frequently used application programs of the plurality of application programs.
  • a predefined duration e.g. 1 hour, 8 hours, 24 hours, etc.
  • closing two or more application programs includes closing all application programs that currently run on the portable electronic device other than one or more application programs that currently run in the foreground of the portable electronic device.
  • the device outputs (620) a result of performing the cleaning process on the portable electronic device. For example, in some embodiments, the device changes a color or shape of a user interface element (e.g., the user interface element 510 in Figure 5B). In some embodiments, the device outputs an audible signal indicating a completion of the cleaning process. In some embodiments, the device displays a message that indicates a completion of the cleaning process.
  • the device outputs a message that indicates details of the cleaning process.
  • the message may include a number of application programs that have been closed and/or an amount of garbage (e.g., in kilobytes or megabytes) that have been deleted.
  • Figure 7 is a block diagram of a system 700 for implementing the method of performing a cleaning process, as described above, in accordance with some embodiments.
  • the system 702 is one of: mobile device, handheld computer, and tablet computer.
  • the system 700 includes one or more processing units (also called herein "processors”) 702, memory 704, an input/output (I/O) interface 706, and a network communications interface 708. These components communicate with one another over one or more communication buses or signal lines 710.
  • the memory 704, or the computer readable storage media of memory 704 stores programs, modules, instructions, and data structures including all or a subset of: an operating system 712, an I/O module 714, a communication module 716, application programs 718, and an operation control module 724.
  • the one or more processors 702 are coupled to the memory 704 and operable to execute these programs, modules, and instructions, and reads/writes from/to the data structures.
  • the processing units 702 include one or more microprocessors, such as a single core or multi-core microprocessor. In some embodiments, the processing units 702 include one or more general purpose processors. In some embodiments, the processing units 702 include one or more special purpose processors.
  • the memory 704 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices.
  • the memory 704 includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices.
  • the memory 704 includes one or more storage devices remotely located from the processing units 702.
  • the memory 704, or alternately the non-volatile memory device(s) within the memory 704, comprises a computer readable storage medium.
  • the I/O interface 706 couples one or more input/output devices, such as displays, a keyboards, touch screens, speakers, and microphones, to the I/O module 714 of the system 700.
  • the I/O interface 706 and the I/O module 714 also present outputs (e.g., sounds, images, text, etc.) to the user according to various program instructions implemented on the system 700.
  • the network communications interface 708 includes wired communication port(s) and/or wireless transmission and reception circuitry.
  • the wired communication port(s) receive and send communication signals via one or more wired interfaces, e.g., Ethernet, Universal Serial Bus (USB), FIREWIRE, etc.
  • the wireless circuitry receives and sends RF signals and/or optical signals from/to communications networks and other communications devices.
  • the wireless communications may use any of a plurality of communications standards, protocols and technologies, such as GSM, EDGE, CDMA, TDMA, Bluetooth, Wi-Fi, VoIP, Wi-MAX, or any other suitable communication protocol.
  • the network communications interface 708 enables communication between the system 700 with networks, such as the Internet, an intranet and/or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and/or a metropolitan area network (MAN), and other devices.
  • the communications module 716 facilitates communications between the system 700 and other devices (e.g., the first client device and the second client device) over the network communications interface 708.
  • the operating system 702 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and/or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communications between various hardware, firmware, and software components.
  • general system tasks e.g., memory management, storage device control, power management, etc.
  • the system 700 is implemented on a portable electronic device (e.g., a smart phone, a mobile phone, a tablet computer, etc.). It should be noted that the system 700 is only one example, and that the system 700 may have more or fewer components than shown, may combine two or more components, or may have a different configuration or arrangement of the components.
  • the various components shown in Figure 7 may be implemented in hardware, software, firmware, including one or more signal processing and/or application specific integrated circuits, or a combination of thereof.
  • the application programs 718 stored in the memory 704 include one or more foreground application programs 720 and background application programs 722.
  • a foreground application program typically refers to an application program a user interface of which is currently displayed on a display of the system 700.
  • a background application program typically refers to a currently running application program a user interface of which is not currently displayed on the display of the system.
  • a background application program is distinct from a closed application program that is not running on the system. For example, when the system stores a calendar application program but does not run the calendar application program, the calendar application is deemed to be closed.
  • the calendar application program is deemed to be running in the background.
  • an application program is deemed to be running when at least one process associated with the application program is being executed by one or more processors 702 of the system 700.
  • the application program is deemed to be running when at least one process associated with the application program is executed at one or more predefined intervals independent of a user input by one or more processors 702 of the system 700.
  • the system 700 stores the operation control module 724 in the memory 704.
  • the operation control module 724 further includes the followings sub-modules, or a subset or superset thereof: a monitoring module 726, a determining module 728, a cleaning process module 734, and a result outputting module 742.
  • the determining module 728 includes one or more of: a process number module 730 and a reaction time module 732.
  • the cleaning process module 734 includes one or more of: a garbage collection module 736 and an application program closing module 738.
  • the application program closing module 738 includes an application program identifying module 740.
  • the application program closing module 738 has access to the application programs 718 (e.g., the background application programs 722) stored in the memory 704 and/or one or more predefined commands to close the background application programs 722 in the operating system 712.
  • the operation control module 724 optionally includes one or more other modules to provide other related functionalities described herein. Details on the structures, functions, and interactions of the operation control module 724 are provided with respect to Figures 1-4, 5A-5B and 6A-6B and accompanying descriptions.
  • the device for processing an application program and the method for processing an application program provided in the abovementioned embodiments belong to the same concept, and the specific implementation processes thereof can be made reference to the method embodiments in detail, which will not be described here for brevity.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

METHOD AND DEVICE FOR PERFORMING CLEANING PROCESS
ON PORTABLE ELECTRONIC DEVICE
Technical field
[0001] The present invention relates to the technical field of computers, and in particular, to a method and device of performing a cleaning process on a portable electronic device.
Background
[0002] Several smart phones allow programs to run in the background. Some temporary buffered files are produced during the operating process of an operating system of a smart phone, and these buffered files occupy a lot of memory space and affect the reaction speed of the smart phone.
[0003] So far, if a user feels that the system reacts too slowly when using a smart phone, the user manually accesses a user interface for closing applications and icons representing application programs running in the background. In order to accelerate the reaction speed of the smart phone, the user needs to manually close all or some of the application programs running in the background.
[0004] However, in the conventional operating systems, the user needs to close the application programs one by one manually, which increases the user's manual interaction with the smart phone and degrades the user's experience in using the smart phone.
Summary
[0005] To reduce the user's operations and improve the user's experience in using a portable electronic device (e.g., a smart phone), provided in the embodiments are methods and devices for processing an application program. The technical solution is as follows.
[0006] In some embodiments, a method for processing an application program is provided, and the method comprises: monitoring an operation instruction received by a client; and executing an optimization process on an operating system when it is monitored that the client has received an instruction to optimize the memory of the operation system.
[0007] The step of monitoring the operation instruction received by the client comprises starting a preset optimization interface, and monitoring the operation instruction received by the client on the optimization interface.
[0008] The step of executing the optimization process on the operating system comprises: invoking a command for deleting a buffered garbage in the operating system; and deleting a buffered garbage in the operating system according to the command for deleting a buffered garbage in the operating system; and/or, invoking a command for turning off an application program in the background of the operating system; and turning off an application program in the background of the operating system and a program associated with the application program according to the command for turning off an application program in the background of the operating system.
[0009] After the step of executing the optimization process on the operating system, the method further comprises: outputting the optimization result of the step of executing the optimization process on the operating system.
[0010] On the other hand, a device for processing an application program is also provided, and the device comprises: a monitoring module for monitoring an operation instruction received by a client; and an optimization module for executing an optimization process on an operating system when it is monitored that the client has received an instruction to optimize the memory of the operating system.
[0011] The monitoring module is used in particular for: starting a preset optimization interface and then monitoring the operation instruction received by the client on the optimization interface.
[0012] The optimization module comprises: a first invocation unit for invoking a command for deleting a buffered garbage in the operating system; and a deletion unit for deleting a buffered garbage in the operating system according to the command for deleting a buffered garbage in the operating system; and/or, a second invocation unit for invoking a command for turning off an application program in the background of the operating system after the deletion unit has deleted the buffered garbage in the operating system; and a turn-off unit for turning off an application program in the background of the operating system and a program associated with the application program according to the command for turning off an application program in the background of the operating system.
[0013] The device further comprises: an output module for outputting the optimization result of the step of executing the optimization process on the operating system after the optimization module executes the optimization process on the operating system.
[0014] In some embodiments, a method performed by a portable electronic device with a touch-sensitive display includes monitoring a system reaction to one or more instructions; determining that the system reaction does not satisfy predefined criteria; and, in response determining that the system reaction does not satisfy the predefined criteria, performing a cleaning process on the portable electronic device.
[0015] In some embodiments, a portable electronic device includes a touch-sensitive display; means for monitoring a system reaction to one or more instructions; means for determining that the system reaction does not satisfy predefined criteria; and means, enabled in response determining that the system reaction does not satisfy the predefined criteria, for performing a cleaning process on the portable electronic device.
[0016] In some embodiments, a portable electronic device includes a touch-sensitive display, one or more processors, and memory. The memory stores one or more programs for execution by the one or more processors. The one or more programs include instructions for monitoring a system reaction to one or more instructions; determining that the system reaction does not satisfy predefined criteria; and in response determining that the system reaction does not satisfy the predefined criteria, performing a cleaning process on the portable electronic device.
[0017] In some embodiments, a computer readable storage medium stores one or more programs for execution by one or more processors of a portable electronic device, the one or more programs including instructions for monitoring a system reaction to one or more instructions; determining that the system reaction does not satisfy predefined criteria; and in response determining that the system reaction does not satisfy the predefined criteria, performing a cleaning process on the portable electronic device. In some embodiments, the computer readable storage medium comprises a non-transitory computer readable storage medium.
[0018] The beneficial effects of the technical solution provided in the embodiments of the present invention are: monitoring an operation instruction received by a client; and executing an optimization process on the operating system when it is monitored that the client has received an instruction to optimize the memory of the operating system. There is no need for a user to delete any background application program manually, thus having the user's operations reduced and improving the user's experience in using the portable electronic device.
Description of the Drawings
[0019] In order to more clearly illustrate the technical solution in the embodiments of the present invention, the figures to be used for describing the embodiments will be outlined hereinafter, and apparently, the figures described hereinafter are merely some embodiments of the present invention, and for a person skilled in the art, other figures can be obtained according to these figures without any inventive efforts.
[0020] Figure 1 is a flowchart of a method for processing an application program provided in accordance with some embodiments.
[0021] Figure 2 is a flowchart of a method for processing an application program provided accordance with some embodiments.
[0022] Figure 3 is a structural schematic diagram of a device for processing an application program provided in accordance with some embodiments.
[0023] Figure 4 is a structural schematic diagram of a device for processing an application program provided in accordance with some embodiments.
[0024] Figures 5 A-5B are exemplary user interfaces in accordance with some embodiments.
[0025] Figures 6A-6B are flow charts of an exemplary method for performing a cleaning process on a portable electronic device in accordance with some embodiments.
[0026] Figure 7 is a block diagram of a system for implementing the method of performing a cleaning process in accordance with some embodiments.
Detailed Description
[0027] In order to make the objects, technical solutions and advantages of the present invention more clear, the embodiments of the present invention will be further described in detail in conjunction with the accompanying drawings.
Embodiment I
[0028] Referring to Figure 1, a method for processing an application program is provided in this embodiment, and the method comprises: monitoring (101) an operation instruction received by a client; and executing (102) an optimization process on an operating system when it is monitored that the client has received an instruction to optimize the memory of the operating system.
[0029] The step of monitoring the operation instruction received by the client comprises: starting a preset optimization interface and then monitoring the operation instruction received by the client on the optimization interface.
[0030] The step of executing the optimization process on the operating system comprises: invoking a command for deleting a buffered garbage in the operating system; and deleting a buffered garbage in the operating system according to the command for deleting a buffered garbage in the operating system; and/or, invoking a command for turning off an application program in the background of the operating system; and turning off an application program in the background of the operating system according to the command for turning off an application program in the background of the operating system.
[0031] Optionally, after the step of executing the optimization process on the operating system, the method further comprises outputting the optimization result of the step of executing the optimization process on the operating system.
[0032] The beneficial effects of the embodiment comprise: monitoring an operation instruction received by a client; and executing an optimization process on an operating system when it is monitored that the client has received an instruction to optimize the memory of the operating system. There is no need for a user to delete any background application program manually, thus reducing the user's manual operations of the portable electronic device and improving the user's experience in using the portable electronic device.
Embodiment II
[0033] A method for processing an application program is provided in the embodiment of the present invention, and referring to Figure 2, the flow of the method comprises, (201) when an operating system is running slowly, starting a preset optimization interface, and then monitoring an operation instruction received by a client on the optimization interface.
[0034] In this embodiment, the client is installed with a preset operating system, wherein the preset operating system comprises an operating system for a portable electronic device (e.g., a smart phone), and of course can comprise other terminal operating systems, which is not specially defined in this embodiment. Some temporary buffered files are produced by the operating system during operation in this embodiment, and these buffered files occupy a lot of memory space and affect the operation of the system. In this embodiment, an optimization system is provided for the user, so that the user can start the optimization system to pop up a preset optimization interface when the user feels that the operating system is running slowly; an optimization button is provided for the user on the optimization interface, and if the user selects this button, the system will perform an optimization process of the operating system automatically. There is no need for the user to input any commands manually (e.g., individually selecting each application program that is to be closed or files that are to be deleted), and the system can automatically execute the optimization process with just one click on the optimization button; hence, the threshold to optimize the operating system is lowered, enabling common users to optimize the operating system expediently.
[0035] In this step, when the preset optimization interface is started, the operation instruction received by the client on the optimization interface is monitored. If the operation instruction is an instruction for optimizing the operating system, then the operation system will be optimized. An optimization button is preferably provided for the user in this embodiment, which optimization button is monitored in real time, and when it is monitored that a trigger operation is performed on the optimization button, then it will be confirmed that the optimization operation instruction has been received.
[0036] What is in particular executed in step 201 is the step of monitoring the operation instruction received by the client.
[0037] Step 202 is the step of executing an optimization process on the operating system when it is monitored that the client has received an instruction to optimize the memory of the operation system.
[0038] In this step, optionally, the operating system is optimized when it is monitored that the client has received the instruction to optimize the operating system, comprises: invoking a command for deleting a buffered garbage in the operating system; and deleting a buffered garbage in the operating system according to the command for deleting a buffered garbage in the operating system; and/or invoking a command for turning off an application program in the background of the operating system; and turning off an application program in the background of the operating system according to the command for turning off an application program in the background of the operating system. Here, the buffered garbage is the temporary files produced when the operating system is running. In this embodiment, the command for deleting a buffered garbage in the operating system is set in advance, and this command is used for simulating the user's operation and deleting the buffered garbage. When the client triggers to execute system optimization, the command for deleting a buffered garbage in the operating system will be invoked, and the user's operation of clicking to delete the buffered garbage will be simulated to delete the buffered garbage in the operating system.
[0039] In this embodiment, if too many application programs or processes are running in the background, the operating speed of the operating system will be affected; so after the step of deleting the buffered garbage in the operating system, optionally, the method further comprises: invoking a command for turning off an application program in the background of the operating system; and turning off an application program in the background of the operating system according to the command for turning off an application program in the background of the operating system. Optionally, the command for turning off an application program in the background of the operating system is set in advance, which command is used for simulating the user's operation and turning off the application program running in the background and a program or process associated with the application program. When the client triggers to execute system optimization, the command for turning off an application program in the background of the operating system will be invoked, and the user's operation of turning off the application program running in the background will be simulated to turn off an application program running in the background and a program associated therewith. In particular, when the preset operating system is the iOS system, wherein SpringBoard is a primary UI process of the iOS system and all GUI programs opened in iOS are sub-processes of this process; in this embodiment, the codes of the command for turning off an application program in the background of the operating system are loaded into the SpringBoard in the form of a dynamic library, and the monitoring of an instruction of the client is added to an ingress function which loads the dynamic library, and the command for turning off an application program in the background of the operating system is used for simulating the user's GUI operation. For example, if the process to be turned off is "WeChat", which is a sub-process of SpringBoard, in order to enable "WeChat" to run in the background, SpringBoard will give "WeChat" an ingress to the background. In this embodiment, when turning off the "WeChat" process, processes associated with SpringBoard will be turned off together, i.e. turning off the ingress to the background together to realize a complete release of "WeChat" resources.
[0040] Step 203 is the step of outputting the optimization result of the step of executing the optimization process on the operating system.
[0041] In this embodiment, after optimizing the operating system, optionally, the optimization result can be output to the preset optimization interface, enabling the user to be informed of the progress of the entire optimization process according to the optimization result, further improving the user's experience.
[0042] The beneficial effects of the embodiment comprise: monitoring an operation instruction received by a client; and executing an optimization process on the operating system when it is monitored that the client has received an instruction to optimize the memory of the operating system. There is no need for the user to delete background applications manually, thud having the user's operations reduced and the user's experience in using the portable electronic device improved.
Embodiment III
[0043] Referring to Figure 3, the embodiments of the present invention provide a device for processing an application program, comprising: a monitoring module 301 and an optimization module 302.
[0044] The monitoring module 301 is used for monitoring an operation instruction received by a client; and the optimization module 302 is used for executing an optimization process on an operating system when it is monitored that the client has received an instruction to optimize the operating system memory.
[0045] The monitoring module is used in particular for: starting a preset optimization interface, and then monitoring the operation instruction received by the client on the optimization interface.
[0046] Referring to Figure 4, the optimization module 302 comprises: a first invocation unit 302a for invoking a command for deleting a buffered garbage in the operating system; and a deletion unit 302b for deleting a buffered garbage in the operating system according to the command for deleting a buffered garbage in the operating system; and/or, a second invocation unit 302c for invoking a command for turning off an application program in the background of the operating system after the deletion unit 302b deletes the buffered garbage in the operating system; and a turn-off unit 302d for turning off an application program in the background of the operating system and a program associated with the application program according to the command for turning off an application program in the background of the operating system.
[0047] Referring to Figure 4, optionally, the device further comprises an output module 303 for outputting the optimization result of the step of executing the optimization process on the operating system after the optimization module 302 executes the optimization process on the operating system.
[0048] The beneficial effects of the embodiment comprise: monitoring an operation instruction received by a client; and executing an optimization process on the operating system when it is monitored that the client has received an instruction to optimize the memory of the operating system. There is no need for the user to delete the background applications manually, thus having the user's operations reduced and the user's experience in using the portable electronic device improved. [0049] Figures 5 A-5B are exemplary user interfaces in accordance with some embodiments.
[0050] Figure 5A illustrates an exemplary user interface 500 of a web browser that includes a display of a web page. The exemplary user interface 500 is typically displayed on a touch-sensitive display (also called herein "touch screen").
[0051] The user interface 500 includes a user interface element 510. In some embodiments, the user interface element 510 indicates that a system reaction time does not meet a particular criterion (e.g., the system reaction time exceeds a maximum acceptable reaction time). For example, in some embodiments, the user interface element 510 is displayed in response to determining that the system reaction time does not meet the particular criterion. In some other embodiments, the user interface element 510 is visually distinguished (e.g., changes colors and/or shapes) in response to determining that the system reaction time does not meet the particular criterion. In some embodiments, the user interface element 510 is not displayed while the system reaction time meets the particular criterion.
[0052] In some embodiments, a user input is detected at a location on the touch-sensitive display that corresponds to the user interface element 510. In some embodiments, in response to detecting a user input at a location on the touch-sensitive display that corresponds to the user interface element 510, a cleaning process is performed.
[0053] In some embodiments, in response to detecting a user input at a location on the touch-sensitive display that corresponds to the user interface element 510, an exemplary user interface 504 illustrated in Figure 5B is displayed (typically prior to performing the cleaning process).
[0054] In Figure 504, the user interface 504 includes a display of a user input interface 520. In some embodiments, the user input interface 520 includes a user interface element 522, which, when selected (e.g., by a user input on the touch-sensitive display), initiates deleting at least a subset of buffered data. In some embodiments, the user input interface 520 includes a user interface element 524, which, when selected (e.g., by a user input on the touch-sensitive display), initiates closing a plurality of application programs that are currently running or otherwise taking up resources in a background of a portable electronic device. In some embodiments, the user input interface 520 ceases to be displayed on the touch-sensitive display in accordance with a determination that at least one of the user interface elements 522 and 524. In some embodiments, the user input interface 520 includes one or more other user interface elements. For example, in some embodiments, the user input interface 520 includes a user interface element (e.g., labeled "start"), which, when selected, initiates the selected operations (e.g., garbage collection and/or closing application programs).
[0055] Figures 6A-6B are flow charts of an exemplary method 600 for performing a cleaning process on a portable electronic device in accordance with some embodiments. The method 600 is performed by a portable electronic device (e.g., the system 700 illustrated in Figure 7). The portable electronic device includes a touch-sensitive display.
[0056] The device monitors (602) a system reaction to one or more instructions. In some embodiments, the one or more instructions correspond to a user input. In some embodiments, the one or more instructions are generated by a monitoring module 722 (Figure 7). For example, in some embodiments, the device monitors a time interval between a time when a user input is received and a time when a corresponding action is taken (e.g., displaying or updating a user interface, launching an application, etc.). In some embodiments, the device automatically monitors the system reaction to one or more instructions (e.g., the device monitors the system reaction to one or more instructions independent of a user input).
[0057] The device determines (604) that the system reaction does not satisfy predefined criteria. For example, in some embodiments, the device determines that the time interval between the time when the user input is received and the time when the corresponding action is taken exceeds a predefined reaction time criterion (e.g., 0.5 second, 1 second, etc.).
[0058] In some embodiments, determining that the system reaction does not satisfy the predefined criteria includes (606) displaying a preset user interface that includes displaying one or more user interface elements (e.g., the user input interface 520 with user interface elements 522 and 524, Figure 5B) and receiving a touch input at a location on the touch-sensitive display that corresponds to one of the one or more user interface elements.
[0059] In response to determining that the system reaction does not satisfy the predefined criteria, the device performs (608) a cleaning process on the portable electronic device. For example, in some embodiments, the device removes at least a subset of buffered data (typically "garbage" as described in detail below) and/or closes one or more application programs.
[0060] In some embodiments, the one or more user interface elements include (610) a first user interface element (e.g., the user interface element 522, Figure 5B), which, when selected, initiates deleting at least a subset of buffered data, and a second user interface element (e.g., the user interface element 524, Figure 5B), which, when selected, initiates closing a plurality of application programs that run in a background of the portable electronic device.
[0061] In some embodiments, determining that the system reaction does not satisfy the predefined criteria includes (612) one or more of: determining that a number of processes running in the portable electronic device exceeds predefined process number criteria prior to, or during, responding to the one or more instructions; and determining that a system reaction time to a respective instruction of the one or more instructions exceeds predefined reaction time criteria. For example, in some embodiments, the device determines that the system reaction does not satisfy the predefined criteria in accordance with a determination that a number of processes running in the device exceeds a predefined number of processes. In some embodiments, the device determines that the system reaction does not satisfy the predefined criteria in accordance with a determination that the reaction time exceeds a predefined reaction time criterion. In some embodiments, the device determines that the system reaction does not satisfy the predefined criteria in accordance with a determination that there are more than a predetermined number of communication channels open on the mobile device. In some embodiments, the device determines that the system reaction does not satisfy the predefined criteria in accordance with a determination that there are more than a predetermined number of processes that have been suspended on the mobile device. In some embodiments, the device determines that the system reaction does not satisfy the predefined criteria in accordance with a determination that there are more than a predetermined number of ghost processes on the mobile device.
[0062] In some embodiments, performing the cleaning process includes (614) performing a predefined garbage collection operation. As used herein, garbage refers to data that has not been used (e.g., accessed) by one or more application programs for more than a predefined time interval. To be more specific, garbage refers to buffered data that has not been used by one or more application programs for more than a predefined time interval. In some embodiments, garbage refers to data that is not accessible by any of active application programs (e.g., in the foreground or in the background). A garbage collection operation refers to removing and/or deleting garbage. In some embodiments, a garbage collection operation refers to releasing memory currently occupied by garbage to be used for storing different data.
[0063] In some embodiments, performing the predefined garbage collection operation includes invoking a command for a garbage collection operation. For example, in some embodiments, an operating system of the device includes a predefined command for the garbage collection operation.
[0064] In some embodiments, performing the cleaning process includes (616) closing two or more application programs that run in a background of the portable electronic device. In some embodiments, closing the two or more application programs includes shutting down the two or more application programs so that the two or more application programs no longer run in the foreground or background. In some embodiments, closing the plurality of application programs includes invoking a command to close a respective application program in the background of the portable electronic device.
[0065] In some embodiments, closing two or more application programs includes (618) identifying the two or more application programs (e.g., all application programs that have not been actively accessed by the user for a predetermined amount of time) from a plurality of application programs that run in the background of the portable electronic device in accordance with predefined application program selection criteria.
[0066] In some embodiments, identifying the two or more application programs from a plurality of application programs that run in the background of the portable electronic device in accordance with the predefined criteria includes identifying two or more application programs, of the plurality of application programs, that have not been used for more than a predefined duration (e.g., 1 hour, 8 hours, 24 hours, etc.). In some embodiments, identifying the two or more application programs from a plurality of application programs that run in the background of the portable electronic device in accordance with the predefined criteria includes excluding one or more most recently used application programs of the plurality of application programs. In some embodiments, identifying the two or more application programs from a plurality of application programs that run in the background of the portable electronic device in accordance with the predefined criteria includes excluding one or more most frequently used application programs of the plurality of application programs.
[0067] In some embodiments, closing two or more application programs includes closing all application programs that currently run on the portable electronic device other than one or more application programs that currently run in the foreground of the portable electronic device. [0068] In some embodiments, after performing the cleaning process on the portable electronic device, the device outputs (620) a result of performing the cleaning process on the portable electronic device. For example, in some embodiments, the device changes a color or shape of a user interface element (e.g., the user interface element 510 in Figure 5B). In some embodiments, the device outputs an audible signal indicating a completion of the cleaning process. In some embodiments, the device displays a message that indicates a completion of the cleaning process. In some embodiments, the device outputs a message that indicates details of the cleaning process. For example the message may include a number of application programs that have been closed and/or an amount of garbage (e.g., in kilobytes or megabytes) that have been deleted.
[0069] Figure 7 is a block diagram of a system 700 for implementing the method of performing a cleaning process, as described above, in accordance with some embodiments. In some embodiments, the system 702 is one of: mobile device, handheld computer, and tablet computer.
[0070] As shown in Figure 7, the system 700 includes one or more processing units (also called herein "processors") 702, memory 704, an input/output (I/O) interface 706, and a network communications interface 708. These components communicate with one another over one or more communication buses or signal lines 710. In some embodiments, the memory 704, or the computer readable storage media of memory 704, stores programs, modules, instructions, and data structures including all or a subset of: an operating system 712, an I/O module 714, a communication module 716, application programs 718, and an operation control module 724. The one or more processors 702 are coupled to the memory 704 and operable to execute these programs, modules, and instructions, and reads/writes from/to the data structures.
[0071] In some embodiments, the processing units 702 include one or more microprocessors, such as a single core or multi-core microprocessor. In some embodiments, the processing units 702 include one or more general purpose processors. In some embodiments, the processing units 702 include one or more special purpose processors.
[0072] In some embodiments, the memory 704 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices. In some embodiments the memory 704 includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. In some embodiments, the memory 704 includes one or more storage devices remotely located from the processing units 702. The memory 704, or alternately the non-volatile memory device(s) within the memory 704, comprises a computer readable storage medium.
[0073] In some embodiments, the I/O interface 706 couples one or more input/output devices, such as displays, a keyboards, touch screens, speakers, and microphones, to the I/O module 714 of the system 700. The I/O interface 706, in conjunction with the I/O module 714, receive user inputs (e.g., voice input, keyboard inputs, touch inputs, etc.) and process them accordingly. The I/O interface 706 and the I/O module 714 also present outputs (e.g., sounds, images, text, etc.) to the user according to various program instructions implemented on the system 700.
[0074] In some embodiments, the network communications interface 708 includes wired communication port(s) and/or wireless transmission and reception circuitry. The wired communication port(s) receive and send communication signals via one or more wired interfaces, e.g., Ethernet, Universal Serial Bus (USB), FIREWIRE, etc. The wireless circuitry receives and sends RF signals and/or optical signals from/to communications networks and other communications devices. The wireless communications may use any of a plurality of communications standards, protocols and technologies, such as GSM, EDGE, CDMA, TDMA, Bluetooth, Wi-Fi, VoIP, Wi-MAX, or any other suitable communication protocol. The network communications interface 708 enables communication between the system 700 with networks, such as the Internet, an intranet and/or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and/or a metropolitan area network (MAN), and other devices. The communications module 716 facilitates communications between the system 700 and other devices (e.g., the first client device and the second client device) over the network communications interface 708.
[0075] In some embodiments, the operating system 702 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and/or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communications between various hardware, firmware, and software components.
[0076] In some embodiments, the system 700 is implemented on a portable electronic device (e.g., a smart phone, a mobile phone, a tablet computer, etc.). It should be noted that the system 700 is only one example, and that the system 700 may have more or fewer components than shown, may combine two or more components, or may have a different configuration or arrangement of the components. The various components shown in Figure 7 may be implemented in hardware, software, firmware, including one or more signal processing and/or application specific integrated circuits, or a combination of thereof.
[0077] In Figure 7, the application programs 718 stored in the memory 704 include one or more foreground application programs 720 and background application programs 722. A foreground application program typically refers to an application program a user interface of which is currently displayed on a display of the system 700. For example, in Figure 5A, when a web browser displays a web page on a touch-sensitive display, the web browser is a foreground application program. In comparison, a background application program typically refers to a currently running application program a user interface of which is not currently displayed on the display of the system. A background application program is distinct from a closed application program that is not running on the system. For example, when the system stores a calendar application program but does not run the calendar application program, the calendar application is deemed to be closed. In comparison, when the system runs the calendar application program but does not display a user interface of the calendar application program, the calendar application program is deemed to be running in the background. Typically, an application program is deemed to be running when at least one process associated with the application program is being executed by one or more processors 702 of the system 700. In some embodiments, the application program is deemed to be running when at least one process associated with the application program is executed at one or more predefined intervals independent of a user input by one or more processors 702 of the system 700.
[0078] As shown in Figure 7, the system 700 stores the operation control module 724 in the memory 704. In some embodiments, the operation control module 724 further includes the followings sub-modules, or a subset or superset thereof: a monitoring module 726, a determining module 728, a cleaning process module 734, and a result outputting module 742. In some embodiments, the determining module 728 includes one or more of: a process number module 730 and a reaction time module 732. In some embodiments, the cleaning process module 734 includes one or more of: a garbage collection module 736 and an application program closing module 738. In some embodiments, the application program closing module 738 includes an application program identifying module 740. In some embodiments, the application program closing module 738 has access to the application programs 718 (e.g., the background application programs 722) stored in the memory 704 and/or one or more predefined commands to close the background application programs 722 in the operating system 712. In some embodiments, the operation control module 724 optionally includes one or more other modules to provide other related functionalities described herein. Details on the structures, functions, and interactions of the operation control module 724 are provided with respect to Figures 1-4, 5A-5B and 6A-6B and accompanying descriptions.
[0079] It should be noted that in the device for processing an application program in the abovementioned embodiments, illustration is only made according to the division of the abovementioned functional modules, and in practical use, the abovementioned functions can be assigned to be implemented by different functional modules as required, i.e., dividing the internal structure of the device into different functional modules to implement all or some of the above-described functions.
[0080] In addition, the device for processing an application program and the method for processing an application program provided in the abovementioned embodiments belong to the same concept, and the specific implementation processes thereof can be made reference to the method embodiments in detail, which will not be described here for brevity.
[0081] The sequence numbers of the abovementioned embodiments of the present invention are merely for description purposes, and do not represent the advantages or disadvantages of the embodiments.
[0082] A person skilled in the art can understand that all or some of the steps of the abovementioned embodiments can be implemented by hardware, and can also be implemented by a program instructing related hardware, and the program can be stored in a computer readable storage medium, and the abovementioned storage medium can be a read-only memory, a magnetic disk, or an optical disk, and so on.
[0083] What are described above are merely exemplary embodiments of the present invention and are not used to limit the scope of claims, and any modifications, equivalent substitutions, improvements and so on made within the spirit and principles of the present invention shall all be deemed to be within the scope of the claims.

Claims

Claims
1. A method performed by a portable electronic device with a touch-sensitive display, the method comprising:
monitoring a system reaction to one or more instructions;
determining that the system reaction does not satisfy predefined criteria; and,
in response determining that the system reaction does not satisfy the predefined criteria, performing a cleaning process on the portable electronic device.
2. The method of claim 1, wherein determining that the system reaction does not satisfy the predefined criteria includes displaying a preset user interface that includes one or more user interface elements and receiving a touch input at a location on the touch-sensitive display that corresponds to one of the one or more user interface elements.
3. The method of claim 2, wherein the one or more user interface elements include a first user interface element, which, when selected, initiates deleting at least a subset of buffered data, and a second user interface element, which, when selected, initiates closing a plurality of application programs that run in a background of the portable electronic device.
4. The method of claim 1, wherein determining that the system reaction does not satisfy the predefined criteria includes one or more of:
determining that a number of processes running in the portable electronic device exceeds predefined process number criteria prior to, or during, responding to the one or more instructions; and
determining that a system reaction time to a respective instruction of the one or more instructions exceeds predefined reaction time criteria.
5. The method of claim 1, wherein performing the cleaning process includes performing a predefined garbage collection operation.
6. The method of claim 1, wherein performing the cleaning process includes closing two or more application programs that run in a background of the portable electronic device.
7. The method of claim 6, wherein closing two or more application programs includes identifying the two or more application programs from a plurality of application programs that run in the background of the portable electronic device in accordance with predefined application program selection criteria.
8. The method of claim 1, including:
after performing the cleaning process on the portable electronic device, outputting a result of performing the cleaning process on the portable electronic device.
9. A portable electronic device, comprising:
a touch-sensitive display;
means for monitoring a system reaction to one or more instructions;
means for determining that the system reaction does not satisfy predefined criteria; and means, enabled in response determining that the system reaction does not satisfy the predefined criteria, for performing a cleaning process on the portable electronic device.
10. The device of claim 9, wherein the means for determining that the system reaction does not satisfy the predefined criteria includes means for displaying a preset user interface that includes one or more user interface elements and receiving a touch input at a location on the touch-sensitive display that corresponds to one of the one or more user interface elements.
11. The device of claim 10, wherein the one or more user interface elements include a first user interface element, which, when selected, initiates deleting at least a subset of buffered data, and a second user interface element, which, when selected, initiates closing a plurality of application programs that run in a background of the portable electronic device.
12. The device of claim 9, wherein the means for determining that the system reaction does not satisfy the predefined criteria includes one or more of:
means for determining that a number of processes running in the portable electronic device exceeds predefined process number criteria prior to, or during, responding to the one or more instructions; and
means determining that a system reaction time to a respective instruction of the one or more instructions exceeds predefined reaction time criteria.
13. The device of claim 9, wherein the means for performing the cleaning process includes means for performing a predefined garbage collection operation.
14. The device of claim 9, wherein the means for performing the cleaning process includes means for closing two or more application programs that run in a background of the portable electronic device.
15. The device of claim 14, wherein the means for closing two or more application programs includes means for identifying the two or more application programs from a plurality of application programs that run in the background of the portable electronic device in accordance with predefined application program selection criteria.
16. The device of claim 9, including:
means, enabled after performing the cleaning process on the portable electronic device, for outputting a result of performing the cleaning process on the portable electronic device.
17. A computer readable storage medium storing one or more programs for execution by one or more processors of a portable electronic device, the one or more programs including instructions for performing any method of claims 1-8.
PCT/CN2013/080100 2012-07-30 2013-07-25 Method and device for performing cleaning process on portable electronic device Ceased WO2014019471A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/040,485 US20140031026A1 (en) 2012-07-30 2013-09-27 Method and device for performing a cleaning process on a portable electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210268074.4A CN103577253B (en) 2012-07-30 2012-07-30 The treating method and apparatus of application program
CN201210268074.4 2012-07-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/040,485 Continuation US20140031026A1 (en) 2012-07-30 2013-09-27 Method and device for performing a cleaning process on a portable electronic device

Publications (1)

Publication Number Publication Date
WO2014019471A1 true WO2014019471A1 (en) 2014-02-06

Family

ID=50027241

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/080100 Ceased WO2014019471A1 (en) 2012-07-30 2013-07-25 Method and device for performing cleaning process on portable electronic device

Country Status (2)

Country Link
CN (1) CN103577253B (en)
WO (1) WO2014019471A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170220395A1 (en) * 2014-09-30 2017-08-03 Beijing Kingsoft Internet Security Software Co., Ltd. Method for processing application and terminal
CN107168791A (en) * 2017-04-13 2017-09-15 北京安云世纪科技有限公司 Terminal Memory Optimize Method, device and mobile terminal under bright screen state
CN110069328A (en) * 2019-03-25 2019-07-30 维沃移动通信有限公司 Using method for closing and terminal device

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461576B (en) * 2014-12-29 2018-06-01 联想(北京)有限公司 A kind of information processing method and electronic equipment
CN105224188B (en) * 2015-09-30 2019-04-12 北京金山安全软件有限公司 Application program package stopping method and device and electronic equipment
CN108521440B (en) * 2018-03-10 2021-02-19 北京酷我科技有限公司 iOS resource monitoring method
CN111966489A (en) * 2020-07-20 2020-11-20 汉海信息技术(上海)有限公司 Memory management method and device, electronic equipment and computer readable storage medium
CN112181515B (en) * 2020-09-18 2024-05-24 Oppo(重庆)智能科技有限公司 Application program control method, device, terminal and storage medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101908022A (en) * 2010-08-13 2010-12-08 优视科技有限公司 A memory management method and device for a mobile communication device terminal
CN102196097A (en) * 2011-05-19 2011-09-21 中兴通讯股份有限公司 Method and device for automatically closing idle programs of mobile communication terminal background
CN102279784A (en) * 2011-08-11 2011-12-14 宇龙计算机通信科技(深圳)有限公司 Electronic equipment and method and system for reminding user of use condition of system resource of electronic equipment
CN102306095A (en) * 2011-07-21 2012-01-04 宇龙计算机通信科技(深圳)有限公司 Application management method and terminal
CN102495761A (en) * 2011-11-11 2012-06-13 中兴通讯股份有限公司 Method and device for closing applications
CN102946486A (en) * 2012-11-20 2013-02-27 惠州Tcl移动通信有限公司 Background application automatic clearing method based on mobile phone and mobile phone
CN102968335A (en) * 2012-10-25 2013-03-13 东莞宇龙通信科技有限公司 Terminal and terminal memory management method
CN103019842A (en) * 2012-11-29 2013-04-03 广东欧珀移动通信有限公司 Background program finishing method and system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7484220B2 (en) * 2004-05-26 2009-01-27 Qualcomm Incorporated Method, software and apparatus for using application state history information when re-launching applications
US7827358B2 (en) * 2007-01-07 2010-11-02 Apple Inc. Memory management methods and systems
CN102262528B (en) * 2010-05-26 2016-06-22 腾讯科技(深圳)有限公司 The method of instant communication client and dragging on embedded webpage thereof
CN102566931B (en) * 2011-12-31 2015-05-20 奇智软件(北京)有限公司 A display method and device for a floating window

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101908022A (en) * 2010-08-13 2010-12-08 优视科技有限公司 A memory management method and device for a mobile communication device terminal
CN102196097A (en) * 2011-05-19 2011-09-21 中兴通讯股份有限公司 Method and device for automatically closing idle programs of mobile communication terminal background
CN102306095A (en) * 2011-07-21 2012-01-04 宇龙计算机通信科技(深圳)有限公司 Application management method and terminal
CN102279784A (en) * 2011-08-11 2011-12-14 宇龙计算机通信科技(深圳)有限公司 Electronic equipment and method and system for reminding user of use condition of system resource of electronic equipment
CN102495761A (en) * 2011-11-11 2012-06-13 中兴通讯股份有限公司 Method and device for closing applications
CN102968335A (en) * 2012-10-25 2013-03-13 东莞宇龙通信科技有限公司 Terminal and terminal memory management method
CN102946486A (en) * 2012-11-20 2013-02-27 惠州Tcl移动通信有限公司 Background application automatic clearing method based on mobile phone and mobile phone
CN103019842A (en) * 2012-11-29 2013-04-03 广东欧珀移动通信有限公司 Background program finishing method and system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170220395A1 (en) * 2014-09-30 2017-08-03 Beijing Kingsoft Internet Security Software Co., Ltd. Method for processing application and terminal
US10509689B2 (en) * 2014-09-30 2019-12-17 Beijing Kingsoft Internet Security Software Co., Ltd. Method for processing application and terminal
CN107168791A (en) * 2017-04-13 2017-09-15 北京安云世纪科技有限公司 Terminal Memory Optimize Method, device and mobile terminal under bright screen state
CN110069328A (en) * 2019-03-25 2019-07-30 维沃移动通信有限公司 Using method for closing and terminal device

Also Published As

Publication number Publication date
CN103577253B (en) 2018-07-20
CN103577253A (en) 2014-02-12

Similar Documents

Publication Publication Date Title
US20140031026A1 (en) Method and device for performing a cleaning process on a portable electronic device
WO2014019471A1 (en) Method and device for performing cleaning process on portable electronic device
US12056341B2 (en) Method, apparatus, and terminal for processing notification information
KR102334950B1 (en) Method and apparatus for managing background application
EP3539076B1 (en) Smart assist for repeated actions
US11711686B2 (en) Method for controlling display of SIM card function menu and storage device for the same
EP3190502A1 (en) Terminal triggering method and relevant device
RU2677393C2 (en) Method and apparatus for providing graphical user interface
US20110061056A1 (en) Portable device and method for providing shortcuts in the portable device
CN104331235A (en) Method and device for switching application activity
EP3128789B1 (en) Method, device and mobile terminal for reducing power consumption
US9164780B2 (en) Method and device for an intelligent control of portable electronic devices
US11507244B2 (en) Window adjustment method, window adjustment device and mobile terminal
CN101996096A (en) Operating system data modification method and its electronic device with multiple operating systems
US20200100234A1 (en) Method and Apparatus for Implementing Mobile Broadband Device Service
CN110989820A (en) Method and device for controlling power consumption of processor, processor and electronic device
CN110362314B (en) Information processing method and device, computer readable medium and electronic equipment
CN115202685B (en) Application updating method, device, electronic equipment and medium
KR101262708B1 (en) mobile communication terminal having an WiFi connect discrimination function and controlling method therefor
WO2023029747A1 (en) Method for implementing single instance function of application, and apparatus
CN117112045A (en) Application startup method, device, electronic device and storage medium
KR102514841B1 (en) Method for selectively providing network capability to each application
CN114237755A (en) Application operating method, apparatus, electronic device, and storage medium
WO2018049760A1 (en) Software updating method and apparatus
CN106919416A (en) The method and device of automation and control network switch

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: IDP00201501099

Country of ref document: ID

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 1205 DATED 09/07/2015)

122 Ep: pct application non-entry in european phase

Ref document number: 13825309

Country of ref document: EP

Kind code of ref document: A1