Window display method and electronic device

CN122653724APending Publication Date: 2026-08-28HONOR DEVICE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510412980.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-31
Publication Date
2026-08-28

AI Technical Summary

Technical Problem

一部分应用在配置信息发生更新的情况下,可能出现主动退出的异常情况,导致电子设备进入分屏显示应用界面失败

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122653724A_ABST
    Figure CN122653724A_ABST
Patent Text Reader

Abstract

The application provides a window display method and an electronic device, relates to the display technical field, and is used for reducing the application abnormal exit in the process that the electronic device is switched from full-screen display of an application interface to split-screen display of the application interface. The method is applied to the electronic device and includes the following steps: displaying a first interface, the first interface including an interface of a first application; in the first interface, the electronic device is in a first display state, and the first application has a first display state attribute. In response to a first operation, a second interface is displayed, the second interface including the interface of the first application and a desktop; the first operation is used for triggering the electronic device to be switched from the first display state to a second display state, and the second display state is a half split-screen display state. In the second interface, the first application has the same attribute as the first display state attribute.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of display technology, and in particular to a window display method and an electronic device. Background Technology

[0002] With technological advancements, split-screen technology has emerged for electronic devices. Split-screen technology allows users to open two or more windows simultaneously on the screen of an electronic device, with each window displaying an application interface.

[0003] When an electronic device switches from a full-screen application interface to a split-screen application interface, the application's configuration information is usually updated. Some applications may experience an abnormal exit when their configuration information is updated, causing the electronic device to fail to enter the split-screen application interface. Summary of the Invention

[0004] This application provides a window display method and an electronic device to reduce the occurrence of abnormal application exits during the process of switching from full-screen display of the application interface to split-screen display of the application interface on the electronic device.

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

[0006] Firstly, a window display method is provided for use in electronic devices, the method comprising:

[0007] A first interface is displayed, which includes the interface of a first application. On the first interface, the electronic device is in a first display state, and the attributes of the first application are the attributes of the first display state. In response to a first operation, a second interface is displayed, which includes the interface of the first application and a desktop. The first operation triggers the electronic device to switch from the first display state to the second display state, which is a split-screen display state. On the second interface, the attributes of the first application are the same as those of the first display state.

[0008] In this solution, when an electronic device switches from a first display state to a split-screen display state, the attributes of the first application remain the same as those in the first display state after the switch. This ensures that the application's configuration information remains unchanged during the transition to the split-screen display state, preventing abnormal exits due to configuration changes and guaranteeing a smooth transition to the split-screen display state.

[0009] In one possible implementation of the first aspect, the first display state includes a full-screen display state, and the first window mode includes a full-screen mode. That is, during the process of switching from a full-screen display state to a split-screen display state, the above-mentioned solution reduces the possibility of abnormal application exits.

[0010] In one possible implementation of the first aspect, the attributes of the first application include a window mode attribute and a boundary attribute. On the first interface, the first application is mounted under the root node corresponding to the first display state. In this scheme, in response to the first operation, the method further includes: updating the attribute value of the window mode attribute of the root node corresponding to the second display state to be consistent with the attribute value of the window mode attribute of the root node corresponding to the first display state, and updating the attribute value of the boundary attribute of the root node corresponding to the second display state to be consistent with the attribute value of the boundary attribute of the first display state. The attribute value of the window mode attribute of the root node is used to indicate the window mode corresponding to the application mounted under the root node, and the attribute value of the boundary attribute of the root node is used to indicate the boundary corresponding to the application mounted under the root node. Then, the electronic device mounts the first application under the root node corresponding to the second display state.

[0011] Typically, when an application is mounted to the root node corresponding to a specific display state, its attributes can be determined based on the attributes of that root node. In this scheme, in response to the first operation, the electronic device updates the attribute values ​​of the root node corresponding to the second display state, specifically updating them to match the attribute values ​​of the root node corresponding to the first display state, and then mounts the first application to the root node corresponding to the second display state. Therefore, during the process of the electronic device switching from the first display state to the second display state, the attributes of the first application will be determined based on the attributes of the root node corresponding to the first display state, thus ensuring that the attribute values ​​of the first application remain unchanged during this process.

[0012] In one possible implementation of the first aspect, after mounting the first application to the root node corresponding to the second display state, the method further includes setting the root node corresponding to the second display state to always be on top. This ensures that the window of the first application remains on top in the second display state, so that the first application remains visible in the interface even when the focus changes.

[0013] In one possible implementation of the first aspect, the electronic device includes a half-screen manager and a split-screen manager. The aforementioned updating the window mode attribute value of the root node corresponding to the second display state to be consistent with the window mode attribute value of the root node corresponding to the first display state includes: the half-screen manager updating the window mode attribute value of the root node corresponding to the second display state to be consistent with the window mode attribute value of the root node corresponding to the first display state. The aforementioned updating the boundary attribute value of the root node corresponding to the second display state to be consistent with the boundary attribute value of the root node corresponding to the first display state includes: the half-screen manager updating the boundary attribute value of the root node corresponding to the second display state to be consistent with the boundary attribute value of the root node corresponding to the first display state. The aforementioned mounting the first application to the root node corresponding to the second display state includes: the half-screen manager mounting the first application to the root node corresponding to the second display state. The split-screen manager is used to manage window operations in scenarios associated with the split-screen display state of the electronic device.

[0014] In this solution, during the process of switching the electronic device to the second display state, the half-screen manager updates the attributes corresponding to the second display state and performs root node mounting operations on the first application. Window operations within the scenario associated with the split-screen display state are managed by the split-screen manager. Thus, this solution distinguishes between the half-screen manager and the split-screen manager, with the half-screen manager managing window operations within the scenario associated with the half-screen display state. This decouples the managers for the half-screen and split-screen display states, resulting in better scalability and maintainability of the electronic device's internal architecture.

[0015] In one possible implementation of the first aspect, the electronic device also includes a full-screen manager that manages window operations in scenarios associated with the full-screen display state of the electronic device. That is, in this scheme, the split-screen manager and the full-screen manager are also decoupled.

[0016] In one possible implementation of the first aspect, the electronic device includes a half-screen animation processor and a split-screen animation processor. Following the first operation and before displaying the second interface, the method further includes: the half-screen animation processor displaying an animation indicating a switch from the first interface to the second interface. The split-screen animation processor is used for animations in scenarios associated with the split-screen display state of the electronic device.

[0017] In this solution, the electronic device adds a half-screen animation processor to manage the animations for scenes associated with the half-screen display state. Specifically, the animations during the process of switching from the first display state to the half-screen display state in response to a first operation are executed by the half-screen animation processor. The animations for scenes associated with the split-screen display state are managed by the split-screen animation processor. Thus, by having the half-screen animation processor manage the animations for scenes associated with the half-screen display state, this solution decouples the animation processors for the half-screen and split-screen display states, resulting in better scalability and maintainability of the electronic device's internal architecture.

[0018] In one possible implementation of the first aspect, the electronic device further includes a full-screen motion processor for managing motion effects in scenarios associated with the full-screen display state of the electronic device. That is, in this solution, the split-screen motion processor and the full-screen motion processor are also decoupled.

[0019] In one possible implementation of the first aspect, the electronic device includes a half-screen application listener and a full-screen application listener. After displaying a second interface in response to the first operation, the method further includes: the half-screen application listener storing task information of the second display state. The full-screen application listener is used to manage the task information of the split-screen display state of the electronic device.

[0020] This solution introduces a new split-screen application listener to manage task information related to the split-screen display state. Specifically, after the electronic device displays the second interface in response to the first operation, the split-screen application listener saves the task information for the second display state. Task information related to the split-screen display state is managed and saved by the split-screen application listener. Thus, this solution decouples the application listeners for the split-screen and split-screen display states, resulting in better scalability and maintainability of the electronic device's internal architecture.

[0021] In one possible implementation of the first aspect, the electronic device further includes a full-screen application listener for managing task information related to the full-screen display state of the electronic device. That is, in this scheme, the split-screen application listener and the full-screen application listener are also decoupled.

[0022] In one possible implementation of the first aspect, after displaying the second interface in response to the first operation, the method further includes: displaying a third interface in response to the second operation, the third interface including the interface of the first application. In the third interface, the electronic device is in full-screen display mode; the second operation triggers the electronic device to switch from displaying the interface of the first application in the second display mode to displaying the interface of the first application in the full-screen display mode. Specifically, in response to the second operation, the split-screen manager mounts the first application to the root node corresponding to the full-screen display mode.

[0023] In this solution, during the transition from displaying the interface of the first application in a split-screen mode to displaying the interface of the first application in a full-screen mode on an electronic device, the split-screen manager performs the relevant window operations. By managing window operations associated with the split-screen display mode, the split-screen manager decouples the split-screen mode manager from the full-screen mode manager, resulting in better scalability and maintainability of the electronic device's internal architecture.

[0024] In one possible implementation of the first aspect, the electronic device includes a split-screen motion effect processor. In this scheme, in response to the second operation, the method further includes: the split-screen motion effect processor displaying a motion effect indicating a switch from the second interface to the third interface.

[0025] In one possible implementation of the first aspect, the electronic device includes a split-screen application listener. In this scheme, after displaying a third interface in response to a second operation, the method further includes: the split-screen application listener saving task information about the full-screen display state.

[0026] In one possible implementation of the first aspect, after displaying the second interface in response to the first operation, the method further includes: displaying a fourth interface in response to a third operation, the fourth interface including a desktop; in the fourth interface, the electronic device is in full-screen display mode; the third operation is used to trigger the electronic device to switch from displaying the interface of the first application in the second display mode to displaying the desktop in the full-screen display mode. Specifically, in response to the third operation, the split-screen manager removes the first application from the root node corresponding to the second display mode and triggers the first application to switch to background operation.

[0027] In this solution, during the transition from displaying the interface of the first application in a split-screen mode to displaying the desktop in full-screen mode, the split-screen manager performs the relevant window operations. By managing window operations associated with the split-screen display mode, the split-screen manager decouples the split-screen mode manager from the full-screen mode manager, resulting in better scalability and maintainability of the electronic device's internal architecture.

[0028] In one possible implementation of the first aspect, the electronic device includes a split-screen motion effect processor. In this scheme, in response to the third operation, the method further includes: the split-screen motion effect processor displaying a motion effect indicating a switch from the second interface to the fourth interface.

[0029] In one possible implementation of the first aspect, the electronic device includes a split-screen application listener. In this scheme, after displaying a fourth interface in response to a third operation, the method further includes: the split-screen application listener saving task information about the full-screen display state.

[0030] In one possible implementation of the first aspect, after displaying the second interface in response to the first operation, the method further includes: displaying a fifth interface in response to a fourth operation, the fourth operation being used to trigger the electronic device to launch a second application. Wherein, if the second application supports split-screen display, the fifth interface includes the interfaces of the first application and the second application. In the fifth interface, the electronic device is in a split-screen display state. Wherein, in response to the fourth operation, the split-screen manager removes the first application from the root node corresponding to the second display state and mounts the first application to the root node corresponding to the split-screen display state.

[0031] In this solution, during the transition of an electronic device from displaying the interface of the first application in a half-screen display state to displaying the interfaces of the first and second applications in a split-screen display state, the half-screen manager performs the relevant window operations. By managing window operations associated with the half-screen display state, the half-screen manager decouples the half-screen display state manager from the split-screen display state manager, resulting in better scalability and maintainability of the electronic device's internal architecture.

[0032] In one possible implementation of the first aspect, after displaying the second interface in response to the first operation, the method further includes: displaying a fifth interface in response to a fourth operation, the fourth operation being used to trigger the electronic device to launch a second application. Wherein, if the second application does not support split-screen display, the fifth interface includes the interface of the second application; in the fifth interface, the electronic device is in full-screen display mode; wherein, in response to the fourth operation, the split-screen manager removes the first application from the root node corresponding to the second display state and triggers the first application to switch to background operation.

[0033] In this solution, during the transition of an electronic device from displaying the interface of the first application in a split-screen mode to displaying the interface of the second application in a full-screen mode, the split-screen manager performs the relevant window operations. By managing window operations associated with the split-screen display mode, the split-screen manager decouples the split-screen mode manager from the full-screen mode manager, resulting in better scalability and maintainability of the electronic device's internal architecture.

[0034] Secondly, this application also provides an electronic device. The electronic device may include a display screen, a processor, and a memory. The display screen is used to display an application interface, and the memory is used to store computer execution instructions. The display screen and the memory are respectively coupled to the processor. When the electronic device is running, the processor executes the computer execution instructions stored in the memory to cause the electronic device to perform a window display method as described in any of the first aspects above.

[0035] Thirdly, this application provides a computer-readable storage medium storing instructions that, when executed on a computer, enable the computer to perform any of the window display methods described in the first aspect above.

[0036] Fourthly, a computer program product containing instructions is provided, which, when run on an electronic device, enables the electronic device to execute any of the window display methods described in the first aspect above.

[0037] Fifthly, an apparatus (e.g., a system-on-a-chip) is provided, comprising a processor for supporting an electronic device in performing the functions described in the first aspect above. In one possible design, the apparatus further comprises a memory for storing program instructions and data necessary for the electronic device. When the apparatus is a system-on-a-chip, it may be composed of chips or may include chips and other discrete devices.

[0038] The technical effects of any of the design methods in aspects two through five can be found in the technical effects of different design methods in aspect one, and will not be repeated here. Attached Figure Description

[0039] Figure 1 A schematic diagram of a mobile phone interface provided for an embodiment of this application;

[0040] Figure 2 This is a schematic diagram illustrating the display principle of a mobile phone in a split-screen display state in the prior art;

[0041] Figure 3 A schematic diagram of the architecture involved in a window display method provided in an embodiment of this application;

[0042] Figure 4A A timing diagram of a mobile phone in a scenario where it switches from full-screen display to split-screen display, as provided in an embodiment of this application;

[0043] Figure 4B A schematic diagram illustrating the display principle of a mobile phone in a split-screen display state, provided as an embodiment of this application;

[0044] Figure 5AA flowchart illustrating a process of initiating an animation effect by a split-screen manager, as provided in an embodiment of this application;

[0045] Figure 5B A schematic diagram of a process for storing taskinfo provided in an embodiment of this application;

[0046] Figure 6 A schematic diagram of a mobile phone interface provided for an embodiment of this application;

[0047] Figure 7 A timing diagram of a mobile phone in a scenario where it switches from a split-screen display state to a full-screen display state, as provided in an embodiment of this application;

[0048] Figure 8 A timing diagram of a mobile phone in a scenario where an application is opened on the desktop in a half-screen display state, as provided in an embodiment of this application.

[0049] Figure 9A A timing diagram of the mobile phone in another scenario where an application is opened on the desktop in a half-screen display state, as provided in an embodiment of this application;

[0050] Figure 9B A schematic diagram of a mobile phone interface provided for an embodiment of this application;

[0051] Figure 10 A timing diagram of a mobile phone in a scenario where a search application is launched from the desktop in a half-screen display state, as provided in an embodiment of this application.

[0052] Figure 11 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application;

[0053] Figure 12 This is a framework diagram of a chip system provided in an embodiment of this application. Detailed Implementation

[0054] Figure 1 The illustrations show schematic diagrams of the process by which an electronic device, such as a mobile phone, transitions from a full-screen application interface to a split-screen application interface in some embodiments. Figure 1 As shown in Figure a, when the calculator application interface 100 is displayed in full screen on the phone, the phone responds to the user's operation at the bottom of the screen 100, such as swiping up and pausing, and can display as shown in Figure a. Figure 1 Interface 101 is shown as b in the diagram.

[0055] In this interface 101, a hot zone 101a and a card 101b corresponding to the calculator application interface are displayed. In this interface 101, since the phone displays hot zone 101a, if the phone detects that the user has left the phone screen (i.e., the user releases the card 101b corresponding to the calculator application interface), the phone can place the calculator application interface into the area corresponding to hot zone 101a for display. For example, in... Figure 1 In the scenario shown in b, when the phone detects that the user has left the screen, it can display something like this: Figure 1 Interface 102 is shown as c in the diagram.

[0056] In interface 102, the phone displays part of the calculator application interface 103 and the home screen 104. In interface 102, the user can select an application on the home screen 102 and open the application's interface on the phone screen by triggering the application's icon. For example, in response to the user's triggering operation on the Notes application icon 105 on the home screen 102, the phone displays as shown below. Figure 1 The interface 106 is shown as d in the figure. In this interface 106, the phone displays the calculator application interface 107 and the memo application interface 108 in a split-screen format.

[0057] In the embodiments of this application, in Figure 1 In the process shown, for example Figure 1 The state of the calculator application interface 101 on the phone, shown as 'a' in Figure 'a', can be described as the phone being in full-screen display mode. Regarding... Figure 1 The state shown by 'c' in the diagram, where the phone simultaneously displays part of the calculator app interface 103 and the desktop 104, can be described as the phone being in a split-screen display state. The application displayed on the phone's screen in this state can be called a split-screen application. For example... Figure 1 In the context of "c," when the phone is in a split-screen display state, the calculator app can be considered a split-screen app. For example... Figure 1 The state shown by 'd' in the diagram, where the phone simultaneously displays the calculator interface 107 and the memo application interface 108, can be described as the phone being in split-screen display mode. In split-screen display mode, the applications displayed on the phone's screen can be called split-screen applications. For example... Figure 1 In the context of split-screen mode, both the calculator app and the memo app can be considered split-screen apps.

[0058] It should be noted that, in Figure 1 In the illustrated process, the interface displayed on the mobile phone is merely an example. In other embodiments, the interface displayed on the mobile phone in the above process may also include more than [other interfaces]. Figure 1 The interface shown has more or fewer elements.

[0059] In other embodiments, the different display states of the mobile phone described above can also be named by other names. For example, the half-split-screen display state can also be called the split-screen selection display state.

[0060] Among them, the display principle when the phone is in a split-screen display state is as follows: Figure 2 As shown, only a portion of the split-screen application's interface is displayed on the phone's screen.

[0061] In existing technologies, the process of a mobile phone transitioning from full-screen to split-screen mode triggers changes in application configuration information. Some applications may intentionally exit when their configuration information is updated, causing the electronic device to fail to enter split-screen mode.

[0062] Based on this, this application proposes a window display method to reduce the occurrence of abnormal application exits during the process of switching an electronic device from other display states to a split-screen display state. This method can be applied to electronic devices that support displaying application interfaces in split-screen mode.

[0063] For example, the electronic device can be a mobile phone, tablet computer, personal computer (PC), smart screen, desktop, laptop, handheld computer, notebook computer, ultra-mobile personal computer (UMPC), netbook, wearable device such as a smartwatch, artificial intelligence (AI) speaker, and in-vehicle device. It can also be various teaching aids (such as learning machines and early education machines), smart toys, portable robots, personal digital assistants (PDAs), augmented reality (AR) / virtual reality (VR) devices, media players, etc. Furthermore, it can be a device with mobile office capabilities, a smart home function, an audio-visual entertainment function, or a device supporting smart travel. This application does not impose any special limitations on the specific form of the electronic device.

[0064] The following explanation uses a mobile phone as an example of an electronic device.

[0065] like Figure 3 The diagram shows the architecture involved in the window display method proposed in this application embodiment.

[0066] exist Figure 3In the architecture shown, the phone includes the window manager shell (WM-shell), the WM core, the desktop launcher, and the search application.

[0067] WM-shell is also known as the system user interface (system UI).

[0068] WM-shell can include a split-screen controller, a split-screen transition handler, a split-screen application listener, a task organizer, transitions, a window container transaction handler, and a window organizer.

[0069] In this embodiment, the split-screen manager is used to manage related operations in the split-screen display state, specifically including: handling operations such as entering and exiting the split-screen display state, and window operations that form a split-screen pair. The split-screen manager is also used to communicate with other modules (such as the split-screen manager, floating window manager, etc.).

[0070] The split-screen animation processor is used to handle the animations of all scenes associated with the split-screen display state, including the animations of entering the split-screen display state, exiting the split-screen display state, and forming split-screen equivalent scenes.

[0071] The split-screen application listener manages, records, and saves task information (taskinfo) about the split-screen display state. For example, taskinfo may include a task identifier (taskID), window type, window size, and window position. Windows are used to display the application's interface, and each window corresponds one-to-one with the application's interface.

[0072] The task organizer manages tasks in WM-shell, receiving taskinfo from WM-core and distributing it to the corresponding tasklistener. For example, if the taskinfo from WM-core is determined to be related to the split-screen display state, the task organizer can distribute it to the tasklistener corresponding to the split-screen display state, i.e., the pendingsplit tasklistener. Similarly, if the taskinfo from WM-core is related to the split-screen display state, the task organizer can distribute it to the tasklistener corresponding to the split-screen display state (in...). Figure 3 (Not shown in the image).

[0073] The animation class is the core class in WM-shell for handling the playback of various animations. It manages a list of animation handlers, dispatching animations to the correct handlers for processing and playback. The animation handler list includes identification information for one or more animation handlers.

[0074] The window transaction processor is used to encapsulate all expected window transformations into a window container transaction (WCT) in a single animation flow.

[0075] The window organizer is the manager in WM-shell responsible for handling window transactions. It communicates with WM-core, passing the WCT (Window Control Transaction) that encapsulates window operations to WM-core for parsing and execution.

[0076] WM-core stands for system server.

[0077] WM-core can include a transition controller, a window organizer controller, a task organizer controller, an activity task manager service, a window manager service, transitions, a BLAS sync engine, callback listeners, and an interface manager.

[0078] The motion manager is the core class of the motion process in WM-core. It is used to handle the collection and synchronization of motion participants, as well as to manage the lifecycle of motion effects.

[0079] The Window Organizer is the window handling manager in WM-core. It communicates with WM-shell, parses and executes the WCT passed from WM-shell.

[0080] The Task Organizer is the manager of tasks in WM-core, passing taskinfo to WM-shell.

[0081] The Activity Task Management Service module is used to manage the startup and lifecycle of applications.

[0082] The window management service module is used for window management services and can handle window switching, etc.

[0083] Motion effects are used to manage the motion effect participants that are currently being collected or executed.

[0084] The motion synchronization engine ensures that all collected motion participants are rendered before the motion effects begin to play in a single motion effect process.

[0085] Listener callbacks are used to notify the application of information about the split-screen display status passed from WM-shell via callbacks.

[0086] The interface manager is used to manage various interfaces of the application framework layer, ensuring communication between the system and WM-shell.

[0087] exist Figure 3 In the framework shown, the newly added modules in this embodiment include a split-screen manager, a split-screen animation processor, and a split-screen application listener. These three modules can independently manage information related to the split-screen display state, decoupling the architecture of the split-screen display state from that of the full-screen display state, thereby improving the scalability and maintainability of the electronic device's internal architecture. Furthermore, by adding modules for the split-screen display state to manage information related to it independently, the evolution of multi-screen display states can also be facilitated.

[0088] The above embodiments illustrate the software framework involved in the window display method proposed in this application. The following will combine... Figure 3 The framework shown illustrates the specific implementation of the above methods for several scenarios.

[0089] In some embodiments, the mobile phone displays a first interface, which includes the interface of a first application. On the first interface, the electronic device is in a first display state, and the attributes of the first application are the attributes of the first display state. In response to a first operation, a second interface is displayed, which includes the interface of the first application and a desktop. The first operation triggers the electronic device to switch from the first display state to the second display state, which is a split-screen display state. Furthermore, on the second interface, the attributes of the first application are the same as those of the first display state.

[0090] For example, the first display state mentioned above can specifically be a full-screen display state.

[0091] In this application embodiment, several common scenarios involving the split-screen display state include: switching from full-screen display state to split-screen display state (i.e., entering split-screen display state), switching from split-screen display state to full-screen display state (i.e., exiting split-screen display state), launching a search application on the desktop while in split-screen display state, and opening an application on the desktop while in split-screen display state. Among these, the scenario of opening an application on the desktop while in split-screen display state is further divided into two different cases depending on whether the opened application supports split-screen display: one where the opened application supports split-screen display, and the other where the opened application does not. The implementation process for each of these scenarios is described below. In other embodiments, the scenarios involving the split-screen display state may also include other scenarios, such as switching from a floating window display state to a split-screen display state, or switching from a split-screen display state to a split-screen display state, which are not listed in this application embodiment.

[0092] Figure 4A The following are timing diagrams of the mobile phone in some embodiments when switching from full-screen display to split-screen display.

[0093] exist Figure 4A In the example shown, the phone is in full-screen mode; specifically, the phone displays the interface of application A in full-screen mode. In some embodiments, the interface displayed by the phone in full-screen mode can be referred to as the first interface, which includes the interface of application A. It should be noted that application A is not a desktop application. For example, application A could be a calculator application, such as... Figure 1 As shown in 'a', the phone displays the calculator application interface in full screen.

[0094] S401. Desktop launcher receives user operations 1.

[0095] Operation 1 is used to trigger the phone to switch from full-screen display to split-screen display. For example, Operation 1 can specifically correspond to... Figure 1The action shown in 'a' is a user swiping up from the bottom of the screen and pausing briefly. In some embodiments, action 1 can be referred to as the first action.

[0096] However, some applications do not support split-screen display. As explained above, the half-split-screen display state is a display state preceding the actual split-screen display state. If an application, such as application X, does not support split-screen display, then when the phone detects operation 1 while application X is displayed in full-screen mode, it will not enter split-screen display mode. Conversely, if application X supports split-screen display, then when the phone detects operation 1 while application X is displayed in full-screen mode, it can enter split-screen display mode.

[0097] In this embodiment of the application, application A is used as an example to illustrate the concept.

[0098] Whether an application supports split-screen display can be determined by querying the application's attributes. The phone pre-stores the attributes of the applications already installed. When operation 1 is detected, the phone can obtain the application identifier of the currently displayed application (which can be called the application identifier corresponding to operation 1), and based on this application identifier, query the application's attributes to determine whether the application supports split-screen display.

[0099] In some embodiments, after the desktop launcher detects operation 1, it can determine whether the currently displayed application, i.e., application A, supports split-screen display through methods S402-S405.

[0100] S402. The desktop launcher sends the first request to the interface manager.

[0101] S403. The Interface Manager sends the first request to the Split-Screen Manager.

[0102] The first request can carry the operation information for operation 1.

[0103] In some embodiments, the operation information for operation 1 may include the application identifier corresponding to operation 1. As described above, in this embodiment, when operation 1 is detected, the phone displays the interface of application A in full screen. Therefore, in this embodiment, the application identifier corresponding to operation 1 may specifically be the application identifier of application A.

[0104] The first request is used to request the acquisition of hot zones.

[0105] The desktop launcher sending the first request to the interface manager, and the interface manager sending the first request to the split-screen manager, can be understood as the desktop launcher calling the application framework layer interface in the interface manager to request the hotspot from the WM-shell split-screen manager.

[0106] In scenarios where the display changes from full-screen to split-screen mode, if the full-screen application supports split-screen display, the phone can display a hotspot on the screen during the transition from full-screen to split-screen mode after detecting operation 1. For example... Figure 1 In the context of 'a', when the phone is displaying the calculator app in full-screen mode (100%), in response to the user swiping up from the bottom of the screen and pausing briefly, the following display will appear: Figure 1 The hot zone 101a is shown in b in the diagram. Therefore, it can be concluded that in... Figure 1 In the example shown, the calculator app supports split-screen display.

[0107] Therefore, after detecting operation 1, the desktop launcher sends a first request to the split-screen manager by calling the interface in the interface manager. Correspondingly, the split-screen manager can calculate the hot zone based on the first request, such as the area of ​​the hot zone. For example, S404.

[0108] The S404 split-screen manager responds to the first request and calculates the area of ​​the hot zone.

[0109] In some embodiments, after receiving the first request, the split-screen manager can calculate the area of ​​the hot zone based on the application identifier corresponding to operation 1 carried in the first request.

[0110] As explained above, when application A supports split-screen display, the phone can enter a half-split-screen display state in response to operation 1. Accordingly, in some embodiments, when application A supports split-screen display, the area of ​​the hot zone determined by the half-split-screen manager in response to the first request is not empty. Specifically, when application A supports split-screen display, the area of ​​the hot zone determined by the half-split-screen manager in response to the first request may include the location of the hot zone. The specific implementation of the half-split-screen manager calculating the area of ​​the hot zone in response to the first request can be found in the descriptions in related technologies.

[0111] Conversely, if application A does not support split-screen display, the phone will not enter a half-split-screen display state in response to operation 1. Accordingly, in some embodiments, if application A does not support split-screen display, the area of ​​the hot zone determined by the half-split-screen manager in response to the first request is empty.

[0112] S405. The split-screen manager returns the hot zone area to the desktop launcher.

[0113] After receiving the hotspot area returned by the split-screen manager, the desktop launcher can determine whether the hotspot area is empty. Based on the result of this determination, it can be determined whether application A supports split-screen display. Specifically, if the hotspot area is not empty, it means application A supports split-screen display; if the hotspot area is empty, it means application A does not support split-screen display.

[0114] As explained above, application A supports split-screen display. Therefore, in this embodiment, the area of ​​the hot zone returned by the split-screen manager to the desktop launcher is not empty. The fact that the hot zone is not empty indicates that the phone can enter the split-screen display state in response to operation 1, and thus S406-S413 can be executed at this time.

[0115] S406. The desktop launcher sends a second request to the interface manager.

[0116] The second request is used to request entry into the split-screen display state.

[0117] In some embodiments, the second request may carry the application identifier corresponding to operation 1. In this embodiment, the application identifier corresponding to operation 1 is the application identifier of application A.

[0118] S407. The Interface Manager sends a second request to the Split-Screen Manager.

[0119] The desktop launcher sends a second request to the interface manager, and the interface manager sends a second request to the split-screen manager. In reality, the desktop launcher calls the application framework layer interface in the interface manager to request the split-screen manager of WM-shell to enter the split-screen display state.

[0120] S408. The split-screen manager calls the first preset method to switch to split-screen display mode.

[0121] The first preset method is used to trigger the window operation that enters the split-screen display state. The first preset method can be denoted as the enteringpendingsplit method.

[0122] It should be noted that in S408 above, the split-screen manager calls the first preset method to switch to a split-screen display state. Specifically, this refers to the update of information involved in updating the display state to a split-screen display state at the underlying level, and does not yet involve updating the interface displayed on the screen. The specific implementation of updating the display interface to a split-screen display state will be described in later embodiments.

[0123] In some embodiments, after the split-screen manager calls the first preset method, the window operation to be performed to enter the split-screen display state may specifically include: the split-screen manager attaches the application (i.e., the above-mentioned application A) to the root node (root task, or root task) corresponding to the split-screen display state.

[0124] A root task can be used to describe the state, layout, and behavior of a task. A root task can include multiple attributes. In some embodiments, the attributes of a root task can include: window mood, bounds, whether it is on top, etc.

[0125] In this embodiment, a root task corresponding to the split-screen display state is created for displaying and managing split-screen applications in this state. This allows for better handling of scenarios involving transitions between root tasks, management of the root task's lifecycle, and timely setting and restoring of the split-screen display state.

[0126] The window mode attribute of the root task determines how the task is displayed. Common values ​​for the window mode attribute of the root task include full-screen mode and split-screen mode. Generally, the window mode attribute of the root task in full-screen display mode is set to full-screen mode, and the window mode attribute of the root task in split-screen display mode is set to split-screen mode.

[0127] The boundary attributes of a root task define its display area, including its size and position. Common boundary attribute values ​​for root tasks include the boundary in full-screen mode and the boundary in split-screen mode. Typically, the boundary attribute value for a root task in full-screen mode is the boundary of the full-screen mode, and the boundary attribute value for a root task in split-screen mode is the boundary of the split-screen mode.

[0128] In existing technologies, after entering a split-screen display state, the phone typically mounts the split-screen application to the root task corresponding to that state. Therefore, when switching from full-screen to split-screen display, the window mode attribute value of the application's root task will be updated from full-screen mode to split-screen mode. Similarly, the boundary attribute value of the application's root task will be updated from the full-screen mode boundary to the split-screen mode boundary. In other words, during the display state switching process, the window mode attribute value and boundary attribute value of the application's root task change.

[0129] For example, if a phone displays the interface of application A in full-screen mode and then switches to split-screen mode in response to a user interaction, displaying application A's interface in split-screen mode, the window mode attribute and boundary attribute values ​​of the root task corresponding to application A will change during this process. However, some applications may experience an abnormal situation where they intentionally exit if their configuration information, such as the window mode attribute value and / or boundary attribute value of the root task corresponding to the application, is updated, causing the phone to fail to enter split-screen mode.

[0130] In this embodiment, the root task corresponding to the split-screen display state supports adjusting the window mode attribute value and the boundary attribute value.

[0131] In some embodiments, before mounting application A to the root task corresponding to the split-screen display state in step S408, the split-screen manager may further include updating the attribute values ​​of the root task corresponding to the split-screen display state to be consistent with the attribute values ​​of the root task currently corresponding to application A. The updated attribute values ​​for the root task may include window mode attribute values ​​and boundary attribute values.

[0132] Taking the update of root task attribute values, including window mode attribute values, as an example, before mounting application A to the root task corresponding to the split-screen display state, application A should still be displayed in full-screen mode. Therefore, before mounting application A to the root task corresponding to the split-screen display state, the window mode attribute value of the root task corresponding to application A should be the window mode attribute value of the root task in full-screen mode, i.e., full-screen mode. In other words, in this embodiment, before mounting application A to the root task corresponding to the split-screen display state, the split-screen manager first updates the window mode attribute value of the root task corresponding to the split-screen display state to full-screen mode. Thus, after the split-screen manager mounts application A to the root task corresponding to the split-screen display state, the root task corresponding to application A is updated to the root task corresponding to the split-screen display state, but the window mode attribute value of the root task corresponding to the split-screen display state remains full-screen mode. That is, the window mode of application A does not change when the phone is in full-screen or split-screen display states, thus avoiding the problem of application A exiting due to changes in the window mode attribute value.

[0133] Similarly, when the updated attribute values ​​for the root task include boundary attribute values, before mounting application A to the root task corresponding to the split-screen display state, the boundary attribute values ​​of the root task corresponding to application A should be the same as those of the root task in full-screen display state, i.e., the boundary of full-screen mode. In this embodiment, before mounting application A to the root task corresponding to the split-screen display state, the split-screen manager first updates the boundary attribute values ​​of the root task corresponding to the split-screen display state to the boundary of full-screen mode. Therefore, after the split-screen manager mounts application A to the root task corresponding to the split-screen display state, the root task corresponding to application A is updated to the root task corresponding to the split-screen display state, but the boundary attribute values ​​of the root task corresponding to the split-screen display state remain the boundary of full-screen mode. That is, the boundary of application A does not change when the phone is in full-screen or split-screen display state, thus avoiding the problem of application A exiting due to changes in boundary attribute values.

[0134] Specifically, before mounting application A to the root task corresponding to the half-screen display state, the half-screen manager updates the boundary attribute value of the root task corresponding to the half-screen display state to the ratio of the boundary of the full-screen mode. This can include: the half-screen manager updates the display size in the boundary attribute value of the root task corresponding to the half-screen display state to be consistent with the ratio of the display size in the boundary attribute value of the full-screen mode.

[0135] like Figure 4B The diagram illustrates the display principle in a split-screen display state according to an embodiment of this application. In this example, after the phone attaches application A to the root task corresponding to the split-screen display state, the display size of the application in the split-screen state is the same as the display size of application A in the full-screen state. Alternatively, after the phone attaches application A to the root task corresponding to the split-screen display state, the ratio of the display size of the application in the split-screen state to the display size of application A in the full-screen state is the same.

[0136] In the technical solution proposed in this application embodiment, the half-screen manager updates the window mode attribute value and boundary attribute value of the root task corresponding to the half-screen display state before mounting application A to the root task corresponding to the half-screen display state, thereby avoiding the problem of application A exiting due to changes in boundary attribute values.

[0137] Furthermore, the split-screen display state can be understood as a transitional display state between the full-screen display state and the split-screen display state. In this embodiment, in the split-screen display state, the window mode corresponding to the application displayed in the split-screen window remains in full-screen mode, thereby avoiding the incompatibility problem of applications displayed in the split-screen window in the split-screen display state.

[0138] In some embodiments, in the above S408, the window operation to be performed by the half-screen manager when calling the first preset method further includes: after the half-screen manager mounts application A to the root task corresponding to the half-screen display state, setting the attribute value of whether the root task corresponding to the half-screen display state is on top to true, that is, the root task corresponding to the half-screen display state is always on top.

[0139] In this solution, the attribute value of the "whether to be on top" property of the root task corresponding to the half-screen display state is set to "always on top". When the focus switches to a window or view other than the half-screen application's window in the half-screen display state, the root task corresponding to the half-screen display state, and the application mounted under that root task (application A in this example), will not be moved to the background and will remain visible. For example, in... Figure 1 In the split-screen display state shown by c, when the user performs an operation on the desktop 104, the window of the split-screen application 103 always remains in the foreground.

[0140] S409. The split-screen manager calls the interface provided by the window transaction processor to encapsulate the window transformation information during the process of switching the display state to the split-screen display state into WCT.

[0141] In some embodiments, the window transformation information may specifically include: the boundary information of the switched window. In this embodiment, the switched display state is a half-screen display state, and the window after the display state switch is: the window used to display the interface of the half-screen application after the display state switch, which can be referred to as the half-screen window. For example, the window after the display state switch corresponds to Figure 1 The window shown as c in the figure is the interface 103 used to display the calculator application.

[0142] The window transformation information during the process of switching the display state to a split-screen display state is encapsulated into WCT, so that WCT can be submitted to the WM-core side for window transformation in the future.

[0143] Additionally, after S408, the split-screen manager can notify the desktop launcher of window information by calling the WM-core listener callback, so that the desktop launcher can perform desktop layout and avoidance, as in S410-S412.

[0144] The S410 split-screen manager sends a call request to the listener callback.

[0145] In some embodiments, the call request carries window information.

[0146] Window information may include: the status indicator of the display state to be entered, the application identifier of the application whose interface needs to be displayed in the display state to be entered, and obstacle avoidance information.

[0147] The status indicator of the display state to be entered can specifically indicate the display state that is about to be entered, hereinafter referred to as the target display state. In this embodiment, as can be known from the second request, the target display state is a split-screen display state.

[0148] The application identifier of the application whose interface needs to be displayed in the pending display state can be determined based on the second request.

[0149] The avoidance information is used to indicate the display information of the window used to display the interface of the split-screen application on the screen in the split-screen display state. For example, the avoidance information may specifically include information such as the display size and display position of the window used to display the interface of the split-screen application.

[0150] S411. In response to the call request, the listener callback sends window information to the desktop launcher.

[0151] S412. The desktop launcher uses window information to arrange the desktop layout and avoid obstacles.

[0152] During the switching of display states, the phone displays corresponding animation effects on the screen. Therefore, an animation process needs to be initiated, such as S413.

[0153] S413. The split-screen manager initiates an animation process.

[0154] In this embodiment, the split-screen manager initiates an animation process, which triggers the phone to play the animation. Specifically, the animation corresponds to the animation that switches from full-screen display mode to split-screen display mode.

[0155] Understandably, after the phone displays an animation switching from full-screen to split-screen mode, it means the phone has entered split-screen mode. In this split-screen mode, the phone displays the interface and desktop of application A. For example... Figure 1As shown in d, in response to operation 1, the mobile phone displays the calculator application interface 103 and the desktop 104. In some embodiments, in this split-screen display state, the interface displayed by the mobile phone can be referred to as the second interface, which includes the interface of application A and the desktop.

[0156] In this embodiment, for scenarios switching from full-screen to split-screen display, a newly added split-screen manager manages the information of the split-screen display state, decoupling it from the architecture of full-screen and split-screen display states. Furthermore, the split-screen manager updates the window mode and boundary attribute values ​​of the root task corresponding to the split-screen display state before mounting application A to it, thus preventing application A from exiting due to attribute value changes.

[0157] The following combination Figure 5A The specific implementation of S413 above will be explained.

[0158] S501. The split-screen manager sends the first message to the animation class.

[0159] The first message is used to instruct the animation class to start the animation process.

[0160] In some embodiments, the first message may carry the WCT obtained from the encapsulation in S409. As can be seen from the above description of S409, the WCT includes window transformation information during the process of switching the display state to the half-screen display state.

[0161] S502. The motion effects class sends WCT to the window organizer.

[0162] S503. The window organizer sends a WCT to the window organizer manager.

[0163] S504. The Window Organizer parses and executes WCT.

[0164] S505. The window organization manager triggers the animation manager to collect animation participants.

[0165] S506. Motion Manager collects motion participants.

[0166] In this context, motion effect participants refer to views or windows that need to change during the motion effect process. Thus, motion effect participants are the core objects of the motion effect, and their state changes (such as position, size, transparency, etc.) constitute the visual effect of the motion effect.

[0167] After the motion effects manager has collected the motion effects participants, the collected motion effects participants can be drawn.

[0168] After all motion participants collected by the motion manager have been drawn, S507 can be executed.

[0169] S507. The motion synchronization engine sends a second message to the motion.

[0170] The second message is used to notify the animation to start playing.

[0171] S508. Send animation to the animation class.

[0172] S509. The motion effect class determines the corresponding motion effect processor.

[0173] After receiving an animation, the animation class in WM-shell can determine the corresponding animation handler based on that animation. As explained above, the animation class manages a list of animation handlers. Therefore, in S509 above, the animation class can determine the animation handler corresponding to the received animation by traversing the animation handler list.

[0174] In scenarios where the display changes from full-screen to split-screen mode, the animation received by the animation class corresponds to the animation that caused the change. In some embodiments of this application, a split-screen animation processor is added to the mobile phone for animations related to the split-screen display state. Therefore, in scenarios where the display changes from full-screen to split-screen mode, the animation processor determined by the animation class in S509 above should be the split-screen animation processor.

[0175] After the corresponding motion effect processor is determined for the motion effect class, the motion effect can be sent to the corresponding motion effect processor for display, such as S510-S511.

[0176] S510. The motion effects class sends motion effects to the split-screen motion effects processor.

[0177] S511. Half-screen animation processor displays animation effects.

[0178] The aforementioned S511 corresponds to a mobile phone screen that plays animations during the switching process of display animations. For example, in a scenario where the display state switches from full-screen to half-screen display state, the aforementioned S511 corresponds to a mobile phone screen that plays animations showing the transition from full-screen to half-screen display state, such as... Figure 1 a to Figure 1 The animation effect of process c in the figure.

[0179] Additionally, after all motion participants collected by the motion manager in S506 have completed their rendering, the WM-core side can also send the changed taskinfo to WM-shell for storage. For details, please refer to... Figure 5B .

[0180] The S512 motion synchronization engine sends changed taskinfo to the task organization manager.

[0181] The changed taskinfo specifically refers to the taskinfo that changes during the process of display state changes in the current scene.

[0182] As explained above, taskinfo can specifically include task identifier, window type, window size, and window position. During the display state transition, the window type, window size, and window position may all change.

[0183] S513. The Task Organizer sends the changed taskinfo to the Task Organizer.

[0184] S514. The task organizer sends changed taskinfo to the split-screen application listener.

[0185] The S515 split-screen application listener saves taskinfo to a list.

[0186] By using the above method, the changed taskinfo is stored in the WM-shell split-screen application listener. This allows the WM-shell side to obtain the latest taskinfo in a timely manner.

[0187] In this embodiment, in scenarios involving split-screen display, the latest taskinfo is managed by a split-screen application listener. This decouples the architecture in split-screen display from the architecture in full-screen display, thereby improving the scalability and maintainability of the phone's internal architecture.

[0188] For scenarios involving switching from a split-screen display to a full-screen display, there are two scenarios: the first is switching from a split-screen display of application A's interface to a full-screen display of application A's interface. The second is switching from a split-screen display to a full-screen display of the desktop.

[0189] like Figure 6 As shown in Figure 'a', the phone is in a split-screen display state, displaying interface 201. This interface 201 includes a portion of the calculator application's interface 202 displayed in split-screen mode, and a desktop 203. The phone can switch to full-screen display mode in response to a user's back operation, such as swiping from the right (or left) side of the screen towards the center. Furthermore, in this full-screen display mode, the screen displays... Figure 6 The calculator application interface 204 is shown in b.

[0190] Or, in Figure 6In the split-screen display state shown by 'a', the phone responds to user actions such as swiping from the bottom of the screen towards the center to return to the home screen, thus switching to full-screen mode. Furthermore, in this full-screen mode, the full-screen display is as follows: Figure 6 Desktop 205 is shown as c in the image.

[0191] Figure 7 The timing diagram of the mobile phone is shown in the scenario of switching from a split-screen display state to a full-screen display state.

[0192] In this embodiment, the initial state of the mobile phone is a half-screen display state, and the interface of application A is displayed in the half-screen window of the half-screen display state as an example.

[0193] S601. Desktop launcher receives user operations 2.

[0194] Operation 2 can be used to trigger the phone to switch from split-screen display to full-screen display; or it can be called triggering the phone to exit split-screen display.

[0195] For example, operation 2 can specifically correspond to, as follows: Figure 6 In the scenario shown in 'a', the user performs a back operation or a return to the desktop operation.

[0196] As an example, operation 2 is as follows: Figure 6 In the scenario shown in Figure 'a', the user performs a back operation, which can be referred to as the second operation. In this example, the second operation specifically triggers the phone to switch from displaying the interface of application A in a half-screen display state to displaying the interface of application A in a full-screen display state.

[0197] As another example, operation 2 is as follows: Figure 6 In the scenario shown in Figure 'a', the user performs the action of returning to the desktop. This action 2 can be referred to as the third action. In this example, the third action specifically triggers the phone to switch from displaying the interface of application A in a half-screen display state to displaying the desktop in a full-screen display state.

[0198] S602. The desktop launcher sends a third request to the interface manager.

[0199] The third request is used to request to exit the split-screen display state.

[0200] S603. The interface manager sends a third request to the split-screen manager.

[0201] The desktop launcher sends a third request to the interface manager, and the interface manager sends a third request to the split-screen manager. In reality, the desktop launcher calls the application framework layer interface in the interface manager to request the WM-shell split-screen manager to exit the split-screen display state.

[0202] S604. The split-screen manager calls the second preset method to switch to full-screen display mode.

[0203] The second preset method is used to trigger the window operation that enters the split-screen display state. This second preset method can be denoted as the `exitpendingsplit` method.

[0204] When entering split-screen display mode, the split-screen manager calls the first preset method; similarly, when exiting split-screen display mode, the split-screen manager calls the second preset method. It's understandable that entering and exiting split-screen display mode are two opposite processes; correspondingly, the window operations performed by the split-screen manager using the second preset method are the opposite of those performed using the first preset method.

[0205] It should be noted that in the above S604, the split-screen manager calls the first preset method to switch to full-screen display mode. Specifically, this refers to the update of information involved in updating the display mode to full-screen display mode at the underlying level, and does not involve the update of the interface displayed on the screen yet.

[0206] In some embodiments, after the split-screen manager calls the first preset method, the window operation to be performed to enter the split-screen display state may specifically include: moving the split-screen application out of the root task corresponding to the split-screen display state, and updating the attributes of the root task corresponding to the application. After moving the split-screen application out of the root task corresponding to the split-screen display state, the root task used to mount the moved application can be called the new root task, or it can also be called the new parent node.

[0207] As explained above, prior to S601, the application displayed in the split-screen mode was application A. Exiting the split-screen mode involved two scenarios: either the phone then displayed application A's interface in full screen, or the phone displayed the desktop in full screen.

[0208] Regarding the first scenario described above, if the phone displays the interface of application A in full screen after exiting the split-screen display state, it indicates that application A remains running in the foreground. In this embodiment, the attribute of the updated root task corresponding to the application may specifically include: the split-screen manager sets the attribute value of whether the new root task used to mount application A is on top to the top level, to ensure that application A is displayed in the foreground after the second preset method is called.

[0209] Regarding the first scenario described above, if the phone displays the desktop in full screen after exiting the split-screen display state, application A should run in the background. In this embodiment, the attributes of the root task corresponding to the updated application may specifically include: the split-screen manager sets the attribute value of whether the new root task used to mount application A is on top to the bottom layer, to ensure that application A switches to background display after the second preset method is called.

[0210] In addition, the window operations performed by calling the second preset method may also include: resetting the relevant state of the new root task to ensure that the new root task corresponds to the full-screen display state.

[0211] S605. Call the interface provided by the window transaction processor to encapsulate the window transformation information during the process of switching the display state to full-screen display state into WCT.

[0212] The S606 split-screen manager sends a call request to the listener callback.

[0213] S607. In response to the call request, the listener callback sends full-screen display information to the desktop launcher.

[0214] S608. The desktop launcher lays out the desktop based on the displayed information.

[0215] For the specific implementation of S605-S608 above, please refer to Figure 4A The descriptions of S409-S413 in the document will not be repeated here.

[0216] S609. The split-screen manager initiates an animation process.

[0217] In this embodiment, the split-screen manager initiates an animation process, which triggers the phone to play the animation. Specifically, the animation corresponds to the animation that switches from the split-screen display state to the full-screen display state.

[0218] Understandably, after the phone plays the animation switching from split-screen to full-screen mode, it means the phone has entered full-screen mode. In this full-screen mode, the phone displays the interface of application A. For example... Figure 6As shown in b, in response to operation 2, the mobile phone displays the calculator application interface 204. In some embodiments, in this full-screen display state, the interface displayed by the mobile phone can be referred to as the third interface, which includes the interface of application A.

[0219] Alternatively, after the phone plays an animation switching from split-screen to full-screen mode, the phone enters full-screen mode. In full-screen mode, the phone displays the home screen. For example... Figure 6 As shown in c, in response to operation 2, the mobile phone displays desktop 205. In some embodiments, in this full-screen display state, the interface displayed by the mobile phone can be referred to as a fourth interface, which includes the desktop.

[0220] Among them, the specific implementation process of S609 and Figure 5A The processes shown are similar, the difference lies in the different scenarios and corresponding animations.

[0221] Additionally, following S609, the following can also be executed: Figure 5B The process shown is similar to the operation to ensure that WM-shell can obtain the latest taskinfo in a timely manner after switching from split-screen display to full-screen display.

[0222] As explained above, there are two scenarios when opening an application on the desktop in a split-screen display state. The first scenario is a newly opened application, such as application B which supports split-screen display. Figure 8 As shown, it illustrates the timing diagram of the mobile phone in this scenario.

[0223] In this embodiment, the initial state of the mobile phone is a half-screen display state, and the interface of application A is displayed in the half-screen window of the half-screen display state as an example.

[0224] S701. The desktop launcher detected the user's action 3.

[0225] Operation 3 is used to trigger the phone to launch application B. In this embodiment, application B supports split-screen display.

[0226] In some embodiments, operation 3 can specifically be a user's triggering action on the icon of application B while in a split-screen display state. Taking application A as a calculator application and application B as a memo application as an example, operation 3 can correspond to the user's action on the icon of application B. Figure 1 The trigger operation is shown in c in the image, which is the icon 105 of the memo application. In some embodiments, operation 3 can be referred to as the fourth operation.

[0227] S702. The desktop launcher sends a third request to the Active Task Manager service module.

[0228] The third request is used to request the startup of application B.

[0229] S703. The Activity Task Manager service module responds to a third request to start application B.

[0230] S704. The Activity Task Manager service module sends a third message to the animation.

[0231] The third message is used to instruct the creation of an animation to launch application B, denoted as the first application launch animation.

[0232] S705. The motion effect sends the first application startup motion effect to the motion effect class.

[0233] S706. The motion effect class determines the motion effect processor corresponding to the first application startup motion effect.

[0234] Since application B is launched in a half-screen display state in this embodiment, the animation processor corresponding to the first application launch animation in S706 above is the half-screen animation processor.

[0235] S707. The motion effects class sends the first application startup motion effect to the split-screen motion effects processor.

[0236] S708. The split-screen animation processor displays the first application startup animation.

[0237] The S709 split-screen animation processor attaches application A and application B to the root task corresponding to the split-screen display state.

[0238] By attaching application A and application B to the root task corresponding to the split-screen display state, the corresponding phone will display the interface of application A and the interface of application B in two split-screen windows respectively.

[0239] The S710 split-screen animation processor sends notification window information to WM-core.

[0240] exist Figure 8 In the example shown, after S710, the phone enters split-screen display mode, simultaneously displaying the interfaces of application A and application B. In some embodiments, the interface displayed by the phone in this split-screen display mode can be referred to as the fifth interface, which includes the interfaces of application A and application B. Figure 1 As shown in d, in response to the user's trigger operation on the Notes app icon 105, the phone simultaneously displays the Calculator app interface 107 and the Notes app interface 108 in split-screen display mode.

[0241] The second scenario in split-screen display mode involves opening an application on the desktop, where the application is newly opened, such as application C, which does not support split-screen display. Figure 9AAs shown, it illustrates the timing diagram of the mobile phone in this scenario.

[0242] In this embodiment, the initial state of the mobile phone is a half-screen display state, and the interface of application A is displayed in the half-screen window of the half-screen display state as an example.

[0243] S801. The desktop launcher detected the user's operation 4.

[0244] Operation 4 is used to trigger the phone to launch application C. In this embodiment, application C does not support split-screen display.

[0245] In some embodiments, operation 4 can specifically be a user-triggered operation on the icon of application C in a split-screen display state. Taking application C as a game application as an example, such as... Figure 9B As shown in Figure 'a', the phone is in a split-screen display state, showing the calculator application interface 301 and the desktop 302. The desktop 302 includes a game application icon 303. Operation 4 above corresponds to... Figure 9B In step a, the user's trigger operation on the game application icon 303. In some embodiments, operation 4 can be referred to as the fourth operation.

[0246] S802. The desktop launcher sends a fourth request to the Active Task Manager service module.

[0247] The fourth request is used to request the startup of application C.

[0248] S803. The Activity Task Manager service module responds to the fourth request to start application C.

[0249] S804. The Activity Task Manager service module sends a fourth message to the animation.

[0250] The fourth message is used to instruct the creation of a startup animation for application C, denoted as the second application startup animation.

[0251] S805. Animation sends a second application startup animation to the animation class.

[0252] S806. The motion effect class determines the motion effect processor corresponding to the second application startup motion effect.

[0253] Since application C is launched in a half-screen display state in this embodiment, the animation processor corresponding to the second application launch animation in S806 above is the half-screen animation processor.

[0254] S807. The motion effects class sends the second application startup motion effect to the split-screen motion effects processor.

[0255] The S808 split-screen animation processor displays the startup animation of the second application.

[0256] The S809 split-screen motion processor attaches application C to the root task corresponding to the full-screen display state.

[0257] By attaching application C to the root task corresponding to full-screen mode, the corresponding phone will display the interface of application C in a full-screen window.

[0258] The S810 split-screen animation processor sends notification window information to WM-core.

[0259] exist Figure 9A In the example shown, after S810, the phone enters full-screen display mode, displaying the interface of application B in full-screen mode, while application A runs in the background. In some embodiments, the interface displayed by the phone in this full-screen display mode can be referred to as the fifth interface, which includes the interface of application B. Figure 9B As shown in b, in response to the user's trigger operation on the game application icon 303, the phone displays the game application interface 304 in full-screen mode. It should be noted that... Figure 9B In the scenario shown in b, the calculator application runs in the background.

[0260] It should be noted that the scenarios for launching an application in a split-screen display state include those mentioned above. Figure 8 and Figure 9B The differences between the scenarios in the two examples and those for entering and exiting the split-screen display state are as follows: In the scenarios of entering and exiting the split-screen display state, the animation flow is initiated by WM-shell, i.e., a transition is initiated. However, in the scenario of launching the application in the split-screen display state, the transition is initiated by WM-core. The subsequent flow after initiating the transition is the same as in the scenarios of entering and exiting the split-screen display state.

[0261] like Figure 10 The image shows the timing diagram of a mobile phone in a scenario where the search application is launched from the desktop in a half-screen display state.

[0262] In this embodiment, the initial state of the mobile phone is a half-screen display state, and the interface of A is applied in the half-screen window of the half-screen display state as an example for explanation.

[0263] S901. Desktop launcher receives user operations 5.

[0264] Operation 5 can be used to launch the search application in a split-screen display state.

[0265] Search apps are applications installed on mobile phones to help users quickly find various information, including apps, files, web pages, and information such as calendars, contacts, and music.

[0266] S902. The desktop launcher sends a fifth request to the activity task management service module.

[0267] The fifth request is used to request the launch of the search application.

[0268] S903. The Activity Task Management Service Module responds to the fifth request by launching the search application.

[0269] S904. The Activity Task Management Service Module sends the fifth message to the animation.

[0270] The fifth message is used to instruct the creation of an animation that launches the search application, denoted as the third application launch animation. Specifically, the third application launch animation corresponds to the animation that launches the search application from the desktop in half-screen display mode.

[0271] S905. Animation effect sends a third application startup animation to the animation effect class.

[0272] S906. The motion effect class determines the motion effect processor corresponding to the third application startup motion effect.

[0273] In this embodiment, since the third application launch animation is used to launch the search application, and the search application is located on the desktop, the animation processor corresponding to the third application launch animation is not the half-screen animation processor.

[0274] For example, in this embodiment, the motion effect class determines the corresponding motion effect processor, which is denoted as the target motion effect processor.

[0275] S907. The motion effect class sends the third application startup motion effect to the target motion effect processor.

[0276] S908. The target animation processor displays the startup animation of the third application.

[0277] exist Figure 10 In the example shown, after S909, the phone is still in split-screen display mode, with the interface of application A still displayed in the half-split-screen window, and the interface for searching applications displayed on the desktop.

[0278] The implementation process of the window display method proposed in the embodiments of this application has been described above. The following will briefly introduce an electronic device that applies the above window display method.

[0279] like Figure 11The diagram shown is a structural schematic of an electronic device 1000 provided in an embodiment of this application. The electronic device 1000 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, antenna 1, antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a sensor module 180, buttons 190, a motor 191, a camera 192, a display screen 193, and a subscriber identification module (SIM) card interface 194, etc. The sensor module 180 may include a pressure sensor 180A, a touch sensor 180B, etc.

[0280] It is understood that the structures illustrated in the embodiments of this application do not constitute a specific limitation on the electronic device 1000. In other embodiments of this application, the electronic device 1000 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.

[0281] Processor 110 may include one or more processing units, such as an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural network processing unit (NPU). Different processing units may be independent devices or integrated into one or more processors. For example, processor 110 is used to execute the window display method in the embodiments of this application.

[0282] The controller can be the nerve center and command center of the electronic device 1000. The controller can generate operation control signals according to the instruction opcode and timing signals to complete the control of instruction fetching and execution.

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

[0284] Internal memory 121 can be used to store executable program code, which includes instructions. Processor 110 executes various functional applications and data processing of electronic device 1000 by running the instructions stored in internal memory 121. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system and at least one application program required for a given function (such as sound playback, image playback, etc.).

[0285] Furthermore, the internal memory 121 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. In this embodiment, the internal memory 121 may pre-store animation effects for various scenarios.

[0286] The wireless communication function of the electronic device 1000 can be implemented through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor, and baseband processor.

[0287] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 1000 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.

[0288] The mobile communication module 150 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the electronic device 1000. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1.

[0289] The wireless communication module 160 can provide solutions for wireless communication applications on the electronic device 1000, including wireless local area networks (WLAN) (such as Wi-Fi), Bluetooth, Global Navigation Satellite System (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR). The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signal, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.

[0290] In some embodiments, antenna 1 of electronic device 1000 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling electronic device 1000 to communicate with networks and other devices via wireless communication technology.

[0291] Electronic device 1000 implements display functions through a GPU, a display screen 193, and an application processor. The GPU is a microprocessor for image processing, connected to the display screen 193 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.

[0292] The display screen 193 is used to display images, videos, etc. In some embodiments, the electronic device 1000 may include one or N display screens 193, where N is a positive integer greater than 1. In the embodiments of this application, the display screen 193 can be used to display application interfaces and animations in various scenes.

[0293] The window display methods described in the above embodiments can all be implemented in the electronic device 1000 with the above hardware structure.

[0294] Other embodiments of this application provide an electronic device (such as a mobile phone). The electronic device may include a memory and one or more processors. The memory is coupled to the processors. The memory is also used to store computer program code, which includes computer instructions. When the processor executes the computer instructions, the electronic device can perform various functions or steps performed by the mobile phone in the above method embodiments. The structure of the electronic device can be referred to... Figure 11The structure of the electronic device 1000 shown.

[0295] This application also provides a chip system, such as... Figure 12 As shown, the chip system 1100 includes at least one processor 1101 and at least one interface circuit 1102. The processor 1101 and the interface circuit 1102 are interconnected via lines. For example, the interface circuit 1102 can be used to receive signals from other devices (e.g., a computer's memory). As another example, the interface circuit 1102 can be used to send signals to other devices (e.g., the processor 1101). Exemplarily, the interface circuit 1102 can read instructions stored in memory and send those instructions to the processor 1101. When the instructions are executed by the processor 1101, the computer can perform the steps in the above embodiments. Of course, the chip system may also include other discrete devices, which are not specifically limited in this application embodiment.

[0296] This application also provides a computer-readable storage medium including computer instructions that, when executed on the aforementioned electronic device (such as a mobile phone), cause the electronic device to perform various functions or steps performed by the mobile phone in the above method embodiments.

[0297] This application also provides a computer program product that, when run on a computer, causes the computer to perform the various functions or steps performed by the mobile phone in the above method embodiments. The computer can be an electronic device, such as a mobile phone.

[0298] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0299] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another apparatus, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0300] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0301] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0302] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0303] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions within the technical scope 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 window display method, characterized in that, Applied to electronic devices, the method includes: The device displays a first interface, which includes the interface of a first application. On the first interface, the electronic device is in a first display state, and the attributes of the first application are the attributes of the first display state. In response to the first operation, a second interface is displayed, the second interface including the interface of the first application and the desktop; the first operation is used to trigger the electronic device to switch from the first display state to the second display state, the second display state being a split-screen display state; In the second interface, the attributes of the first application are the same as those of the first display state.

2. The method according to claim 1, characterized in that, The first display state includes full-screen display state.

3. The method according to claim 1 or 2, characterized in that, The display state attributes include window mode attributes and boundary attributes; in the first interface, the first application is mounted under the root node corresponding to the first display state; In response to the first operation, the method further includes: The window mode attribute value of the root node corresponding to the second display state is updated to be consistent with the window mode attribute value of the root node corresponding to the first display state. The boundary attribute value of the root node corresponding to the second display state is updated to be consistent with the boundary attribute value of the first display state. The window mode attribute value of the root node is used to indicate the window mode of the application attached to the root node, and the boundary attribute value of the root node is used to indicate the boundary of the application attached to the root node. Mount the first application to the root node corresponding to the second display state.

4. The method according to claim 3, characterized in that, After mounting the first application to the root node corresponding to the second display state, the method further includes: Set the root node corresponding to the second display state to always be on top.

5. The method according to claim 3 or 4, characterized in that, The electronic device includes a half-screen manager and a split-screen manager; The step of updating the attribute value of the window mode attribute of the root node corresponding to the second display state to be consistent with the attribute value of the window mode attribute of the root node corresponding to the first display state, and updating the attribute value of the boundary attribute of the root node corresponding to the second display state to be consistent with the attribute value of the boundary attribute of the first display state, includes: the half-screen manager updating the attribute value of the window mode attribute of the root node corresponding to the second display state to be consistent with the attribute value of the window mode attribute of the root node corresponding to the first display state, and the half-screen manager updating the attribute value of the boundary attribute of the root node corresponding to the second display state to be consistent with the attribute value of the boundary attribute of the first display state; The step of mounting the first application to the root node corresponding to the second display state includes: the split-screen manager mounting the first application to the root node corresponding to the second display state; The split-screen manager is used to manage window operations in scenarios associated with the split-screen display state of the electronic device.

6. The method according to any one of claims 1-5, characterized in that, The electronic device includes a half-screen motion effect processor and a split-screen motion effect processor; The method further includes, after responding to the first operation and before displaying the second interface: The split-screen animation processor displays the animation effect when switching from the first interface to the second interface; The split-screen animation processor is used for animations in scenarios associated with the split-screen display state of the electronic device.

7. The method according to any one of claims 1-6, characterized in that, The electronic device includes a half-screen application listener and a split-screen application listener; After responding to the first operation and displaying the second interface, the method further includes: the split-screen application listener saving task information of the second display state; The split-screen application listener is used to manage the task information of the split-screen display status of the electronic device.

8. The method according to claim 5, characterized in that, After displaying the second interface in response to the first operation, the method further includes: In response to the second operation, a third interface is displayed, the third interface including the interface of the first application; on the third interface, the electronic device is in full-screen display mode; the second operation is used to trigger the electronic device to switch from displaying the interface of the first application in the second display mode to displaying the interface of the first application in the full-screen display mode; In response to the second operation, the split-screen manager mounts the first application to the root node corresponding to the full-screen display state.

9. The method according to claim 5, characterized in that, After displaying the second interface in response to the first operation, the method further includes: In response to the third operation, a fourth interface is displayed, the fourth interface including a desktop; on the fourth interface, the electronic device is in a full-screen display state; the third operation is used to trigger the electronic device to switch from displaying the interface of the first application in the second display state to displaying the desktop in the full-screen display state; In response to the third operation, the split-screen manager removes the first application from the root node corresponding to the second display state and triggers the first application to switch to background operation.

10. The method according to claim 5, characterized in that, After displaying the second interface in response to the first operation, the method further includes: In response to the fourth operation, a fifth interface is displayed, wherein the fourth operation is used to trigger the electronic device to launch a second application; wherein... When the second application supports split-screen display, the fifth interface includes the interface of the first application and the interface of the second application; on the fifth interface, the electronic device is in a split-screen display state; wherein, in response to the fourth operation, the split-screen manager removes the first application from the root node corresponding to the second display state and mounts the first application to the root node corresponding to the split-screen display state; or, When the second application does not support split-screen display, the fifth interface includes the interface of the second application; on the fifth interface, the electronic device is in full-screen display state; wherein, in response to the fourth operation, the split-screen manager removes the first application from the root node corresponding to the second display state and triggers the first application to switch to background operation.

11. An electronic device, characterized in that, The electronic device includes: a display screen, a processor, a memory, and a computer program stored in the memory; the display screen and the memory are respectively coupled to the processor. When the electronic device is running, the processor executes the computer program to implement the method as described in any one of claims 1-10.

12. A computer-readable storage medium, characterized in that, The device contains a computer program that, when executed by a processor of an electronic device, implements the method as described in any one of claims 1-10.

13. A computer program product, characterized in that, It includes a computer program, which, when executed by a processor, implements the method as described in any one of claims 1-10.