Display method and electronic device

By optimizing the animation processing flow by not releasing and reinitializing the split-screen line and its resources when the multitasking card jumps to the split-screen interface, the stuttering and delayed display issues caused by system load are resolved, and the response speed of electronic devices is improved.

CN120762552BActive Publication Date: 2026-07-14HONOR DEVICE CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HONOR DEVICE CO LTD
Filing Date
2024-07-10
Publication Date
2026-07-14

AI Technical Summary

Technical Problem

When switching from a multitasking card to a split-screen interface, existing technologies suffer from lag and display delays due to heavy system load.

Method used

During the transition, the split screen line and its related resources, such as the drag bar, are not released or reinitialized. The animation processing flow is optimized to reduce the steps of resource reconstruction, and specific variables are used to indicate the reason for the split screen to accelerate the animation processing.

Benefits of technology

It effectively reduces lag and display delay when switching from multitasking cards to split-screen interfaces, improving the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120762552B_ABST
    Figure CN120762552B_ABST
Patent Text Reader

Abstract

The application discloses a display method and an electronic device, relates to the field of image display, and is used for reducing lag and delayed display when jumping from a multitask card to split-screen display. The display method comprises the following steps: displaying a first window, wherein the first window is used for running a first application; in response to a first operation of a user, displaying a split-screen interface, wherein the split-screen interface comprises the first window, a second window and a split-screen line located between the first window and the second window, the second window is used for running a second application; in response to a second operation of the user, hiding the split-screen interface and displaying a desktop; in response to a third operation of the user, displaying a multitask card, wherein the multitask card comprises a task card of the first window and a task card of the second window; and in response to the user clicking the task card of the first window or the task card of the second window, redisplaying the split-screen interface, wherein when the split-screen interface is redisplayed, resources of the split-screen line are not released and reinitialized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of image display, and more particularly to a display method and an electronic device. Background Technology

[0002] Currently, electronic devices run a wide variety of applications that offer diverse functions. In some scenarios, users need to use multiple applications simultaneously. For example, a user might be having a conversation on a chat application while watching a video on a video application. This requires the electronic device to display multiple application windows in a split-screen mode. Currently, when switching from a multitasking card to a split-screen interface, if the system load is heavy, it can cause lag and display delays. Summary of the Invention

[0003] This application provides a display method and electronic device for reducing lag and display delay when switching from a multitasking card to a split-screen interface.

[0004] To achieve the above objectives, the embodiments of this application adopt the following technical solutions:

[0005] In a first aspect, a display method is provided, comprising: displaying a first window for running a first application; responding to a first user operation, displaying a split-screen interface, the split-screen interface including a first window, a second window, and a split-screen line located between the first window and the second window, the second window for running a second application; responding to a second user operation, hiding the split-screen interface and displaying the desktop; responding to a third user operation, displaying a multitasking card, the multitasking card including a task card for the first window and a task card for the second window; responding to a user clicking a task card for the first window or a task card for the second window, redisplaying the split-screen interface, wherein when redisplaying the split-screen interface, the resources of the split-screen line are not released or reinitialized.

[0006] The display method provided in this application first displays a split-screen interface, which includes a first window, a second window, and a split-screen line located between the first window and the second window. Then, a multitasking card is displayed. When jumping from the multitasking card to redisplaying the split-screen interface, the resources of the split-screen line are not released and reinitialized, thereby reducing lag and delayed display when jumping from the multitasking card to the split-screen interface.

[0007] In one possible implementation, the method further includes: displaying a drag bar on the split-screen line while displaying the split-screen line, and not releasing and reinitializing the drag bar resources when the split-screen interface is redisplayed.

[0008] Not releasing and reinitializing the drag bar's resources can also reduce lag and display delays when switching from a multitasking card to a split-screen interface.

[0009] In one possible implementation, the method further includes: the desktop application requests an animation to the shell component to start the split-screen interface, and a split-screen reason variable is passed during the call process. The split-screen reason variable is used to indicate that the reason for starting the split-screen interface is to start the split-screen interface from the multitasking card. When the reason for starting the split-screen interface is to start the split-screen interface from the multitasking card, the shell component binds a thread to execute the active window that starts the split-screen interface from the most recent task.

[0010] Compared to the Handler mechanism, it avoids processing messages in the message queue in the order they were enqueued, thus reducing the latency when switching from the multitasking card to the split-screen interface.

[0011] In one possible implementation, the method further includes: displaying a chain icon between the task cards in the first window and the task cards in the second window; and displaying an unlock icon between the task cards in the first window and the task cards in the second window in response to the user clicking the chain icon.

[0012] The chain icon indicates that the first and second windows are bound together for split-screen display, while the unlock icon indicates that the first and second windows are unbound from split-screen display and displayed in full-screen mode respectively.

[0013] In one possible implementation, the method further includes: displaying a chain icon between the task cards in the first window and the task cards in the second window in response to a user clicking the unlock icon.

[0014] The chain icon indicates that the first and second windows are re-bound together for split-screen display.

[0015] In one possible implementation, the method further includes: displaying the task cards of the first window and the task cards of the second window in contact; and, in response to the user dragging the task cards of the first window and the task cards of the second window in opposite directions, displaying the task cards of the first window and the task cards of the second window disengaging from contact.

[0016] When the task cards of the first window and the second window are in contact, it means that the first and second windows are bound together for split-screen display. When the task cards of the first and second windows are no longer in contact, it means that the first and second windows are unbound from split-screen display and displayed in full-screen mode respectively.

[0017] In one possible implementation, the method further includes: in response to a user dragging a task card in the first window and a task card in the second window in opposite directions, displaying that the task cards in the first window and the task cards in the second window come into contact.

[0018] When the task cards in the first window and the task cards in the second window re-touch each other, it indicates that the first and second windows will be re-bound together for split-screen display.

[0019] In a second aspect, an electronic device is provided, including a display screen, a processor, and a memory, wherein the processor controls the display screen to display images; and the memory stores instructions that, when executed by the processor, cause the electronic device to perform the method described in the first aspect and any embodiment thereof.

[0020] Thirdly, a computer-readable storage medium is provided that stores instructions which, when executed on an electronic device, cause the electronic device to perform the method as described in the first aspect and any embodiment thereof.

[0021] Fourthly, a computer program product is provided, including instructions that, when executed on the electronic device, cause the electronic device to perform the method as described in the first aspect and any embodiment thereof.

[0022] Fifthly, a chip system is provided, including a processor for supporting electronic devices in implementing the functions described in the first aspect above. In one possible design, the device further includes interface circuitry for receiving signals from other devices (e.g., memory) or sending signals to other devices (e.g., a communication interface). The chip system may include a chip and may also include other discrete devices.

[0023] The technical effects of the second to fifth aspects refer to the technical effects of the first aspect and any of its embodiments, and will not be repeated here. Attached Figure Description

[0024] Figure 1 This is a schematic diagram of the appearance of an electronic device provided in an embodiment of this application;

[0025] Figure 2 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application;

[0026] Figure 3 A schematic diagram of a software system running on an electronic device, provided as an embodiment of this application;

[0027] Figure 4 A schematic flowchart illustrating a display method provided in an embodiment of this application;

[0028] Figure 5 A schematic diagram of the display interface of an electronic device provided in an embodiment of this application;

[0029] Figure 6 A schematic diagram of the display interface of another electronic device provided in an embodiment of this application;

[0030] Figure 7 A schematic diagram of the display interface of another electronic device provided in an embodiment of this application;

[0031] Figure 8 A flowchart illustrating another display method provided in an embodiment of this application;

[0032] Figure 9 A flowchart illustrating another display method provided in an embodiment of this application;

[0033] Figure 10 This is a schematic diagram of a chip system provided in an embodiment of this application. Detailed Implementation

[0034] First, some concepts involved in this application will be described.

[0035] The terms "first" and "second" used in the embodiments of this application are only used to distinguish features of the same type and should not be construed as indicating relative importance, quantity, order, etc.

[0036] The terms "exemplary" or "for example" used in the embodiments of this application are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

[0037] The terms "coupling" and "connection" used in the embodiments of this application should be interpreted broadly. For example, they can refer to a physical direct connection or an indirect connection achieved through electronic devices, such as a connection achieved through resistors, inductors, capacitors or other electronic devices.

[0038] In certain application scenarios, users sometimes need to use multiple applications simultaneously. For example, a user might be having a conversation through a chat application while watching a video through a video application. This requires the electronic device to display multiple application windows at the same time. One way to do this is to display the multiple application windows in a split-screen mode, separating the different windows with split lines. Currently, in the underlying implementation of the Android operating system, when switching from the multitasking card to the split-screen interface, the split-screen line resources are released first and then reinitialized. If the system load is heavy, this can cause lag and display delays.

[0039] Therefore, the present application provides a display method and electronic device that does not release and reinitialize the resources of the split screen line when switching from a multitasking card to a split screen interface, thereby reducing lag and delayed display when switching from a multitasking card to a split screen interface.

[0040] like Figure 1As shown, this application embodiment provides an electronic device 101, which can be mobile or fixed. The electronic device can be deployed on land (e.g., indoors or outdoors, handheld or vehicle-mounted), on water (e.g., a ship), or in the air (e.g., an airplane, a balloon). This electronic device can be referred to as user equipment (UE), access terminal, terminal unit, subscriber unit, terminal station, mobile station (MS), mobile station, terminal agent, or terminal device, etc. For example, the electronic device can be a mobile phone, tablet computer, laptop computer, smart bracelet, smart screen, smartwatch, earphone, smart speaker, terminal in industrial control, terminal in self-driving, terminal in remote medical care, terminal in smart grid, terminal in transportation safety, terminal in smart city, terminal in smart home, etc. This application embodiment does not limit the specific type and structure of the electronic device. One possible structure of the electronic device is described below.

[0041] like Figure 2 As shown, taking a mobile phone as an example, electronic device 101 may include, at the hardware level, a processor 210, an external memory interface 220, an internal memory 221, a universal serial bus (USB) interface 230, a power management module 240, a battery 241, a wireless charging coil 242, an antenna 1, an antenna 2, a mobile communication module 250, a wireless communication module 260, an audio module 270, a speaker 270A, a receiver 270B, a microphone 270C, a headphone jack 270D, a sensor module 280, buttons 290, a motor 291, an indicator 292, a camera 293, a display screen 294, and a subscriber identification module (SIM) card interface 295, etc. Optionally, in some embodiments, an audio digital signal processor (ADSP) 243 may also be included.

[0042] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the electronic device 101. In other embodiments of this application, the electronic device 101 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0043] Processor 210 may include one or more processing units, such as: a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a system-on-chip (SoC), a central processing unit (CPU), an application processor (AP), a network processor (NP), a digital signal processor (DSP), a microcontroller unit (MCU), a programmable logic device (PLD), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a baseband processor, and a neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors. For example, processor 210 may be an application processor (AP). Alternatively, processor 210 may be integrated into a system-on-chip (SoC). Or, processor 210 may be integrated into an integrated circuit (IC) chip. The processor 210 may include an analog front end (AFE) and a micro-controller unit (MCU) in an IC chip.

[0044] The ADSP 243 can be coupled to the audio module 270 and the sensor module 280. The ADSP 243 can process audio signals and sensor data. Even when the processor is in sleep mode, the ADSP 243 can remain operational, thereby reducing the power consumption of the electronic device.

[0045] It is understood that the interface connection relationships between the modules illustrated in the embodiments of this application are merely illustrative and do not constitute a structural limitation on the electronic device 101. In other embodiments of this application, the electronic device 101 may also adopt different interface connection methods or a combination of multiple interface connection methods as described in the above embodiments.

[0046] The external storage interface 220 can be used to connect an external memory card, such as a micro SanDisk (Micro SD) card, to expand the storage capacity of the electronic device 101. The external memory card communicates with the processor 210 through the external storage interface 220 to perform data storage functions. For example, music, video, and other files can be saved on the external memory card.

[0047] Internal memory 221 can be used to store computer executable program code, which includes computer instructions. Processor 210 executes various functional applications and data processing of electronic device 101 by running the computer instructions stored in internal memory 221, such as executing the display method involved in the embodiments of this application. In addition, internal memory 221 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc.

[0048] The memory involved in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory used in the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0049] Electronic device 101 can implement audio functions such as music playback and recording through audio module 270, speaker 270A, receiver 270B, microphone 270C, headphone jack 270D, and application processor.

[0050] Audio module 270 is used to convert digital audio information into analog audio signal output, and also to convert analog audio input into digital audio signal. In some embodiments, audio module 270 may be located in processor 210, or some functional modules of audio module 270 may be located in processor 210. Speaker 270A, also called a "loudspeaker," is used to convert audio electrical signals into sound signals. Receiver 270B, also called a "handpiece," is used to convert audio electrical signals into sound signals. Microphone 270C, also called a "microphone" or "microphone," is used to convert sound signals into electrical signals. Electronic device 101 may be equipped with at least one microphone 270C. Headphone jack 270D is used to connect wired headphones. Headphone jack 270D may be a USB interface 230, or a 3.5mm Open Mobile Terminal Platform (OMTP) standard interface, or a Cellular Telecommunications Industry Association of the USA (CTIA) standard interface.

[0051] Buttons 290 include a power button, volume buttons, etc. Buttons 290 can be mechanical buttons or touch buttons. Electronic device 101 can receive button input and generate key signal inputs related to user settings and function control of electronic device 101. Motor 291 can generate vibration alerts. Motor 291 can be used for incoming call vibration alerts or for touch vibration feedback. Indicator 292 can be an indicator light, used to indicate charging status, battery level changes, messages, missed calls, notifications, etc. SIM card interface 295 is used to connect a SIM card. The SIM card can be inserted into or removed from the SIM card interface 295 to achieve contact and separation with electronic device 101. Electronic device 101 can support one or N SIM card interfaces, where N is a positive integer greater than 1. SIM card interface 295 can support Nano SIM cards, Micro SIM cards, SIM cards, etc. In some embodiments, electronic device 101 employs an embedded SIM (eSIM) card, which can be embedded in electronic device 101 and cannot be separated from electronic device 101.

[0052] Electronic device 101 can implement display functions through a GPU, display screen 294, and application processor. The GPU is a microprocessor for image processing, connected to the display screen 294 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 210 may include one or more GPUs, which execute computer instructions to generate or modify display information.

[0053] The sensor module 280 may include pressure sensors, gyroscopes or gravity sensors, barometric pressure sensors, magnetic field sensors, acceleration sensors, distance sensors, structured light sensors, proximity sensors, fingerprint sensors, temperature sensors, touch sensors, ambient light sensors, etc.

[0054] Battery 241 may include one or more batteries to power a load.

[0055] The power management module 240 is used to receive charging input from a charger. The charger can be a wireless charger, such as a wireless charging dock, or other electronic device 101 with reverse wireless charging capability. The power management module 240 can receive wireless charging input via the wireless charging coil 242 of the electronic device. The charger can also be a wired charger; for example, the power management module 240 can receive charging input from a wired charger via a USB interface 230. The power management module 240 is also referred to as a charging chip.

[0056] The power management module 240 charges the battery 241 while simultaneously supplying power to the electronic devices. It receives input from the battery 241 and powers the processor 210, internal memory 221, external memory interface 220, display screen 294, camera 293, and wireless communication module 260. The power management module 240 can also monitor parameters such as the battery 241's capacity, voltage, battery cycle count, and battery health status (leakage current, impedance). In some other embodiments, the power management module 240 may also be integrated into the processor 210.

[0057] Display screen 294 is used to display images, videos, etc. Display screen 294 includes a display panel. For example... Figure 1 As shown in Figure A, the plane on which the display screen 294 of the electronic device 101 is located is referred to as the front side. In some embodiments, the electronic device 101 may include one or more display screens 294.

[0058] Camera 293 is used to capture still images or moving videos (collectively referred to as images). In some embodiments, electronic device 101 may include one or N cameras 293, where N is a positive integer greater than 1. Camera 293 generally includes an optical lens and a photosensitive element, which can be any photosensitive device such as a charge-coupled device (CCD) or complementary metal-oxide-semiconductor (CMOS). During image capture, reflected light from the object being photographed passes through the optical lens and is projected onto the photosensitive element. The photosensitive element converts the received light signal into an electrical signal, which is then processed by the ISP and sent to the processor 210, thus obtaining a frame of image. Camera 293 may include, for example, Figure 1 The front-facing camera 2931 shown in Figure A and as shown in Figure A Figure 1 The main camera 2932 shown in B refers to the front-facing camera, which means that the camera 293 and the display screen 294 are located on the same plane of the electronic device 101, while the main camera means that the camera 293 and the display screen 294 are located on different planes.

[0059] The processor 210 may also include a memory for storing computer instructions and data. In some embodiments, the memory in the processor 210 is a cache memory. This memory can store computer instructions or data that the processor 210 has just used or that are being used repeatedly. If the processor 210 needs to use the same computer instructions or data again, it can retrieve them directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 210, and thus improves system efficiency.

[0060] In some embodiments, the processor 210 may include one or more interfaces. These interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a USB interface, etc.

[0061] The wireless communication function of electronic device 101 can be realized through antenna 1, antenna 2, mobile communication module 250, wireless communication module 260, modem processor and baseband processor.

[0062] Antennas 1 and 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 101 can be used to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with a tuning switch.

[0063] Mobile communication module 250 can provide wireless communication solutions including 2G / 3G / 4G / 5G for use on electronic device 101. Wireless communication module 260 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), satellite communication (such as satellite data communication and satellite voice communication), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies for use on electronic device 101. For example, wireless communication module 260 may include a satellite communication chip to enable satellite communication. Furthermore, antenna 1 of electronic device 101 is coupled to mobile communication module 250, and antenna 2 is coupled to wireless communication module 260, enabling electronic device 101 to communicate with networks and other devices via wireless communication technology.

[0064] like Figure 3 As shown, taking the Android operating system running on an electronic device as an example, the software architecture of the processor 210 includes the application layer, framework layer, system runtime library layer, hardware abstraction layer (HAL) layer, and kernel layer.

[0065] The kernel layer is the layer between hardware and software. For example, the kernel layer includes display drivers, camera drivers, audio drivers, sensor drivers, etc. The display driver is used to drive the display screen to show images or receive user touch operations; the camera driver is used to drive the camera to capture images; the audio driver is used to drive the microphone to capture sound and the speaker to play sound; and the sensor driver is used to drive the ADSP to acquire sensor data from various sensors.

[0066] The Hardware Abstraction Layer (HAL) is used to abstract hardware. The HAL hides the hardware interface details of a specific platform, providing the operating system with a virtual hardware platform and exhibiting hardware independence. For example, the HAL includes display modules, camera modules, audio modules, and sensor modules. The display module provides a virtual display, the camera module provides a virtual camera, the audio module provides a virtual microphone and speaker, and the sensor module provides a virtual camera.

[0067] The system runtime library layer includes C / C++ libraries and runtime libraries. Many core components and services of the Android operating system are built from native code and require C / C++ libraries. When an application is first installed, it is pre-compiled into machine code form as a runtime library; this process is called pre-compilation. This allows for faster startup and execution of the application by running the machine code.

[0068] The framework layer provides an application programming interface (API) and programming framework for applications in the application layer. The framework layer includes predefined implementation methods. For example, the framework layer includes a window manager, content provider, view system, notification manager, etc. This application embodiment relates to the SplitScreenController, StageCoordinator, SplitScreenTransition, Transition, SplitLayout, SplitWindowManager, and WindowOrganizerController classes in the framework layer to execute the display methods of this application. For details on the functionality of these classes, please refer to... Figure 8 and Figure 9 The description.

[0069] The application layer can include a series of application packages, such as desktop, camera, calling, game, short video applications, etc.

[0070] Figure 4 This is a flowchart illustrating a display method provided in an embodiment of this application, as shown below. Figure 4 As shown, the method includes the following steps:

[0071] S101. Display the first window, which is used to run the first application.

[0072] For example, such as Figure 5As shown in Figure A, when a user wants to make a call through the calling application, the electronic device displays a first window 501, which is used to run the calling application (i.e., the first application). Since the first window 501 is displayed in full screen, it can also be called a full-screen window.

[0073] S102, In response to the user's first operation, display the split-screen interface.

[0074] The split-screen interface includes a first window, a second window, and a split-screen line between the first and second windows. The second window is used to run a second application.

[0075] For example, such as Figure 5 As shown in Figures A and B, when a user wants to make a call through the calling application while simultaneously viewing pictures or videos in the gallery application, in response to the user's action of swiping inward from the side of the display and pausing, the electronic device displays a sidebar 502, which includes icons for the music application and the gallery application (i.e., the second application). Figure 5 As shown in B, C, and D, in response to a user dragging the gallery app icon to the first window 501, the electronic device displays the first window 501, the second window 503, and a split-screen line 504 between the first window 501 and the second window 503. Optionally, a drag bar 505 is also displayed on the split-screen line 504. The second window 503 is used to run the gallery app. That is, the first operation includes swiping and pausing from the side of the display screen inwards, and dragging the gallery app icon to the first window.

[0076] If the user drags the icon of the second application to the lower half of the display, the first window 501 will be above the split-screen line 504, and the second window 503 will be below the split-screen line 504. If the user drags the icon of the second application to the upper half of the display, the first window 501 will be below the split-screen line 504, and the second window 503 will be above the split-screen line 504.

[0077] By default, the split-screen line 504 is located in the middle of the length of the display screen. The first window 501 and the second window 503 do not overlap, and the first window 501 and the second window 503 are the same size. Users can change the size of the first window 501 and the second window 503, as well as the position of the split-screen line 504, by dragging the drag bar 505. Both the first window 501 and the second window 503 are split-screen windows.

[0078] S103, In response to the user's second operation, hide the split-screen interface and show the desktop.

[0079] For example, such as Figure 5As shown in D and E, the second operation can be a swipe up from the bottom of the display. When the user wants to switch back to the desktop, in response to the user's swipe up from the bottom of the display, the electronic device hides but does not destroy the split-screen interface (first window, second window, and split-screen line) and displays the desktop. Optionally, when hiding but not destroying the split-screen line, the drag bar is also hidden but not destroyed.

[0080] Hide the first window, second window, split screen line, and drag bar. This means moving the first window, second window, split screen line, and drag bar to the background and making them invisible. Do not destroy the first window, second window, split screen line, and drag bar. This means not releasing the resources of the first window, second window, split screen line, and drag bar.

[0081] S104. In response to a third user action, display a multitasking card, which includes the task cards of the first window and the task cards of the second window.

[0082] For example, such as Figure 5 As shown in Figure F, the third operation can be a swipe-up gesture from the bottom of the screen followed by a pause. For example, the user swipes their finger up from the bottom of the screen to a certain height (e.g., 1 / 5 of the screen height) and pauses for a preset duration (e.g., 0.5 seconds). When the user wants to view recently opened applications, in response to the swipe-up gesture from the bottom of the screen, the electronic device displays a multitasking card 506. Each task card represents a recently opened application, which can be in the background or foreground. Task cards can be swiped left or right to display different task cards, dragged upwards to close the corresponding application, long-pressed and dragged left or right to change their order in the multitasking card, and clicked to bring the corresponding application to the foreground. The multitasking card 506 includes a task card 5061 for the first window 501 and a task card 5062 for the second window 503. Since the first window 501 and the second window 503 are previously displayed in a split-screen manner, the task card 5061 for the first window 501 and the task card 5062 for the second window 503 are adjacent to each other.

[0083] In one possible implementation, Figure 6 As shown in Figure A, since the first window and the second window are bound together when displayed in split screen, the electronic device can also display a chain icon 507 between the task card 5061 of the first window 501 and the task card 5062 of the second window 503, which is used to indicate that the first window 501 and the second window 503 run different applications independently, and the first window 501 and the second window 503 are bound together for split screen display.

[0084] like Figure 6 As shown in Figure A, in response to the user clicking the chain icon 507, as follows: Figure 6 As shown in Figure B, the electronic device displays an unlock icon 508 between the task card 5061 of the first window 501 and the task card 5062 of the second window 503, indicating that the first window 501 and the second window 503 are unbound from split-screen display and displayed in full screen respectively. In other words, in response to the user clicking the task card 5061 of the first window 501, the electronic device displays the first window 501 in full screen; in response to the user clicking the task card 5062 of the second window 503, the electronic device displays the second window 503 in full screen. Besides their different shapes, the unlock icon 508 and the chain icon 507 can also be further distinguished by different colors and grayscale levels.

[0085] like Figure 6 As shown in B, in response to the user clicking the unlock icon 508, as follows: Figure 6 As shown in Figure A, the electronic device displays a chain icon 507 between the task card 5061 of the first window 501 and the task card 5062 of the second window 503, indicating that the first window 501 and the second window 503 are re-bound together for split-screen display.

[0086] In another possible implementation, such as Figure 7 As shown in A or B, since the first window and the second window are bound together in split-screen display, the electronic device can also display task cards 5061 of the first window 501 and 5062 of the second window 503 in contact, indicating that the first window 501 and the second window 503 are running different applications independently, and that the first window 501 and the second window 503 are bound together for split-screen display. Figure 7 In the middle, task card 5061 of the first window 501 and task card 5062 of the second window 503 are in horizontal contact. Figure 7 In the middle B, the task card 5061 of the first window 501 and the task card 5062 of the second window 503 are in vertical contact.

[0087] like Figure 7 As shown in A or B, in response to the user's operation of dragging the task card 5061 of the first window 501 and the task card 5062 of the second window 503 in opposite directions using two fingers, as follows: Figure 7 As shown in Figure C, the electronic device displays the task card 5061 of the first window 501 and the task card 5062 of the second window 503 as disconnected, indicating that the first window 501 and the second window 503 are unbound and displayed in full screen respectively. That is, in response to the user clicking the task card 5061 of the first window 501, the electronic device displays the first window 501 in full screen, and in response to the user clicking the task card 5062 of the second window 503, the electronic device displays the second window 503 in full screen.

[0088] like Figure 7 As shown in Figure C, in response to the user's operation of dragging the task card 5061 of the first window 501 and the task card 5062 of the second window 503 in opposite directions using two fingers, as follows: Figure 7 As shown in A or B, the electronic device displays the task card 5061 of the first window 501 and the task card 5062 of the second window 503 in contact again, indicating that the first window 501 and the second window 503 are re-bound together for split-screen display.

[0089] It should be noted that the task card 5061 of the first window 501 and the task card 5062 of the second window 503 can refer to any two adjacent task cards in the multitasking card, and are not limited to the task cards of two windows that have already been split into two screens. In this way, by allowing each task card to be long-pressed and dragged left and right to change its order in the multitasking card, it is possible to switch between split-screen and full-screen display for any two applications in the multitasking card.

[0090] S105. In response to the user clicking the task card in the first window or the task card in the second window, the split-screen interface is redisplayed. When the split-screen interface is redisplayed, the resources of the split-screen line are not released or reinitialized.

[0091] For example, when a user wants to resume a call through the calling app, or view pictures or videos in the gallery through the gallery app, the user clicks the task card in the first window or the task card in the second window. Since the first and second windows are bound together in the split-screen display and are not destroyed when navigating to the background, clicking the task card in either window does not release or reinitialize the split-screen line resources, and optionally, the drag bar resources are not released or reinitialized. Therefore, the split-screen interface (including the first window, the second window, and the split-screen line (optionally including the drag bar)) will be quickly re-displayed, thereby reducing lag and display delay. The displayed content can be referred to as follows: Figure 5 The relevant description of D will not be repeated here.

[0092] The following is combined with Figure 8 and Figure 9 The underlying implementation shown will be used to explain S105. Figure 8 If a user clicks on a task card in the first or second window of the multitasking interface, the desktop application requests an animation to start the split-screen interface from the shell component. Throughout the call, a split-screen reason variable is passed to indicate that the reason for starting the split-screen interface is to start the split-screen interface from the multitasking interface. Figure 9The Shell component responded to the request to launch the split-screen animation and began preparations for the animation—drawing the split-screen lines.

[0093] like Figure 8 As shown, the display method provided in this application embodiment further includes:

[0094] S201. In response to the user clicking on a task card in the first window or a task card in the second window, the launcher application requests a transition from the multitasking card to the split-screen interface (the first window and the second window are displayed in a split screen).

[0095] The Shell component is responsible for handling window modes such as split-screen mode and one-handed mode.

[0096] S202. The SplitScreenImpl method of the SplitScreenController class in the Shell component calls the startTasks method of the StageCoordinator class to start the split-screen interface including the first and second windows, and stores the split-screen reason variable START_SPLIT_FROM_RECENT_OR_LAUNCHER in the Bundle.

[0097] The `SplitScreenController` class is the controller in the Android operating system responsible for managing split-screen functionality, handling operations such as starting, exiting, and updating windows. The `SplitScreenImpl` method is the interface method of the `SplitScreenController` class, and its functionality is implemented by calling this method. In the Android operating system, each of the two windows in a split-screen corresponds to a task, also known as a stage or the parent node of the split-screen. The `StageCoordinator` class primarily manages these two stages and handles applications mounted on them. The first or second window corresponds to a task and a task identifier (`taskId`). The `startTasks` method is used to launch the split-screen interface, including both the first and second windows, using the `taskId` corresponding to the first or second window. The `startTasks` method is only used by the launcher. Bundle is an important data transfer mechanism in the Android operating system, used to easily transfer data between different components. The split-screen cause variable `START_SPLIT_FROM_RECENT_OR_LAUNCHER` is a global variable and can be... Figure 9Accessing various methods within the interface, this split-screen reason variable is used to indicate the reason for launching the split-screen interface: launching the split-screen interface from the multitasking card.

[0098] S203, the startTasks method calls the startPendingEnterTransition method of the SplitScreenTransition class.

[0099] The `SplitScreenTransition` class is the implementation class for split-screen animation effects. Most split-screen animation effects are implemented in this class, including the creation of transitions, specific animation styles, and animation effects. All business logic entering a split-screen environment uses the `startPendingEnterTransition` method to create a transition for the split-screen interface. The input parameters of the `startPendingEnterTransition` method include the split-screen reason variable `START_SPLIT_FROM_RECENT_OR_LAUNCHER`.

[0100] S204, the startPendingEnterTransition method calls the startTransition method of the Transition class.

[0101] The Transition class is used for registering all animation effects. The startTransition method is used to create a transition. The startTransition method takes as input parameters the split-screen reason variable START_SPLIT_FROM_RECENT_OR_LAUNCHER.

[0102] S205, the startTransition method calls the startNewTransition method of the WindowOrganizerController class through IBinder.

[0103] The `WindowOrganizerController` class is used for inter-process communication. It parses, splits, and distributes information encapsulated by the previous process to another process. The `startNewTransition` method is used to register a new transition. `IBinder` is used for inter-process communication. The `startNewTransition` method's input parameters include the split-screen reason variable `START_SPLIT_FROM_RECENT_OR_LAUNCHER`.

[0104] S206. The startNewTransition method calls the startActivityFromRecents method of the ActivityTaskSupervisor class based on the split-screen reason variable.

[0105] The `startActivityFromRecents` method is used to launch an activity from the most recent task, restarting an activity that was previously in a paused or stopped state and updating it to a resumed state. In this embodiment, it is used to restart a split-screen interface. In existing technology, the Android operating system uses a Handler mechanism to wait for an idle thread to execute the `startActivityFromRecents` method. The Handler mechanism is used for asynchronous message processing. When a thread generates a message, the message enters a message queue. The thread that sent the message can return immediately, and another thread retrieves and processes messages from the message queue in a first-in-first-out manner. In other words, sending and receiving messages are asynchronous.

[0106] The Android operating system uses a Handler mechanism to wait for an idle thread to execute the `startActivityFromRecents` method. This means that after a message is submitted to the message queue to execute the `startActivityFromRecents` method, the idle thread processes the messages in the queue sequentially until the `startActivityFromRecents` method is executed. Since the number of messages in the message queue can be large, processing them sequentially can cause a significant delay in the processing time of the `startActivityFromRecents` method.

[0107] Therefore, in this embodiment, when the split-screen cause variable indicates that the split-screen interface is launched from the multitasking card, the shell component directly binds to the target thread via a binder to execute the `startActivityFromRecents` method, thereby launching the activity window of the split-screen interface from the most recent task. Compared to the Handler mechanism, it is not necessary to process messages in the message queue sequentially according to the message enqueue order until the `startActivityFromRecents` method is executed. This shortens the latency of launching the split-screen interface from the most recent task (i.e., jumping from the multitasking card to the split-screen interface).

[0108] like Figure 9 As shown, the display method provided in this application embodiment further includes:

[0109] S301. Execute the startAnimation method of the Transition class.

[0110] Once the split-screen interface is fully rendered, window looping is triggered, and the `startAnimation` method is invoked. Transition classes begin animation via the `startAnimation` method.

[0111] S302. The startAnimation method of the Transition class calls the startPendingAnimation method of the StageCoordinator class.

[0112] Because in Figure 8 S203 calls the startPendingEnterTransition method of the SplitScreenTransition class, so it responds to the startPendingAnimation method here to create an animation for the split-screen interface.

[0113] S303, the startPendingAnimation method calls the startPendingEnterAnimation method of the StageCoordinator class.

[0114] The startPendingEnterAnimation method is used to display the animation of the split-screen interface.

[0115] S304, the startPendingEnterAnimation method calls the finishEnterSplitScreen method of the StageCoordinator class.

[0116] The `finishEnterSplitScreen` method is used to finish animations in split-screen interfaces, such as updating the state and drawing split-screen lines.

[0117] S305, the finishEnterSplitScreen method calls the update method of the SplitLayout class.

[0118] SplitLayout is a class for split-screen layouts, used to update split-screen lines, split-screen size, split-screen position, etc.

[0119] S306. The update method calls the updateWhileStartFromRecentOrLuncher method of the SplitWindowManager class based on the split-screen reason variable.

[0120] SplitWindowManager is the management class for split-screen windows, used for creating, initializing, and releasing split-screen window layers. The updateWhileStartFromRecentOrLuncher method is used to update and display the split-screen lines.

[0121] If the split-screen reason variable indicates that the reason for starting the split-screen interface is starting the split-screen interface from the multitasking card, the update method calls the updateWhileStartFromRecentOrLuncher method of the SplitWindowManager class to redisplay the split-screen line, without releasing and reinitializing the split-screen line resources.

[0122] For other reasons for launching a split-screen interface, such as switching between top-bottom split-screen and left-right split-screen, or switching between the split-screen interface and the inner and outer screens, the update method first calls the release method of the SplitWindowManager class to release the resources of the split-screen line, and then calls the init method of the SplitWindowManager class to reinitialize the resources of the split-screen line.

[0123] For example, Table 1 shows the latency and average latency (in ms) of two electronic devices (Series 1 and Series 2) for 10 tests of switching from the multitasking card to the split-screen interface. By comparing before and after the improvement, it can be seen that the display method provided by the embodiments of this application (i.e. the improved method) can significantly reduce the latency of switching from the multitasking card to the split-screen interface.

[0124] Table 1

[0125]

[0126] The display method and electronic device provided in this application first display a split-screen interface, which includes a first window, a second window, and a split-screen line located between the first window and the second window. Then, a multitasking card is displayed. When jumping from the multitasking card to redisplaying the split-screen interface, the resources of the split-screen line are not released and reinitialized, thereby reducing lag and delayed display when jumping from the multitasking card to the split-screen interface.

[0127] like Figure 10 As shown, this application embodiment also provides a chip system. The chip system 100 includes at least one processor 1001 and at least one interface circuit 1002. The at least one processor 1001 and the at least one interface circuit 1002 are interconnected via lines. The processor 1001 is used to support an electronic device in implementing the various steps in the above method embodiments, for example... Figure 4 , Figure 8 , Figure 9 The method shown allows at least one interface circuit 1002 to be used to receive signals from other devices (e.g., memory) or to send signals to other devices (e.g., a communication interface). The chip system may include a chip and may also include other discrete components.

[0128] This application also provides a computer-readable storage medium including instructions that, when executed on the electronic device, cause the electronic device to perform the steps described in the method embodiments, such as executing... Figure 4 , Figure 8 , Figure 9 The method shown.

[0129] This application also provides a computer program product including instructions, which, when executed on the aforementioned electronic device, cause the electronic device to perform the various steps in the method embodiments described above, such as executing... Figure 4 , Figure 8 , Figure 9 The method shown.

[0130] The technical effects of the chip system, computer-readable storage medium, and computer program product are described in the preceding method embodiments.

[0131] It should be understood that in the various embodiments of this application, the order of the above-mentioned processes does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0132] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and modules described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0133] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; that is, they may be located on one device or distributed across multiple devices. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.

[0134] In addition, the functional modules in the various embodiments of this application can be integrated into one device, or each module can exist physically separately, or two or more modules can be integrated into one device.

[0135] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A display method, characterized in that, The method includes: Display a first window, which is used to run a first application; In response to the user's first operation, a split-screen interface is displayed, the split-screen interface including a first window, a second window and a split-screen line located between the first window and the second window, the second window being used to run a second application; In response to the user's second action, the split-screen interface is hidden and the desktop is displayed; In response to a third user action, a multitasking card is displayed, which includes the task card of the first window, the task card of the second window, and a chain icon between the task card of the first window and the task card of the second window. In response to a user clicking the chain icon, an unlock icon is displayed between the task cards in the first window and the second window; in response to a user clicking the unlock icon, the chain icon is displayed between the task cards in the first window and the second window. In response to a user clicking a task card in the first window or the task card in the second window, the split-screen interface is redisplayed. When the split-screen interface is redisplayed, the resources of the split-screen line are not released or reinitialized. When the task cards of the first window and the second window are in contact, in response to the user dragging the task cards of the first window and the second window in opposite directions, the task cards of the first window and the second window are disconnected, indicating that the first window and the second window are unbound to be displayed in full screen separately; or, when the task cards of the first window and the second window are disconnected, in response to the user dragging the task cards of the first window and the second window in opposite directions, the task cards of the first window and the second window are displayed in contact, indicating that the first window and the second window are bound together for split-screen display.

2. The method according to claim 1, characterized in that, Also includes: When displaying the split-screen line, a drag bar is also displayed on the split-screen line; When the split-screen interface is redisplayed, the resources of the drag bar are not released and reinitialized.

3. The method according to claim 1, characterized in that, Also includes: The desktop application requests an animation to start the split-screen interface from the shell component. During the call, a split-screen reason variable is passed. The split-screen reason variable is used to indicate that the reason for starting the split-screen interface is to start the split-screen interface from the multitasking card. When the reason for launching the split-screen interface is that the split-screen interface is launched from the multitasking card, the shell component binds the thread to execute the active window that launches the split-screen interface from the most recent task.

4. An electronic device, characterized in that, The device includes a display screen, a processor, and a memory, wherein the processor controls the display screen to display images; and the memory stores instructions that, when executed by the processor, cause the electronic device to perform the method as described in any one of claims 1-3.

5. A computer-readable storage medium, characterized in that, The device stores instructions that, when executed on the electronic device, cause the electronic device to perform the method as described in any one of claims 1-3.

6. A computer program product, characterized in that, Includes instructions that, when executed on an electronic device, cause the electronic device to perform the method as described in any one of claims 1-3.