Patent Description:
With continuous improvement of intelligent terminal performance, most existing intelligent terminals can simultaneously run a plurality of applications (application, APP), and support a user in opening a plurality of application windows for a same application. To manage application windows opened by the user, the existing intelligent terminal provides a multi-task management service. When the user starts the multi-task management service, a terminal device displays, on a multi-task management interface, all the application windows opened by the user.

However, an existing multi-task management service cannot enable the user to intuitively learn, from the multi-task management interface, a quantity of application windows corresponding to an application to which each application window belongs, and cannot enable the user to quickly view, on the multi-task management interface, all application windows corresponding to an application corresponding to a plurality of application windows.

The document <CIT> discloses a multi-task graphical user interface allowing a user to select a particular one from several full screen windows associated to a single running application upon interaction with a task bar.

The document <CIT> illustrates the provision of several application instances in combination with corresponding interaction elements in a number of screen regions.

Further the task manager application of the widely spread Windows <NUM> operating system provides a multi-task management graphical user interface which renders a list of running applications including an actuatable handle which allows to extend the list by hierarchically indicating all the processes associated to an individual application.

This application provides an application window management method, a terminal device, and a computer-readable storage medium, to resolve a problem that an existing multi-task management service cannot enable a user to intuitively learn, from a multi-task management interface, a quantity of application windows corresponding to an application to which each application window belongs, and cannot enable the user to quickly view, on the multi-task management interface, all application windows corresponding to an application corresponding to a plurality of application windows.

The present invention is defined by the independent claims and various embodiments are disclosed in the dependent claims, the description, and the drawings.

To describe the technical solutions in embodiments of this application more clearly, the following briefly describes the accompanying drawings for describing embodiments or the conventional technology. It is clear that the accompanying drawings in the following description merely show some embodiments of this application, and a person of ordinary skill in the art can derive other drawings from these accompanying drawings without creative efforts.

In the following description, for illustration instead of limitation, specific details such as a particular system structure and a technology are provided to facilitate a thorough understanding of embodiments of this application. However, a person skilled in the art should know that this application may also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, apparatuses, circuits, and methods are omitted, so that this application is described without being obscured by unnecessary details.

It should be understood that, when used in the specification and the appended claims of this application, the term "include" indicates presence of the described features, entireties, steps, operations, elements, and/or components, but does not exclude presence or addition of one or more other features, entireties, steps, operations, elements, components, and/or sets thereof.

It should also be understood that the term "and/or" used in the specification and the appended claims of this application refers to any combination and all possible combinations of one or more associated listed items, and includes these combinations.

As used in the specification and the appended claims of this application, according to the context, the term "if" may be interpreted as "when" or "once" or "in response to determining" or "in response to detecting". Similarly, according to the context, the phrase "if it is determined that" or "if (a described condition or event) is detected" may be interpreted as a meaning of "once it is determined that" or "in response to determining" or "once (a described condition or event) is detected" or "in response to detecting (a described condition or event)".

In addition, in the specification and the appended claims of this application, the terms "first", "second", "third", and the like are merely used for distinguishing description, and shall not be understood as an indication or implication of relative importance.

Reference to "an embodiment", "some embodiments", or the like described in the specification of this application indicates that one or more embodiments of this application include a specific feature, structure, or characteristic described with reference to the embodiments. Therefore, in this specification, statements, such as "in an embodiment", "in some embodiments", "in some other embodiments", and "in other embodiments", that appear at different places do not necessarily mean reference to a same embodiment, instead, they mean "one or more but not all of the embodiments", unless otherwise specifically emphasized. The terms "include", "comprise", "have", and their variants all mean "include but are not limited to", unless otherwise specifically emphasized.

The application window management method provided in embodiments of this application is applicable to a terminal device. The terminal device may be a mobile terminal, for example, a mobile phone, a tablet computer, a laptop, a desktop computer, a vehicle-mounted device, an augmented reality (augmented reality, AR)/virtual reality (virtual reality, VR) device, an ultra-mobile personal computer (ultra-mobile personal computer, UMPC), a netbook computer, or a personal digital assistant (personal digital assistant, PDA). A specific type of the terminal device is not specially limited in embodiments of this application.

<FIG> is a schematic diagram of a hardware structure of a terminal device to which an application window management method is applied according to an embodiment of this application. Specifically, a terminal device <NUM> may include a processor <NUM>, an external memory interface <NUM>, an internal memory <NUM>, a universal serial bus (universal serial bus, USB) port <NUM>, a charging management module <NUM>, a power management module <NUM>, a battery <NUM>, an antenna <NUM>, an antenna <NUM>, a mobile communication module <NUM>, a wireless communication module <NUM>, an audio module <NUM>, a speaker 170A, a receiver 170B, a microphone 170C, a headset jack 170D, a sensor module <NUM>, a button <NUM>, a motor <NUM>, an indicator <NUM>, a camera <NUM>, a display <NUM>, a subscriber identification module (subscriber identification module, SIM) card interface <NUM>, and the like. The sensor module <NUM> may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, an optical proximity sensor <NUM>, a fingerprint sensor <NUM>, a temperature sensor 180J, a touch sensor <NUM>, an ambient light sensor <NUM>, a bone conduction sensor <NUM>, and the like.

It can be understood that, a structure illustrated in this embodiment of this application does not constitute a specific limitation on the terminal device <NUM>. In some other embodiments of this application, the terminal device <NUM> may include more or fewer parts than those shown in the figure, or combine some parts, or split some parts, or have different component arrangements. The components shown in the figure may be implemented by hardware, software, or a combination of software and hardware.

The processor <NUM> may include one or more processing units. For example, the processor <NUM> may include an application processor (application processor, AP), a modem processor, a graphics processing unit (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), a controller, a video codec, a digital signal processor (digital signal processor, DSP), a baseband processor, a neural-network processing unit (neural-network processing unit, NPU), and/or the like. Different processing units may be independent devices, or may be integrated into one or more processors.

The controller may generate an operation control signal based on instruction operation code and a time sequence signal, to complete control of instruction reading and instruction execution.

A memory may be further disposed in the processor <NUM>, and is configured to store instructions and data. In some embodiments, the memory in the processor <NUM> is a cache memory. The memory may store instructions or data that has been used or cyclically used by the processor <NUM>. If the processor <NUM> needs to use the instructions or the data again, the processor may directly invoke the instructions or the data from the memory. This avoids repeated access, reduces waiting time of the processor <NUM>, and improves system efficiency.

The interface may include an inter-integrated circuit (inter-integrated circuit, I2C) interface, an inter-integrated circuit sound (inter-integrated circuit sound, I2S) interface, a pulse code modulation (pulse code modulation, PCM) interface, a universal asynchronous receiver/transmitter (universal asynchronous receiver/transmitter, UART) interface, a mobile industry processor interface (mobile industry processor interface, MIPI), a general-purpose input/output (general-purpose input/output, GPIO) interface, a subscriber identity module (subscriber identity module, SIM) interface, a universal serial bus (universal serial bus, USB) port, and/or the like.

The I2C interface is a two-way synchronization serial bus, and includes one serial data line (serial data line, SDA) and one serial clock line (serial clock line, SCL). In some embodiments, the processor <NUM> may include a plurality of groups of I2C buses. The processor <NUM> may be separately coupled to the touch sensor <NUM>, a charger, a flash, the camera <NUM>, and the like through different I2C bus interfaces. For example, the processor <NUM> may be coupled to the touch sensor <NUM> through an I2C interface, so that the processor <NUM> communicates with the touch sensor <NUM> through the I2C bus interface to implement a touch function of the terminal device <NUM>.

The I2S interface may be configured to perform audio communication. In some embodiments, the processor <NUM> may include a plurality of groups of I2S buses. The processor <NUM> may be coupled to the audio module <NUM> through the I2S bus, to implement communication between the processor <NUM> and the audio module <NUM>. In some embodiments, the audio module <NUM> may transmit an audio signal to a wireless communication module <NUM> through the I2S interface, to implement a function of answering a call through a Bluetooth headset.

The PCM interface may also be used to perform audio communication, and sample, quantize, and code an analog signal. In some embodiments, the audio module <NUM> may be coupled to the wireless communication module <NUM> through a PCM bus interface. In some embodiments, the audio module <NUM> may also transmit an audio signal to the wireless communication module <NUM> through the PCM interface, to implement a function of answering a call through a Bluetooth headset. Both the I2S interface and the PCM interface may be used for audio communication.

The UART interface is a universal serial data bus, and is configured to perform asynchronous communication. The bus may be a two-way communication bus. The bus converts to-be-transmitted data between serial communication and parallel communication. In some embodiments, the UART interface is usually configured to connect the processor <NUM> to the wireless communication module <NUM>. For example, the processor <NUM> communicates with a Bluetooth module in the wireless communication module <NUM> through the UART interface, to implement a Bluetooth function. In some embodiments, the audio module <NUM> may transmit an audio signal to the wireless communication module <NUM> through the UART interface, to implement a function of playing music through a Bluetooth headset.

The MIPI may be configured to connect the processor <NUM> to peripheral components such as the display <NUM> and the camera <NUM>. The MIPI includes a camera serial interface (camera serial interface, CSI), a display serial interface (display serial interface, DSI), and the like. In some embodiments, the processor <NUM> communicates with the camera <NUM> through the CSI interface, to implement a photographing function of the terminal device <NUM>. The processor <NUM> communicates with the display <NUM> through the DSI interface, to implement a display function of the terminal device <NUM>.

The GPIO interface may be configured by software. The GPIO interface may be configured as a control signal or a data signal. In some embodiments, the GPIO interface may be configured to connect the processor <NUM> to the camera <NUM>, the display <NUM>, the wireless communication module <NUM>, the audio module <NUM>, the sensor module <NUM>, or the like. The GPIO interface may alternatively be configured as an I2C interface, an I2S interface, a UART interface, an MIPI, or the like.

The USB port <NUM> is an interface that conforms to a USB standard specification, and may be specifically a mini-USB port, a micro-USB port, a USB Type C port, or the like. The USB port <NUM> may be used to connect to the charger to charge the terminal device <NUM>, or may be used to transmit data between the terminal device <NUM> and a peripheral device, or may be configured to connect to a headset for playing audio through the headset. The interface may be further configured to connect to another electronic device, for example, an AR device.

It can be understood that an interface connection relationship between the modules illustrated in this embodiment of this application is merely an example for description, and does not constitute a limitation on the structure of the terminal device <NUM>. In some other embodiments of this application, the terminal device <NUM> may alternatively use different interface connection manners in the foregoing embodiments or a combination of a plurality of interface connection manners.

The charging management module <NUM> is configured to receive a charging input from the charger. The charger may be a wireless charger or a wired charger. In some embodiments of wired charging, the charging management module <NUM> may receive charging input from a wired charger through the USB port <NUM>. In some embodiments of wireless charging, the charging management module <NUM> may receive wireless charging input by using a wireless charging coil of the terminal device <NUM>. The charging management module <NUM> supplies power to the electronic device through the power management module <NUM> while charging the battery <NUM>.

The power management module <NUM> is configured to connect to the battery <NUM>, the charging management module <NUM>, and the processor <NUM>. The power management module <NUM> receives an input from the battery <NUM> and/or the charging management module <NUM>, and supplies power to the processor <NUM>, the internal memory <NUM>, the display <NUM>, the camera <NUM>, the wireless communication module <NUM>, and the like. The power management module <NUM> may be configured to monitor parameters such as a battery capacity, a battery cycle count, and a battery state of health (electric leakage or impedance). In some other embodiments, the power management module <NUM> may alternatively be disposed in the processor <NUM>. In some other embodiments, the power management module <NUM> and the charging management module <NUM> may alternatively be disposed in a same device.

A wireless communication function of the terminal device <NUM> may be implemented by using the antenna <NUM>, the antenna <NUM>, the mobile communication module <NUM>, the wireless communication module <NUM>, the modem processor, the baseband processor, and the like.

The antenna <NUM> and the antenna <NUM> are configured to transmit and receive an electromagnetic wave signal. Each antenna in the terminal device <NUM> may be configured to cover one or more communication frequency bands. Different antennas may be further multiplexed, to improve antenna utilization. For example, the antenna <NUM> may be multiplexed as a diversity antenna of a wireless local area network. In some other embodiments, the antenna may be used in combination with a tuning switch.

The mobile communication module <NUM> may provide a wireless communication solution applied to the terminal device <NUM>, including <NUM>, <NUM>, <NUM>, <NUM>, or the like. The mobile communication module <NUM> may include at least one filter, a switch, a power amplifier, a low noise amplifier (low noise amplifier, LNA), and the like. The mobile communication module <NUM> may receive an electromagnetic wave through the antenna <NUM>, perform processing such as filtering or amplification on the received electromagnetic wave, and transmit the electromagnetic wave to the modem processor for demodulation. The mobile communication module <NUM> may further amplify a signal modulated by the modem processor, and convert the signal into an electromagnetic wave for radiation through the antenna <NUM>. In some embodiments, at least some functional modules in the mobile communication module <NUM> may be disposed in the processor <NUM>. In some embodiments, at least some functional modules in the mobile communication module <NUM> may be disposed in a same device as at least some modules of the processor <NUM>.

The modem processor may include a modulator and a demodulator. The modulator is configured to modulate a to-be-sent low-frequency baseband signal into a medium-high frequency signal. The demodulator is configured to demodulate a received electromagnetic wave signal into a low-frequency baseband signal. Then, the demodulator transmits the low-frequency baseband signal obtained through demodulation to the baseband processor for processing. The low-frequency baseband signal is processed by the baseband processor and then transmitted to the application processor. The application processor outputs a sound signal by an audio device (which is not limited to the speaker 170A, the receiver 170B, or the like), or displays an image or a video by the display <NUM>. In some embodiments, the modem processor may be an independent component. In some other embodiments, the modem processor may be independent of the processor <NUM>, and is disposed in a same device as a mobile communication module <NUM> or another functional module.

The wireless communication module <NUM> may provide a wireless communication solution that includes a wireless local area network (wireless local area network, WLAN) (for example, a wireless fidelity (wireless fidelity, Wi-Fi) network), Bluetooth (Bluetooth, BT), a global navigation satellite system (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), a near field communication (near field communication, NFC) technology, an infrared (infrared, IR) technology, or the like and that is applied to the terminal device <NUM>. The wireless communication module <NUM> may be one or more components integrating at least one communication processor module. The wireless communication module <NUM> receives an electromagnetic wave through the antenna <NUM>, performs frequency modulation and filtering processing on an electromagnetic wave signal, and sends a processed signal to the processor <NUM>. The wireless communication module <NUM> may further receive a to-be-sent signal from the processor <NUM>, perform frequency modulation and amplification on the signal, and convert the signal into an electromagnetic wave for radiation through the antenna <NUM>.

In some embodiments, the antenna <NUM> of the terminal device <NUM> is coupled to the mobile communication module <NUM>, and the antenna <NUM> thereof is coupled to the wireless communication module <NUM>, so that the terminal device <NUM> can communicate with a network and another device by using a wireless communication technology. The wireless communication technology may include a global system for mobile communications (global system for mobile communications, GSM), a general packet radio service (general packet radio service, GPRS), code division multiple access (code division multiple access, CDMA), wideband code division multiple access (wideband code division multiple access, WCDMA), time-division code division multiple access (time-division code division multiple access, TD-CDMA), long term evolution (long term evolution, LTE), BT, a GNSS, a WLAN, NFC, FM, an IR technology, and/or the like. The GNSS may include a global positioning system (global positioning system, GPS), a global navigation satellite system (global navigation satellite system, GNSS), a BeiDou navigation satellite system (BeiDou navigation satellite system, BDS), a quasi-zenith satellite system (quasi-zenith satellite system, QZSS), and/or a satellite based augmentation system (satellite based augmentation system, SBAS).

The terminal device <NUM> implements a display function by using the GPU, the display <NUM>, the application processor, and the like. The GPU is a microprocessor for image processing, and is connected to the display <NUM> and the application processor. The GPU is configured to perform mathematical and geometric computation, and render an image. The processor <NUM> may include one or more GPUs, which execute a program instruction to generate or change display information.

The display <NUM> is configured to display an image, a video, and the like. The display <NUM> includes a display panel. The display panel may be a liquid crystal display (liquid crystal display, LCD), an organic light-emitting diode (organic light-emitting diode, OLED), an active-matrix organic light-emitting diode (active-matrix organic light-emitting diode, AMOLED), a flexible light-emitting diode (flexible light-emitting diode, FLED), a mini-LED, a micro-LED, a micro-OLED, a quantum dot light-emitting diode (quantum dot light-emitting diode, QLED), or the like. In some embodiments, the terminal device <NUM> may include one or N displays <NUM>, where N is a positive integer greater than <NUM>.

The terminal device <NUM> may implement a photographing function by using the ISP, the camera <NUM>, the video codec, the GPU, the display <NUM>, the application processor, and the like.

The ISP may be configured to process data fed back by the camera <NUM>. For example, during photographing, a shutter is pressed, and light is transmitted to a photosensitive element of the camera through a lens. An optical signal is converted into an electrical signal, and the photosensitive element of the camera transmits the electrical signal to the ISP for processing, to convert the electrical signal into a visible image. The ISP may further perform algorithm optimization on noise, brightness, and complexion of the image. The ISP may further optimize parameters such as exposure and a color temperature of a photographing scenario. In some embodiments, the ISP may be disposed in the camera <NUM>.

The camera <NUM> may be configured to capture a static image or a video. An optical image of an object is generated through the lens, and is projected onto the photosensitive element. The photosensitive element may be a charge coupled device (charge coupled device, CCD) or a complementary metal-oxide-semiconductor (complementary metal-oxide-semiconductor, CMOS) phototransistor. The light-sensitive element converts an optical signal into an electrical signal, and then transmits the electrical signal to the ISP to convert the electrical signal into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard format, for example, RGB or YUV. In some embodiments, the terminal device <NUM> may include one or N cameras <NUM>, where N is a positive integer greater than <NUM>.

The digital signal processor is configured to process a digital signal, and may process another digital signal in addition to the digital image signal. For example, when the terminal device <NUM> selects a frequency, the digital signal processor is configured to perform Fourier transform on frequency energy.

The video codec is configured to compress or decompress a digital video. The terminal device <NUM> may support one or more types of video codecs. In this way, the terminal device <NUM> may play or record videos in a plurality of coding formats, for example, moving picture experts group (moving picture experts group, MPEG)-<NUM>, MPEG-<NUM>, MPEG-<NUM>, and MPEG-<NUM>.

The NPU is a neural-network (neural-network, NN) processing unit. The NPU quickly processes input information by referring to a structure of a biological neural network, for example, a transfer mode between human brain neurons, and may further continuously perform self-learning. Applications such as intelligent cognition of the terminal device <NUM>, for example, image recognition, facial recognition, speech recognition, and text understanding, can be implemented by using the NPU.

The external memory interface <NUM> may be configured to connect to an external memory card, for example, a micro-SD card, to extend a storage capability of the terminal device <NUM>. The external memory card communicates with the processor <NUM> through the external memory interface <NUM>, to implement a data storage function. For example, files such as music and videos are stored in the external memory card.

The internal memory <NUM> may be configured to store computer-executable program code. The executable program code includes instructions. The internal memory <NUM> may include a program storage area and a data storage area. The program storage area may store an operating system, an application required by at least one function (for example, a voice playing function or an image playing function), and the like. The data storage area may store data (for example, audio data or a phone book) created in a process of using the terminal device <NUM>. In addition, the internal memory <NUM> may include a high speed random access memory, or may include a nonvolatile memory, for example, at least one magnetic disk storage device, a flash memory, or a universal flash storage (universal flash storage, UFS). The processor <NUM> performs various function applications and data processing of the terminal device <NUM> by running the instructions stored in the internal memory <NUM> and/or the instructions stored in the memory disposed in the processor.

The terminal device <NUM> may implement audio functions such as music playing and recording through the audio module <NUM>, the speaker 170A, the receiver 170B, the microphone 170C, the headset jack 170D, the application processor, and the like.

The audio module <NUM> is configured to convert digital audio information into an analog audio signal for output, and is also configured to convert analog audio input into a digital audio signal. The audio module <NUM> may be further configured to encode and decode an audio signal. In some embodiments, the audio module <NUM> may be disposed in the processor <NUM>, or some functional modules in the audio module <NUM> are disposed in the processor <NUM>.

The speaker 170A, also referred to as a "loudspeaker", is configured to convert an audio electrical signal into a sound signal. The terminal device <NUM> may listen to music or answer a call in a hands-free mode over the speaker 170A.

The receiver 170B, also referred to as an "earpiece", is configured to convert an audio electrical signal into a sound signal. When a call is answered or voice information is received through the terminal device <NUM>, the receiver 170B may be put close to a human ear to listen to a voice.

The microphone 170C, also referred to as a "mike" or a "mic", is configured to convert a sound signal into an electrical signal. When making a call or sending voice information, a user may make a sound near the microphone 170C through the mouth, to input a sound signal to the microphone 170C. At least one microphone 170C may be disposed in the terminal device <NUM>. In some other embodiments, two microphones 170C may be disposed in the terminal device <NUM>, to collect a sound signal and further implement a noise reduction function. In some other embodiments, three, four, or more microphones 170C may alternatively be disposed in the terminal device <NUM>, to collect a sound signal, implement noise reduction, and identify a sound source, to implement a directional recording function and the like.

The headset jack 170D is configured to connect to a wired headset. The headset jack 170D may be a USB port <NUM>, or may be a <NUM> open mobile terminal platform (open mobile terminal platform, OMTP) standard interface or cellular telecommunications industry association of the USA (cellular telecommunications industry association of the USA, CTIA) standard interface.

The pressure sensor 180A is configured to sense a pressure signal, and can convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A may be disposed on the display <NUM>. There are a plurality of types of pressure sensors 180A such as a resistive pressure sensor, an inductive pressure sensor, and a capacitive pressure sensor. The capacitive pressure sensor may include at least two parallel plates made of conductive materials. When force is applied to the pressure sensor 180A, capacitance between electrodes changes. The terminal device <NUM> determines pressure strength based on a capacitance change. When a touch operation is performed on the display <NUM>, the terminal device <NUM> detects strength of the touch operation by using the pressure sensor 180A. The terminal device <NUM> may further calculate a touch position based on a detection signal of the pressure sensor 180A. In some embodiments, touch operations that are performed in a same touch location but have different touch operation intensity may correspond to different operation instructions. For example, when a touch operation whose touch operation intensity is less than a first pressure threshold is performed on an SMS message application icon, an instruction for viewing an SMS message is performed. When a touch operation whose touch operation intensity is greater than or equal to the first pressure threshold is performed on the SMS message application icon, an instruction for creating a new SMS message is performed.

The gyroscope sensor 180B may be configured to determine a motion posture of the terminal device <NUM>. In some embodiments, angular velocities of the terminal device <NUM> around three axes (namely, x, y, and z axes) may be determined by using the gyroscope sensor 180B. The gyroscope sensor 180B may be configured to implement image stabilization during photographing. For example, when the shutter is pressed, the gyroscope sensor 180B detects an angle at which the terminal device <NUM> jitters, calculates, based on the angle, a distance for which a lens module needs to compensate, and allows the lens to cancel the jitter of the terminal device <NUM> through reverse motion, to implement image stabilization. The gyroscope sensor 180B may also be used in a navigation scenario and a somatic game scenario.

The barometric pressure sensor 180C is configured to measure barometric pressure. In some embodiments, the terminal device <NUM> calculates an altitude by using a barometric pressure value measured by the barometric pressure sensor 180C, to assist in positioning and navigation.

The magnetic sensor 180D includes a Hall effect sensor. The terminal device <NUM> may detect opening and closing of a flip cover by using the magnetic sensor 180D. In some embodiments, when the terminal device <NUM> is a flip phone, the terminal device <NUM> may detect opening and closing of a flip cover based on the magnetic sensor 180D. Further, a feature such as automatic unlocking upon opening of the flip cover is set based on a detected opening or closing state of the flip cover.

The acceleration sensor 180E may detect accelerations in various directions (usually on three axes) of the terminal device <NUM>. A magnitude and a direction of gravity may be detected when the terminal device <NUM> is stationary. The acceleration sensor 180E may be further configured to identify a posture of the electronic device, and is used in an application such as switching between a landscape mode and a portrait mode or a pedometer.

The distance sensor 180F is configured to measure a distance. The terminal device <NUM> may measure a distance by using infrared light or a laser. In some embodiments, in a photographing scenario, the terminal device <NUM> may measure a distance by using the distance sensor 180F, to implement fast focusing.

The optical proximity sensor <NUM> may include, for example, a light-emitting diode (LED) and an optical detector, for example, a photodiode. The light-emitting diode may be an infrared light-emitting diode. The terminal device <NUM> emits infrared light outward by using the light-emitting diode. The terminal device <NUM> detects infrared reflected light from a nearby object by using the photodiode. When sufficient reflected light is detected, the terminal device <NUM> may determine that there is an object near the terminal device <NUM>. When insufficient reflected light is detected, the terminal device <NUM> may determine that there is no object near the terminal device <NUM>. The terminal device <NUM> may detect, by using the optical proximity sensor <NUM>, that the user holds the terminal device <NUM> close to an ear for a call, to automatically turn off a screen for power saving. The optical proximity sensor <NUM> may also be used for automatic screen unlocking and locking in a smart cover mode or a pocket mode.

The ambient light sensor <NUM> is configured to sense ambient light brightness. The terminal device <NUM> may adaptively adjust brightness of the display <NUM> based on the sensed ambient light brightness. The ambient light sensor <NUM> may also be configured to automatically adjust white balance during photographing. The ambient light sensor <NUM> may further cooperate with the optical proximity sensor <NUM> to detect whether the terminal device <NUM> is in a pocket, to prevent accidental touch.

The fingerprint sensor <NUM> is configured to collect a fingerprint. The terminal device <NUM> may use a feature of the collected fingerprint to implement fingerprint-based unlocking, application lock access, fingerprint-based photographing, fingerprint-based call answering, and the like.

The temperature sensor 180J is configured to detect a temperature. In some embodiments, the terminal device <NUM> executes a temperature processing policy by using the temperature detected by the temperature sensor 180J. For example, when the temperature reported by the temperature sensor 180J exceeds a threshold, the terminal device <NUM> reduces performance of a processor located near the temperature sensor 180J, to reduce power consumption and implement heat protection. In some other embodiments, when the temperature is lower than another threshold, the terminal device <NUM> heats the battery <NUM>, to avoid abnormal shutdown of the terminal device <NUM> caused by a low temperature. In some other embodiments, when the temperature is lower than still another threshold, the terminal device <NUM> boosts an output voltage of the battery <NUM>, to avoid abnormal shutdown caused by a low temperature.

The touch sensor <NUM> is also referred to as a "touch component". The touch sensor <NUM> may be disposed on the display <NUM>, and the touch sensor <NUM> and the display <NUM> constitute a touchscreen, which is also referred to as a "touch screen". The touch sensor <NUM> is configured to detect a touch operation performed on or near the touch sensor. The touch sensor may transfer the detected touch operation to the application processor to determine a type of the touch event. A visual output related to the touch operation may be provided through the display <NUM>. In some other embodiments, the touch sensor <NUM> may alternatively be disposed on a surface of the terminal device <NUM> at a location different from a location of the display <NUM>.

The bone conduction sensor <NUM> may obtain a vibration signal. In some embodiments, the bone conduction sensor <NUM> may obtain a vibration signal of a vibration bone of a human vocal-cord part. The bone conduction sensor <NUM> may also be in contact with a body pulse to receive a blood pressure beating signal. In some embodiments, the bone conduction sensor <NUM> may also be disposed in the headset, to obtain a bone conduction headset. The audio module <NUM> may obtain a speech signal through parsing based on the vibration signal that is of the vibration bone of the vocal-cord part and that is obtained by the bone conduction sensor <NUM>, to implement a speech function. The application processor may parse heart rate information based on the blood pressure beating signal obtained by the bone conduction sensor <NUM>, to implement a heart rate detection function.

The button <NUM> includes a power button, a volume button, and the like. The button <NUM> may be a mechanical button, or may be a touch button. The terminal device <NUM> may receive button input, and generate button signal input related to a user setting and function control of the terminal device <NUM>.

The motor <NUM> may generate a vibration prompt. The motor <NUM> may be configured to provide an incoming call vibration prompt and a touch vibration feedback. For example, touch operations performed on different applications (for example, photographing and audio playback) may correspond to different vibration feedback effects. For touch operations performed on different areas of the display <NUM>, the motor <NUM> may also correspond to different vibration feedback effects. Different application scenarios (for example, a time reminder, information receiving, an alarm clock, and a game) may also correspond to different vibration feedback effects. A touch vibration feedback effect may be further customized.

The SIM card interface <NUM> is configured to connect to a SIM card. The SIM card may be inserted into the SIM card interface <NUM> or removed from the SIM card interface <NUM>, to implement contact with or separation from the terminal device <NUM>. The terminal device <NUM> may support one or N SIM card interfaces, where N is a positive integer greater than <NUM>. The SIM card interface <NUM> may support a nano-SIM card, a micro-SIM card, a SIM card, and the like. A plurality of cards may be inserted into a same SIM card interface <NUM> at the same time. The plurality of cards may be of a same type or different types. The SIM card interface <NUM> may be compatible with different types of SIM cards. The SIM card interface <NUM> is also compatible with an external memory card. The terminal device <NUM> interacts with a network through the SIM card, to implement functions such as calling and data communication. In some embodiments, the terminal device <NUM> uses an eSIM card, namely, an embedded SIM card. The eSIM card may be embedded in the terminal device <NUM>, and cannot be separated from the terminal device <NUM>.

A software system of the terminal device <NUM> may use a layered architecture, an event-driven architecture, a microkernel architecture, a microservice architecture, or a cloud architecture. In this embodiment of this application, an Android system with a layered architecture is used as an example to describe a software structure of the terminal device <NUM>.

<FIG> is a block diagram of a software structure of a terminal device to which an application window management method is applied according to an embodiment of this application. As shown in <FIG>, a layered architecture divides software into several layers, each with a clear role and division of labor. The layers communicate with each other through a software interface. In some embodiments, the Android system is divided into four layers: an application layer, an application framework layer, an Android runtime (Android runtime) and system library, and a kernel layer from top to bottom.

As shown in <FIG>, the application packages may include applications such as Camera, Mailbox, Calendar, WeChat, Maps, WPS, WLAN, Bluetooth, Music, Videos, and Messages.

The application framework layer provides an application programming interface (application programming interface, API) and a programming framework to an application at the application layer.

The window manager is configured to manage a window program. The window manager may obtain a size of the display, determine whether there is a status bar, perform screen locking, take a screenshot, and the like.

The content provider is configured to store and obtain data, and enable the data to be accessed by an application. The data may include a video, an image, audio, calls that are made and answered, a browsing history and bookmarks, an address book, and the like.

The view system includes visual controls such as a control for displaying a text and a control for displaying an image. The view system may be configured to construct an application. A display interface may include one or more views. For example, a display interface including an SMS message notification icon may include a text display view and an image display view.

The phone manager is configured to provide a communication function of the terminal device <NUM>, for example, management of call statuses (including answering, declining, and the like).

The resource manager provides various resources such as a localized character string, an icon, an image, a layout file, and a video file for an application.

The notification manager enables an application to display notification information in a status bar, and may be configured to convey a notification message. The notification manager may automatically disappear after a short pause without requiring a user interaction. For example, the notification manager is configured to notify download completion, give a message notification, and the like. The notification manager may alternatively be a notification that appears in a top status bar of the system in a form of a graph or a scroll bar text, for example, a notification of an application that is run on a background, or may be a notification that appears on the screen in a form of a dialog window. For example, text information is prompted in the status bar, a prompt tone is produced, the terminal device vibrates, or an indicator light blinks.

The Android runtime includes a core library and a virtual machine.

The core library includes two parts: a function that needs to be invoked in java language, and a core library of Android.

The application layer and the application framework layer run on the virtual machine. The virtual machine executes java files of the application layer and the application framework layer as binary files. The virtual machine is configured to implement functions such as object lifecycle management, stack management, thread management, security and exception management, and garbage collection.

The system library may include a plurality of functional modules, for example, a surface manager (surface manager), a media library (Media Library), a three-dimensional graphics processing library (for example, OpenGL ES), and a two-dimensional graphics engine (for example, SGL).

The media library supports playback and recording in a plurality of commonly used audio and video formats, and static image files. The media library may support a plurality of audio and video coding formats, for example, MPEG-<NUM>, H. <NUM>, MP3, AAC, AMR, JPG, and PNG.

The three-dimensional graphics processing library is configured to implement three-dimensional graphics drawing, image rendering, compositing, layer processing, and the like.

The two-dimensional graphics engine is a drawing engine for 2D drawing.

First, a multi-task management service in embodiments of this application is described.

The multi-task management service is used to manage and display an application window corresponding to an application in a running state. The application in a running state may include but is not limited to an application running in a foreground and an application running in a background. The application window corresponding to the application in a running state is an application window that is opened by a user and that is of the application.

It should be noted that in embodiments of this application, a terminal device supports the user in opening a plurality of application windows for a same application. When the user opens a plurality of application windows of an application, the plurality of application windows may be respectively used to display different content of the application, or may be used to display same content of the application. A memo is used as an example, when the user creates a plurality of pieces of different memo information in the memo, to help the user view the plurality of pieces of memo information at the same time, the user may open a plurality of application windows of the memo, so that different memo information is displayed in different application windows of the memo. In this way, the user may view different memo information by switching different application windows of the memo.

In embodiments of this application, when at least two application windows of an application are opened by the user, the terminal device may mark the application as a first application. When only one application window of an application is opened by the user, the terminal device may mark the application as a second application. An application window opened by the user may include but is not limited to an application window opened by the user in a mode of full screen, split screen, a floating box, a floating ball, or the like.

An existing Android system, an IOS system, a Windows system, and the like each provide a multi-task management service. When the multi-task management service is started by a user, a multi-task management interface is displayed, and all application windows corresponding to all applications in a running state are displayed on the multi-task management interface. In this way, when an application includes a plurality of application windows, if the user wants to search, on the multi-task management interface, for one of the application windows corresponding to the application, the user needs to search, one by one, all the application windows displayed on the multi-task management interface, and therefore, search efficiency is relatively low.

For the foregoing defects in the multi-task management services provided by the existing Android system, IOS system, and Windows system, an embodiment of this application provides an application window management method, so that a user can intuitively learn, from a multi-task management interface, a quantity of application windows corresponding to an application to which each application window belongs. This helps the user quickly view, on the multi-task management interface, all application windows corresponding to an application corresponding to a plurality of application windows.

It should be noted that a software system to which the application window management method provided in this embodiment of this application is applicable includes but is not limited to an Android system, an IOS system, and a Windows system. In this embodiment of this application, the Android system is used as an example to describe the application window management method.

<FIG> is a schematic flowchart of an application window management method according to an embodiment of this application. As shown in <FIG>, the application window management method may include S31 to S33. Details are as follows:.

S31: Display, on a multi-task management interface, an application window corresponding to an application in a running state.

In this embodiment of this application, when a user wants to view an application window opened by the user, the user may control, by starting a multi-task management service of a terminal device, the terminal device to open the multi-task management interface.

In some embodiments of this application, the user may control, by triggering an entry of the multi-task management service, the terminal device to open the multi-task management interface. In some specific implementations, the entry of the multi-task management service may be an application icon, the application icon may be displayed at a location such as a taskbar or a desktop of the terminal device, and the user may control, by tapping the application icon, the terminal device to open the multi-task management interface. In some other specific implementations, the entry of the multi-task management service may alternatively be a floating ball, a floating window, or the like for the multi-task management service. The floating ball or the floating window may be displayed on any display interface of the terminal device in a floating manner. The user may control, by tapping the floating ball or the floating window, the terminal device to open the multi-task management interface.

In some other embodiments of this application, the user may further control, by triggering a preset shortcut key corresponding to the multi-task management service, the terminal device to open the multi-task management interface. The preset shortcut key may be a physical key or a virtual key. The preset shortcut key may be one key, or may be a combination of at least two keys. When the preset shortcut key is a key, triggering the preset key may include but is not limited to tapping/single tapping the key, double tapping the key, pressing the key heavily, pressing and holding the key, or the like. When the preset shortcut key is a combination of at least two keys, triggering the preset key may include but is not limited to simultaneously pressing or simultaneously tapping the at least two keys, or the like.

In still some embodiments of this application, the user may further control, by executing a preset shortcut gesture corresponding to the multi-task management service, the terminal device to open the multi-task management interface. The preset shortcut gesture may be a touch gesture for a display interface. For example, the preset shortcut gesture may be a swipe-up gesture starting from the bottom of the display interface.

In this embodiment of this application, when opening the multi-task management interface, the terminal device may display, on the multi-task management interface, the application window corresponding to the application in a running state.

In specific implementation, the terminal device may display, on the multi-task management interface in the following at least two implementations, the application window corresponding to the application in a running state:.

First implementation: Each application window corresponding to the application in a running state is independently displayed on the multi-task management interface.

In this implementation, after the user opens the multi-task management interface, to enable the user to intuitively view general content displayed in each application window, the terminal device may independently display, on the multi-task management interface, each application window corresponding to each application in a running state. Independent display means that each application window is used as an independent small window on the multi-task management interface, that is, in this implementation, different application windows are independent of each other. For example, as shown in <FIG>, <FIG>, <FIG>, or <FIG>, it is assumed that applications in a running state correspond to WPS, Mailbox, and WeChat. WPS corresponds to three application windows: <NUM>, <NUM>, and <NUM>. Mailbox corresponds to two application windows: <NUM> and <NUM>. WeChat corresponds to one application window <NUM>. As shown in <FIG>, the terminal device may independently display the five application windows <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> on the multi-task management interface <NUM>, that is, the application windows <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> are independent of each other.

In specific implementation, the terminal device may sequentially and independently display the application windows on the multi-task management interface in a preset arrangement manner according to the latest operation time corresponding to the application windows. The latest operation time refers to time at which the application window is last operated by the user. A preset arrangement sequence may be set according to an actual requirement. The preset arrangement sequence is not specially limited in this embodiment. By way of example, and not limitation, the preset arrangement manner may be arranging from a left side of a display interface to a right side of the display interface, and automatically wrapping lines. For example, as shown in <FIG>, it is assumed that the latest operation time corresponding to the application window <NUM> is later than the latest operation time corresponding to the application window <NUM>, the latest operation time corresponding to the application window <NUM> is later than the latest operation time corresponding to the application window <NUM>, the latest operation time corresponding to the application window <NUM> is later than the latest operation time corresponding to the application window <NUM>, the latest operation time corresponding to the application window <NUM> is later than the latest operation time corresponding to the application window <NUM>, and the latest operation time corresponding to the application window <NUM> is later than the latest operation time corresponding to the application window <NUM>. The terminal device may separately and independently display the application windows <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> on the multi-task management interface <NUM> according to an arrangement manner shown in <FIG>.

It should be noted that in this implementation, for an application window opened by the user in a full-screen manner, the terminal device may independently use the application window as an independent window on the multi-task management interface. For an application window opened by the user in a split-screen manner, the terminal device may jointly use at least two application windows displayed on split screens as an independent window on the multi-task management interface. For an application window opened by the user in a mode of a floating box or a floating ball, the terminal device may use the floating box or the floating ball as an independent window on the multi-task management interface, and display the corresponding application window in the floating box or the floating ball. For example, as shown in <FIG>, it is assumed that the application window <NUM> corresponding to WPS and the application window <NUM> corresponding to Mailbox are opened by the user in a split-screen manner. The terminal device jointly displays the application window <NUM> and the application window <NUM> as an independent window on the multi-task management interface <NUM>.

In this implementation, when the user triggers an application window on the multi-task management interface, if the triggered application window is an application window opened by the user in a full-screen mode, the terminal device exits the multi-task management interface, and displays the application window in full-screen mode in the foreground. If the triggered application window is an application window opened by the user in a split-screen mode, the terminal device exits the multi-task management interface, and displays the application window in a split-screen mode in the foreground. If the triggered application window is an application window opened by the user in a mode of a floating box or a floating ball, the terminal device exits the multi-task management interface, and displays the application window in a mode of a floating box or a floating ball in the foreground. For example, as shown in <FIG>, it is assumed that the user triggers the application window <NUM> on the multi-task management interface <NUM>. The terminal device exits the multi-task management interface and displays the application window <NUM> in a full-screen mode. It is assumed that the user triggers the application window <NUM> or <NUM> on the multi-task management interface <NUM>. The terminal device exits the multi-task management interface and displays the application windows <NUM> and <NUM> in a split-screen mode.

Second implementation: On the multi-task management interface, at least two application windows corresponding to each first application are displayed in a combination manner, and a single application window corresponding to each second application is displayed independently.

In this implementation, a first application is an application that corresponds to at least two application windows and that is in the application in a running state, and the second application is an application that corresponds to only one application window and that is in the application in a running state.

To help the user more intuitively learn, on the multi-task management interface, an application that corresponds to a plurality of application windows and an application that corresponds to only one application window, and to reduce display space of the multi-task management interface, the terminal device may display, on the multi-task management interface, at least two application windows corresponding to the first application in a combination manner.

Displaying in a combination manner means that at least two application windows are cascaded into a combination window, and the combination window is used as an independent small window on the multi-task management interface. To be specific, in this implementation, application windows corresponding to different applications are independent of each other, and a plurality of application windows corresponding to a same application have an association relationship.

In some specific implementations, display of at least two application windows in a combination manner may be display of the at least two application windows in a cascade manner. For example, as shown in <FIG>, the terminal device may display three application windows <NUM>, <NUM>, and <NUM> corresponding to WPS in a cascade manner, display two application windows <NUM> and <NUM> corresponding to Mailbox in a cascade manner, and independently display one window <NUM> of an application corresponding to WeChat. It should be noted that the window <NUM> formed by combining the application windows <NUM>, <NUM>, and <NUM> is a combination window corresponding to the WPS, and the window <NUM> formed by combining the application windows <NUM> and <NUM> is a combination window corresponding to the WPS.

More specifically, when displaying at least two application windows in a cascade manner, the terminal device may display, on a topmost layer, an application window whose latest operation time is the latest in the at least two application windows, and display, on a bottommost layer, an application window whose latest operation time is earliest in the at least two application windows. For example, in the three application windows corresponding to WPS, the latest operation time corresponding to the application window <NUM> is the latest, and the latest operation time corresponding to the application window <NUM> is the earliest. Therefore, as shown in <FIG>, when the terminal device displays the application windows <NUM>, <NUM>, and <NUM> in cascade mode, the terminal device may display the application window <NUM> at a topmost layer, display the application window <NUM> at a bottommost layer, and display the application window <NUM> between the application window <NUM> and the application window <NUM>. In the two application windows corresponding to Mailbox, the latest operation time corresponding to the application window <NUM> is later than the latest operation time corresponding to the application window <NUM>. Therefore, when the terminal device displays the application windows <NUM> and <NUM> in cascade mode, the terminal device may display the application window <NUM> on a topmost layer, and display the application window <NUM> on a bottommost layer. Certainly, in another implementation, the terminal device may alternatively display at least two application windows in another cascade manner. For example, the terminal device may further display, at a bottommost layer, an application window whose latest operation time is the latest in the at least two application windows, and display, at a topmost layer, an application window whose latest operation time is the earliest in the at least two application windows. A cascading display manner of the at least two application windows is not specially limited in this embodiment of this application.

In some other specific implementations, display of at least two application windows in a combination manner may also be display of the at least two application windows in a combined arrangement manner in an independent window on the multi-task management interface.

For example, as shown in <FIG>, the terminal device may display, in a combined arrangement manner, the three application windows <NUM>, <NUM>, and <NUM> corresponding to WPS in an independent window <NUM> on the multi-task management interface <NUM>. The terminal device may display, in a combined arrangement manner, the two application windows <NUM> and <NUM> corresponding to Mailbox in another independent window <NUM> on the multi-task management interface <NUM>. The terminal device may display one application window <NUM> corresponding to WeChat as still another independent window on the multi-task management interface <NUM>.

In a preferred embodiment of this application, to help the user intuitively learn of an application to which each application window displayed on the multi-task management interface belongs, the terminal device may display, on the multi-task management interface, an application identifier of the application to which each application window belongs. The application identifier may include but is not limited to an application icon, an application name, and/or the like. A specific form of the application identifier is not specially limited in this embodiment of this application. A first preset location may be set based on an actual requirement. The first preset location is not specially limited in this embodiment of this application. By way of example, and not limitation, the first preset location may be a location that is above an application window and that is close to an upper left corner of the application window.

Specifically, when the terminal device uses the foregoing first implementation to display, on the multi-task management interface, the application window corresponding to the application in a running state, the terminal device may display, after independently displaying each application window corresponding to the application in a running state, at a first preset location of each application window, an application identifier of the application to which the application window belongs. For example, as shown in <FIG>, the terminal device may display, at a location that is above an application window and that is close to an upper left corner of the application window, an application icon and/or an application name <NUM> of the application to which each application window belongs.

When the terminal device uses the foregoing second implementation to display, on the multi-task management interface, the application window corresponding to the application in a running state, the terminal device may display, after displaying the at least two application windows corresponding to each first application in a combination manner and independently displaying the single application window corresponding to each second application, an application identifier of the first application at a first preset location of a combination window corresponding to the first application, and an application identifier of the second application at a first preset location of the single application window corresponding to the second application. For example, as shown in <FIG>, the terminal device may display an application icon and/or an application name <NUM> of WPS at a location that is above a combination window <NUM> corresponding to WPS and that is close to an upper left corner of the combination window <NUM>, and display an application icon and/or an application name <NUM> of WeChat at a location that is above the single application window <NUM> corresponding to WeChat and that is close to an upper left corner of the application window <NUM>.

S32: Display, at a second preset location of an application window corresponding to the first application, a multi-window identifier corresponding to the first application.

In this embodiment of this application, when the terminal device specifically uses the first implementation in S31 to display, on the multi-task management interface, the application window corresponding to the application in a running state, the terminal device may display, after independently displaying each application window corresponding to the application in a running state, the multi-window identifier corresponding to the first application at a second preset location of each application window corresponding to each first application.

In another embodiment of this application, when the terminal device specifically uses the second implementation in S31 to display, on the multi-task management interface, the application window corresponding to the application in a running state, the terminal device may display, after displaying the at least two application windows corresponding to each first application in a combination manner and independently displaying the single application window corresponding to each second application, at a second preset location of a combination window corresponding to each first application, the multi-window identifier corresponding to the first application.

In this embodiment of this application, the multi-window identifier may be a control, and each multi-window identifier is associated with all application windows corresponding to a first application corresponding to the multi-window identifier. The multi-window identifier may be triggered by the user to control the terminal device to open all the application windows corresponding to the first application corresponding to the multi-window identifier.

In some specific implementations, the multi-window identifier may be used only to identify that the first application corresponding to the multi-window identifier corresponds to at least two application windows. For example, the multi-window identifier may be a graphic identifier. For example, the multi-window identifier may be a graphic identifier <NUM> shown in <FIG>, <FIG>, <FIG>, or <FIG>.

In some other specific implementations, the multi-window identifier may be further used to identify a quantity of application windows corresponding to the first application corresponding to the multi-window identifier. For example, the multi-window identifier may be a numeric identifier. For example, the multi-window identifier may also be a numeric identifier <NUM> shown in <FIG>, <FIG>, <FIG>, or <FIG>. A specific representation manner of the multi-window identifier is not specifically limited in this embodiment of this application.

In this embodiment of this application, the second preset location may alternatively be set based on an actual requirement.

In some specific implementations, a display area corresponding to the second preset location may overlap a display area corresponding to the first preset location, that is, the terminal device may display the multi-window identifier and the application identifier in an overlapping manner. By way example, and not limitation, both the second preset location and the first preset location may be a location that is above an application window and that is close to an upper left corner of the application window. Specifically, as shown in <FIG>, <FIG>, <FIG>, or <FIG>, the terminal device may display the multi-window identifier <NUM> at a location such as an upper right corner or an upper left corner of the application identifier <NUM>. A display area corresponding to the multi-window identifier partially overlaps a display area corresponding to the application identifier.

In some other specific implementations, the display area corresponding to the second preset location may not overlap the display area corresponding to the first preset location, that is, the terminal device may separately display the multi-window identifier and the application identifier. By way example, and not limitation, the first preset location may be a location that is above an application window and that is close to an upper left corner of the application window, and the second preset location may be a location above an application window and close to an upper right corner of the application window. Specifically, as shown in <FIG>, <FIG>, <FIG>, or <FIG>, the terminal device may display the application identifier <NUM> at a location above an application window and close to an upper right corner of the application window, the multi-window identifier <NUM> is displayed at a location that is above an application window and close to an upper right corner of the application window. In this way, the display area corresponding to the multi-window identifier does not overlap the display area corresponding to the application identifier.

In this embodiment of this application, after the terminal device displays, at the second preset location of the application window corresponding to the first application, the multi-window identifier corresponding to the first application, when the user wants to quickly view, on the multi-task management interface, all application windows corresponding to a first application, the user may trigger a multi-window identifier of any application window corresponding to the first application, or trigger a multi-window identifier of a combination window corresponding to the first application.

S33: If it is detected that any one of the multi-window identifiers is triggered, display, on the multi-task management interface, all application windows corresponding to only a first application corresponding to the triggered multi-window identifier.

In this embodiment of this application, when detecting that a multi-window identifier is triggered by the user, the terminal device displays, on the multi-task management interface, all application windows corresponding to only a first application corresponding to the triggered multi-window identifier, and hides application windows corresponding to other applications.

For example, as shown in <FIG>, it is assumed that the user triggers the multi-window identifier <NUM> displayed at a second preset location of one application window <NUM> corresponding to WPS. As shown in <FIG>, the terminal device displays, on the multi-task management interface, only three application windows <NUM>, <NUM>, and <NUM> corresponding to WPS. Alternatively, as shown in <FIG>, it is assumed that the user triggers the multi-window identifier <NUM> displayed at a second preset location of another application window <NUM> corresponding to WPS. As shown in <FIG>, the terminal device also displays, on the multi-task management interface, only three application windows <NUM>, <NUM>, and <NUM> corresponding to WPS.

The terminal device only displays, on the multi-task management interface, all application windows corresponding to a specific first application. If it is detected that the user triggers an application window, the terminal device exits the multi-task management interface, and displays, on the foreground, the application window triggered by the user. For example, as shown in <FIG>, it is assumed that the user triggers the application window <NUM>. The terminal device exits the multi-task management interface, and displays the application window <NUM> in the foreground.

It can be learned from foregoing that, according to the application window management method provided in this embodiment of this application, the multi-window identifier is displayed at the second preset location of the application window corresponding to the first application on the multi-task management interface, to inform a user that an application to which an application window displaying the multi-window identifier belongs corresponds to a plurality of application windows, and an application to which an application window not displaying the multi-window identifier belongs corresponds to only one application window. In this case, the user can intuitively learn, by checking whether the multi-window identifier is displayed, a quantity of application windows corresponding to an application to which each application window belongs. In addition, the user can quickly view, by triggering the multi-window identifier, all application windows corresponding to the first application corresponding to the multi-window identifier triggered by the user. This helps the user quickly find, from all the application windows corresponding to the first application, an application window that the user wants to open. Therefore, application window search efficiency is improved.

In still another embodiment of this application which does not fall under the scope of protection as defined by the appended claims, when the terminal device specifically uses the second implementation in S31 to display, on the multi-task management interface, the application window corresponding to the application in a running state, the terminal device may not perform S32 to S33 after performing S31, but perform the following step:
if it is detected that any one of the combination windows is triggered, displaying, on the multi-task management interface, all application windows corresponding to only the triggered combination window.

In this embodiment, each combination window may be triggered by the user to control the terminal device to display, on the multi-task management interface, all application windows corresponding to a combination window. Therefore, after the terminal device uses the second implementation in S31 to display, on the multi-task management interface, the application window corresponding to the application in a running state, the terminal device may not display a multi-window identifier. When detecting that a combination window is triggered by the user, the terminal device only displays, on the multi-task management interface, all application windows corresponding to the combination window, and hides application windows corresponding to other applications. For example, as shown in <FIG>, if the terminal device detects that the user triggers the combination window <NUM> corresponding to WPS, as shown in FIG. <NUM>(c), the terminal device may display, on the multi-task management interface, only three application windows <NUM>, <NUM>, and <NUM> corresponding to WPS.

In this embodiment, a plurality of application windows corresponding to the first application are displayed in a combination manner on the multi-task management interface, so that the user may control, by triggering a combination window corresponding to the first application, the terminal device to display all application windows corresponding to the first application. This helps the user quickly view, on the multi-task management interface, all application windows corresponding to any one of the first applications.

It may be understood that sequence numbers of the processes do not mean execution sequences in the foregoing embodiments. The execution sequences of the processes should be determined according to functions and internal logic of the processes, and should not be construed as any limitation on the implementation processes of embodiments of this application.

Corresponding to the application window management method in the foregoing embodiment, <FIG> is a block diagram of a structure of a terminal device according to an embodiment of this application. Units corresponding to the terminal device are configured to perform the steps in the foregoing embodiment. For details, refer to related descriptions in the foregoing embodiment. For ease of description, only a part related to this embodiment of this application is shown. As shown in <FIG>, the terminal device <NUM> may correspond to a first display control unit <NUM>, a second display control unit <NUM>, and a third display control unit <NUM>.

The first display control unit <NUM> is configured to display, on a multi-task management interface, an application window corresponding to an application in a running state.

The second display control unit <NUM> is configured to display, at a second preset location of an application window corresponding to a first application, a multi-window identifier corresponding to the first application. The first application is an application that corresponds to at least two application windows and that is in the application in a running state.

The third display control unit <NUM> is configured to: if it is detected that any one of the multi-window identifiers is triggered, display, on the multi-task management interface, all application windows corresponding to only a first application corresponding to the triggered multi-window identifier.

In an embodiment of this application, the first display control unit <NUM> is specifically configured to:
independently display, on the multi-task management interface, each application window corresponding to the application in a running state.

Correspondingly, the second display control unit <NUM> is specifically configured to:
display, at a second preset location of each application window corresponding to the first application, the multi-window identifier corresponding to the first application.

In another embodiment of this application, the first display control unit <NUM> is specifically configured to:
display, on the multi-task management interface in a combination manner, at least two application windows corresponding to each first application, and independently display a single application window corresponding to each second application. The second application is an application that corresponds to only one application window and that is in the application in a running state.

Correspondingly, the second display control unit <NUM> is specifically configured to:
display, at a second preset location of a combination window corresponding to the first application, a multi-window identifier corresponding to the first application. The combination window is formed by combining at least two application windows corresponding to the first application.

In still another embodiment of this application, the terminal device <NUM> further corresponds to a fourth display control unit.

The fourth display control unit is configured to display, at a first preset location of each application window, an application identifier of an application to which the application window belongs.

In yet another embodiment of this application, the fourth display control unit is further configured to:
display, at a first preset location of the combination window corresponding to the first application, an application identifier of the first application, and display, at a first preset location of the single application window corresponding to the second application, an application identifier of the second application.

In yet another embodiment of this application, a display area corresponding to the second preset location overlaps a display area corresponding to the first preset location.

In yet another embodiment of this application, a display area corresponding to the second preset location does not overlap a display area corresponding to the first preset location.

It can be learned from foregoing that in the terminal device provided in this embodiment of this application, the multi-window identifier is displayed at the second preset location of the application window corresponding to the first application on the multi-task management interface, to inform a user that an application to which an application window displaying the multi-window identifier belongs corresponds to a plurality of application windows, and an application to which an application window not displaying the multi-window identifier belongs corresponds to only one application window. In this case, the user can intuitively learn, by checking whether the multi-window identifier is displayed, a quantity of application windows corresponding to an application to which each application window belongs. In addition, the user can quickly view, by triggering the multi-window identifier, all application windows corresponding to the first application corresponding to the multi-window identifier triggered by the user. This helps the user quickly find, from all the application windows corresponding to the first application, an application window that the user wants to open. Therefore, application window search efficiency is improved.

<FIG> is a schematic diagram of a structure of a terminal device according to another embodiment of this application. As shown in <FIG>, the terminal device <NUM> in this embodiment includes: at least one processor <NUM> (only one processor is shown in <FIG>), a memory <NUM>, and a computer program <NUM> that is stored in the memory <NUM> and that can be run on the at least one processor <NUM>. When executing the computer program <NUM>, the processor <NUM> implements steps in any one of the foregoing application window management method embodiments.

The terminal device <NUM> may be a computing device, for example, a desktop computer, a notebook computer, a palmtop computer, or a cloud server. The terminal device may include but is not limited to the processor <NUM> and the memory <NUM>. A person skilled in the art may understand that <FIG> is merely an example of the terminal device <NUM>, and does not constitute a limitation on the terminal device <NUM>. The terminal device may include more or fewer components than those shown in the figure, or some components may be combined, or different components may be used. For example, the terminal device may further include an input/output device, a network access device, or the like.

The processor <NUM> may be a central processing unit (Central Processing Unit, CPU). The processor <NUM> may alternatively be another general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application-Specific Integrated Circuit, ASIC), a field-programmable gate array (Field-Programmable Gate Array, FPGA) or another programmable logic device, a discrete gate or a transistor logic device, or a discrete hardware component. The general-purpose processor may be a microprocessor, or the processor may be any conventional processor or the like.

In some embodiments, the memory <NUM> may be an internal storage unit of the terminal device <NUM>, for example, a hard disk drive or an internal storage of the terminal device <NUM>. In some other embodiments, the memory <NUM> may also be an external storage device of the terminal device <NUM>, for example, a plug-in hard disk, a smart media card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, or a flash card (Flash Card) that is provided on the terminal device <NUM>. Further, the memory <NUM> may alternatively include both the internal storage unit and the external storage device of the terminal device <NUM>. The memory <NUM> is configured to store an operating system, an application, a boot loader (Boot Loader), data, another program, and the like, for example, program code of the computer program. The memory <NUM> may further be configured to temporarily store data that has been output or is to be output.

It should be noted that content such as information exchange between the foregoing apparatuses/units and the execution processes thereof is based on a same concept as the method embodiments of this application. For specific functions and technical effects of the content, refer to the method embodiments.

It may be clearly understood by a person skilled in the art that, for the purpose of convenient and brief description, division into the foregoing function units and modules is used as an example for illustration. In actual application, the foregoing functions can be allocated to different function units and modules for implementation based on a requirement, that is, an inner structure of the apparatus is divided into different function units or modules to implement all or some of the functions described above. Function units and modules in embodiments may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units may be integrated into one unit. In addition, specific names of the function units and modules are merely for ease of distinguishing between the function units and modules, but are not intended to limit the protection scope of this application. For a specific working process of the units and modules in the foregoing system, refer to a corresponding process in the foregoing method embodiments. Details are not repeatedly described herein.

An embodiment of this application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program. When the computer program is executed by a processor, the steps in the foregoing application window management method may be implemented.

An embodiment of this application further provides a computer program product. When the computer program product is run on a mobile terminal, the mobile terminal is enabled to implement the steps in the foregoing application window management method when executing the computer program product.

An embodiment of this application further provides a chip system. The chip system includes a memory and a processor. The processor executes a computer program stored in the memory, to implement the steps in the foregoing application window management method.

An embodiment of this application further provides another chip system. The chip system includes a processor, the processor is coupled to a memory, and the processor executes a computer program stored in the memory, to implement the steps in the foregoing application window management method.

When the integrated unit is implemented in the form of a software function unit and sold or used as an independent product, the integrated unit may be stored in a computer-readable storage medium. Based on such an understanding, all or some of the procedures of the method in embodiments of this application may be implemented by a computer program instructing related hardware. The computer program may be stored in a computer-readable storage medium. When the computer program is executed by the processor, steps of the foregoing method embodiments may be implemented. The computer program includes computer program code. The computer program code may be in a source code form, an object code form, an executable file form, some intermediate forms, or the like. The computer-readable medium may include at least any entity or apparatus that can carry computer program code to a photographing apparatus/terminal device, a recording medium, a computer memory, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), an electrical carrier signal, a telecommunication signal, and a software distribution medium, for example, a USB flash drive, a removable hard disk, a magnetic disk, or an optical disk. In some jurisdictions, the computer-readable medium cannot be the electrical carrier signal or the telecommunication signal according to legislation and patent practices.

For a part that is not described in detail or recorded in an embodiment, refer to related descriptions in other embodiments.

A person of ordinary skill in the art may be aware that, with reference to the examples described in embodiments disclosed in this specification, units and algorithm steps may be implemented by electronic hardware or a combination of computer software and electronic hardware.

In embodiments provided in this application, it should be understood that the disclosed apparatus/network device and method may be implemented in other manners. For example, the described apparatus/network device embodiment is merely an example. For example, division into the modules or units is merely logical function division and may be other division in an actual implementation. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces.

Claim 1:
An application window management method, comprising:
displaying, on a multi-task management interface (<NUM>), M application windows (<NUM>-<NUM>) of applications opened in a full-screen mode, M is an integer greater than <NUM>;
displaying, at a second preset location of an application window corresponding to a first application, a multi-window identifier (<NUM>)
corresponding to the first application, wherein the first application is an application that corresponds to at least two of the M application windows; and
if it is detected that any one of the multi-window identifiers is triggered, displaying, on the multi-task management interface, all application windows corresponding to only the first application corresponding to the triggered multi-window identifier.