Method and device for replacing split screen where running application is located

By setting the visibility of the application to be visible and hot-started during the split-screen operation, the problem of screen stuttering during the split-screen exchange is solved, improving the user experience and reducing the impact on the original execution process.

CN119127355APending Publication Date: 2024-12-13HONOR DEVICE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310695688.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-06-12
Publication Date
2024-12-13

AI Technical Summary

Technical Problem

When exchanging split-screen operations, screen stuttering often occurs in electronic devices, affecting the user experience.

Method used

By setting the visibility of the application to visible when exchanging split-screen operations and hot-starting the application on the second split-screen, avoiding the destruction of snapshot operations, reducing the delay in recreating snapshots, and thus solving the problem of screen stuttering.

Benefits of technology

It effectively avoids lags in the process of switching split screens, improves user experience, and reduces the workload of technology development and the impact on the entire execution process when the original execution logic is changed to the minimum extent.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119127355A_ABST
    Figure CN119127355A_ABST
Patent Text Reader

Abstract

The invention provides a method and device for replacing a split screen where a running application is located, and the method comprises the steps: responding to a first operation for a first application, and setting the visibility of the first application to be visible; the first operation is used for moving a first application running in the first split screen to the second split screen; and according to the visibility of the first application, performing hot start on the first application on the second split screen. According to the scheme, when the exchange split screen operation occurs, the visibility of the corresponding application is set to be visible, then the application is subjected to hot start, the visibility is not set to be invisible due to native logic any more, the subsequent snapshot destruction operation is avoided, time delay caused by snapshot recreation is further avoided, and the user experience is improved. Therefore, the problem of picture jamming during split screen exchange is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of electronic equipment, and more particularly to a method and device for replacing a split screen of a running application. Background Art

[0002] With the development of technology, there is a function that can be used for split-screen display on terminal devices such as mobile phones or tablets, allowing users to use two applications at the same time. For example, when a video application and a chat application are opened at the same time through split screen, you can chat with friends while watching videos, which enriches the user's usage needs. During the split screen, the user can also move the application on one split screen to another split screen, and then the application on the other split screen can be changed to run on the split screen, that is, swap the split screen. For example, suppose the user swaps (exchanges) the video application running on the upper half screen with the chat application running on the lower half screen. At this time, the user only needs to press and hold the top bar (i.e., the top bar) of the application interface of one of the split screens and drag it to the target split screen. After completing the swap split screen, the two split screens that have been swapped need to reload the application to be run. Continuing with the above example, suppose the user presses and holds the top bar of the video application running on the upper half screen, drags it to the lower half screen and releases it, and then the lower half screen reloads the video application, and what is presented to the user is that the video application is changed to run on the lower half screen.

[0003] However, in actual application scenarios, it was found that after the operation of swapping split screens, i.e., the drag operation, was released, there would be a freeze when reloading the application. For example, when the swapped application includes a video application that is playing a video, the screen would freeze, affecting the user experience.

[0004] Therefore, how to avoid the lag in the process of switching split screens is a technical problem that needs to be solved urgently. Summary of the invention

[0005] The present application provides a method and device for changing the split screen of a running application, which can avoid the jamming phenomenon that occurs during the split screen swapping process and improve the user experience.

[0006] In a first aspect, a method for changing a split screen in which an application is running is provided, the method comprising: in response to a first operation on a first application, setting the visibility of the first application to visible; the first operation is used to move the first application running on the first split screen to the second split screen; and based on the visibility of the first application, hot starting the first application on the second split screen.

[0007] In the technical solution of the present application, the visibility of the corresponding application is set to visible when the split-screen swap operation occurs, and then the application is hot-started, thereby avoiding the jam. After careful analysis by the R&D personnel, it was found that in the native logic of the electronic device, the operation of destroying the snapshot will be executed according to the visibility, and the destruction of the snapshot will cause a new snapshot to be created for hot start when the application needs to be hot-started using the snapshot, resulting in a delay problem, which is reflected in the user experience as a screen jam. The present application analyzes and finds the cause of the jam and optimizes it. By making the visibility no longer set to invisible due to the native logic, the subsequent operation of destroying the snapshot is avoided, thereby avoiding the delay caused by re-creating the snapshot, resulting in the problem of screen jam. In other words, the present application is mainly based on the analysis that the cause of the jam is the destruction of the snapshot caused by visibility, which brings about a delay in creating a new snapshot, and then sets the visibility to visible, thereby avoiding the jam caused by the visibility being invisible. However, it should be understood that the present application is aimed at the interactive scenario when moving a running application from one split screen to another, while other interactive scenarios may still require visibility to be both visible and invisible. Therefore, in the present application scheme, the visibility is set to visible in response to the first operation, rather than setting it arbitrarily, so as to avoid the impact of the visibility setting to visible on other interactive scenarios.

[0008] It should be understood that based on the analysis of this application, the cause of the jam is the possible execution of the step of destroying the snapshot, so the jam problem can also be solved by blocking the operation of destroying the snapshot, but such a modification is bound to have a greater impact on the entire execution logic and easily interfere with other interactive scenes. Another possible way is to set the drawing state to have a snapshot, but if this state is not set based on whether the visibility is visible, it is bound to cause the problem that the rigidly set drawing state does not match the actual situation, which may bring other disadvantages. Therefore, based on the analysis of the cause of the jam, this application found that it took a long time to recreate the snapshot due to the destruction of the snapshot, causing the user to visually observe the perceived delay, and then traced the root cause of the snapshot being destroyed. It was found that the root cause was the result of visibility, so the solution was placed on overcoming the problem of this application by modifying the visibility. And because visibility is visible, it is similar to turning pages of a book. When turning pages, the content of the previous page is just covered by the new page, not disappeared, so the modification of visibility does not interfere with other interactive scenes, nor does it destroy the execution logic of the entire execution process. Therefore, the technical solution of this application is obtained based on the analysis of the above known conditions and the analysis of whether the modification will cause adverse effects. In short, this application shortens the delay and solves the technical problem of screen freeze when switching split screens under the premise of minimal modification and minimizing the impact of the modification.

[0009] It should be understood that in the embodiments of the present application, the split screen only needs to be multiple split screens, that is, it can be two split screens or three or more split screens.

[0010] In combination with the first aspect, in certain implementations of the first aspect, in response to a first operation on a first application, when setting the visibility of the first application to visible, it may include: when it is determined that the first operation is a split-screen swap operation, setting the visibility of the first application to visible; or, when it is determined that the first operation is not a split-screen swap operation, not changing the visibility of the first application. Although the present application avoids destroying snapshots by preventing the application from being invisible, in order to ensure that this special setting does not affect other human-computer interaction scenarios, in addition to allowing the visible operation to be performed based on the response to the first operation, an additional layer of judgment protection is added, that is, a judgment is added to determine whether the first operation is a split-screen swap operation. Only when it is a split-screen swap operation, it proves that this is the interactive scenario mentioned in the present application, and the visibility will be set to visible. In this way, the impact of the above-mentioned visibility setting to visible on non-switch split-screen scenarios is more thoroughly avoided.

[0011] In combination with the first aspect, in some implementations of the first aspect, the method further includes: in response to the first operation, setting the visibility of the second application to visible, the second application being the application running on the second split screen when the first operation is performed; and hot starting the second application on the first split screen according to the visibility of the second application. In other words, the solution of the application is not only used for the first application, but also for both applications, so it can be ensured that there will be no lag after reloading on both split screens.

[0012] In combination with the first aspect, in certain implementations of the first aspect, when the visibility of the second application is set to visible in response to the first operation, it may include: when the first operation is determined to be a split-screen swap operation, the visibility of the second application is set to visible; or, when the first operation is determined not to be a split-screen swap operation, the visibility of the second application is not changed. Although the present application avoids destroying snapshots by preventing the application from being invisible, in order to ensure that this special setting does not affect other human-computer interaction scenarios, in addition to allowing the operation of setting visibility to be performed based on the response to the first operation, a layer of judgment protection is added, that is, a judgment is added to determine whether the first operation is a split-screen swap operation. Only when it is a split-screen swap operation, it proves that this is the interactive scenario mentioned in the present application, and the visibility will be set to visible. In this way, the impact of the above-mentioned visibility setting to visible on non-switch split-screen scenarios is more thoroughly avoided.

[0013] In combination with the first aspect, in some implementations of the first aspect, when hot starting the first application on the second split screen according to the visibility of the first application, it may include: when the visibility of the first application is determined to be visible, hot starting the first application on the second split screen using the snapshot of the first application; or, when the visibility of the first application is determined to be invisible, re-creating the snapshot of the first application, and hot starting the first application on the second split screen using the newly created snapshot of the first application. This implementation is a hot start method without changing the native logic, but different from the traditional solution, since the visibility of the first application is set to visible in the previous step, it will inevitably be determined here that the visibility of the first application is visible under the premise that there is no interference, and then the first application is hot started using the snapshot of the first application. The second situation will serve as a bottom-up guarantee, that is, if in the process of executing the solution of this application, an unknown influence occurs, causing the visibility of the first application to be tampered with and become invisible after being set to visible, or an unknown influence occurs, causing the visibility of the first application to fail when it is set to visible, the second hot start operation when the visibility of the first application is invisible will be performed. Therefore, the above implementation method, under the premise of minimizing changes to the original execution process, reducing the workload of technical development and reducing the impact on the original execution process, can also deal with situations where setting visibility fails due to unknown influences or is tampered with after setting visibility.

[0014] The visibility state (visible or invisible) determines the subsequent drawing state of the application during the entire split screen swap execution process, and the drawing state further determines whether the snapshot will be destroyed.

[0015] In combination with the first aspect, in certain implementations of the first aspect, when hot starting the first application on the second split screen according to the visibility of the first application, it may include: when the visibility of the first application is visible, setting the drawing state of the first application to have a snapshot; and hot starting the first application on the second split screen using the snapshot of the first application according to the drawing state of the first application. In this implementation, based on the judgment result that the visibility of the first application is visible, the drawing state is set to have a snapshot, and because the drawing state is a snapshot, the first application can be hot started using the snapshot that has been saved. It should be understood that this implementation adds a judgment on whether the visibility is visible, so when the first application is hot started according to the visibility, it can be ensured that it is executed only when the visibility of the first application is indeed visible.

[0016] In combination with the first aspect, in certain implementations of the first aspect, when hot starting the first application on the second split screen according to the visibility of the first application, it may include: when the visibility of the first application is not visible, destroying the snapshot of the first application and setting the drawing state of the first application to no snapshot; recreating the snapshot of the first application according to the drawing state of the first application, and hot starting the first application on the second split screen using the newly created snapshot of the first application. In this implementation, based on the judgment result that the visibility of the first application is not visible, the drawing state is set to no snapshot, and because the drawing state is no snapshot, the operation of destroying the snapshot is performed, so when the operation of hot starting the first application is performed, it is necessary to recreate the snapshot and hot start the first application using the newly created snapshot. It should be understood that this implementation adds a judgment on whether the visibility is visible, and a backup is provided when the visibility of the first application is not visible, that is, even if the visibility of the first application is not visible, there is still a corresponding processing logic.

[0017] In combination with the first aspect, in some implementations of the first aspect, when hot starting the second application on the first split screen according to the visibility of the second application, it may include: when the visibility of the second application is determined to be visible, hot starting the second application on the first split screen using the snapshot of the second application; or, when the visibility of the second application is determined to be invisible, re-create the snapshot of the second application, and use the re-created snapshot of the second application to hot start the second application on the first split screen. This implementation is a hot start method without changing the native logic, but different from the traditional solution, since the visibility of the second application is set to visible in the previous step, it will inevitably be determined here that the visibility of the second application is visible under the premise that there is no interference, and then the second application is hot started using the snapshot of the second application. The second situation will serve as a bottom-line guarantee, that is, if in the process of executing the solution of this application, an unknown influence occurs, causing the visibility of the second application to be tampered with and become invisible after being set to visible, or an unknown influence occurs, causing the visibility of the second application to fail when it is set to visible, the second hot start operation when the visibility of the second application is invisible will be performed. Therefore, the above implementation method, under the premise of minimizing changes to the original execution process, reducing the workload of technical development and reducing the impact on the original execution process, can also deal with situations where setting visibility fails due to unknown influences or is tampered with after setting visibility.

[0018] In combination with the first aspect, in certain implementations of the first aspect, when hot starting the second application on the first split screen according to the visibility of the second application, it may include: when the visibility of the second application is visible, setting the drawing state of the second application to have a snapshot; and hot starting the second application on the first split screen using the snapshot of the second application according to the drawing state of the second application. In this implementation, based on the judgment result that the visibility of the second application is visible, the drawing state is set to have a snapshot, and because the drawing state is a snapshot, the second application can be hot started using the saved snapshot. It should be understood that this implementation adds a judgment on whether the visibility is visible, so when hot starting the second application according to the visibility, it can be ensured that it is executed only when the visibility of the second application is indeed visible.

[0019] In combination with the first aspect, in certain implementations of the first aspect, when hot starting the second application on the first split screen according to the visibility of the second application, it may include: when the visibility of the second application is not visible, destroying the snapshot of the second application and setting the drawing state of the second application to no snapshot; recreating the snapshot of the second application according to the drawing state of the second application, and hot starting the second application on the first split screen using the newly created snapshot of the second application. In this implementation, based on the judgment result that the visibility of the second application is not visible, the drawing state is set to no snapshot, and because the drawing state is no snapshot, the operation of destroying the snapshot is performed, so when the operation of hot starting the second application is performed, it is necessary to recreate the snapshot and hot start the second application using the newly created snapshot. It should be understood that this implementation adds a judgment on whether the visibility is visible, and a backup is provided when the visibility of the second application is not visible, that is, even if the visibility of the second application is not visible, there is still a corresponding processing logic.

[0020] In conjunction with the first aspect, in some implementations of the first aspect, the first operation includes: pressing and holding the top bar of the first application, dragging the snapshot of the first application to the hot area of ​​the second split screen, and then releasing it. Pressing and holding, dragging, and releasing to the target area is an operation that best meets user usage habits, and adopting this operation will provide a better user experience.

[0021] In another implementation, the first operation includes: long pressing the top bar of the first application so that the snapshot of the first application is in a floating state, and then double-clicking a designated area in the hot zone on the second split screen. This implementation requires displaying a prompt in the hot zone of the second split screen, otherwise the user cannot guess what the action after the long press is, and cannot know where to click.

[0022] In a second aspect, a device for changing the split screen of a running application is provided, the device comprising a unit composed of software and / or hardware for executing any one of the methods of the first aspect.

[0023] In a third aspect, an electronic device is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the electronic device is enabled to implement any one of the methods of the first aspect.

[0024] In a fourth aspect, a chip is provided, comprising a processor, wherein the processor is used to read and execute a computer program stored in a memory, and when the computer program is executed by the processor, the electronic device in which the chip is located can implement any one of the methods of the first aspect.

[0025] Optionally, the chip also includes a memory, and the memory is electrically connected to the processor.

[0026] Optionally, the chip may also include a communication interface.

[0027] According to a fifth aspect, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by an electronic device, any one of the methods according to the first aspect can be implemented.

[0028] In a sixth aspect, a computer program product is provided, which includes a computer program, and when the computer program is executed by an electronic device, it can implement any one of the methods of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] Figure 1 It is a schematic diagram of the execution process of changing the split screen in which the running application is located.

[0030] Figure 2 It is a schematic flowchart of a method for changing the split screen of a running application according to an embodiment of the present application.

[0031] Figure 3 It is a schematic diagram of an execution process of changing the split screen of a running application according to an embodiment of the present application.

[0032] Figure 4 It is a schematic diagram of an execution process of exchanging split screens in an embodiment of the present application.

[0033] Figure 5 It is a schematic diagram of another execution process of swapping split screens in an embodiment of the present application.

[0034] Figure 6 It is a schematic diagram of a device for changing the split screen of a running application according to an embodiment of the present application.

[0035] Figure 7 It is a schematic diagram of the hardware structure of an electronic device according to an embodiment of the present application.

[0036] Figure 8 It is a schematic diagram of the hardware structure of another electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0037] The solution of the embodiment of the present application is introduced below in conjunction with the accompanying drawings. The method for changing the split screen of the running application provided in the present application can be applied to various scenarios where a neural network model needs to be deployed on an electronic device.

[0038] Figure 1 It is a schematic diagram of the execution process of changing the split screen in which the running application is located. Figure 1 As shown, in the interface 101 of the electronic device 100, the screen of the electronic device 100 includes two split screens, split screen #1 and split screen #2. Application A is running on split screen #1, and application B is running on split screen #2. Assuming that the user presses the top bar of application A, the background system will be triggered to save snapshots (surfaces) of application A and application B respectively, that is, to save the interface screenshots of application A and application B that are running when the user presses the top bar. Figure 1 As shown in interface 101, the snapshot of application A is snapshot #1, and the snapshot of application B is snapshot #2. In addition, after the user long presses the top bar, the generated snapshot #1 of application A will be in a floating state, and the display interface of split screen #1 at the bottom of the snapshot will be attached with a system default background color. Here, the background color is black as an example, as shown in interface 102. Assuming that the user drags snapshot #1 in the direction shown in the figure, that is, drags (drags) snapshot #1 in the direction from split screen #1 to split screen #2, you can see what is shown in interface 103. It can be seen in interface 103 that snapshot #1 has been dragged to split screen #2, and snapshot #2 has also been moved to split screen #1 with the drag operation. It can be seen that the display interfaces of the two split screens in interface 103 are both attached with a black background, and the two snapshots are in a floating state. Assuming that the user releases his finger at this time, that is, releases the drag operation, or ends the drag operation, you can get the result shown in interface 104, that is, application A is moved to split screen #2 for execution, and along with the operation of moving the split screen where the application is located, application B is also changed to run on split screen #1.

[0039] It should be understood that Figure 1 This is just an example of the process of exchanging split screens, or an example of the process of changing a running application to run on another split screen. The trigger operation can also be other operations. For example, dragging can be changed to double-clicking the hot area of ​​split screen #2. For example, the two split screens may also be left and right split screens, or there may be greater than or equal to 3 split screens, etc., which will not be listed one by one.

[0040] In actual application scenarios, when jumping from interface 103 to interface 104, for static applications, such as text editing, image display, etc., since the display content of the interface can only be changed by user triggering operation, the interface is static at other times, so the freeze problem in interface 104 is not visible. However, when dynamic applications are included, such as video playback applications, dynamic game interfaces, etc., it is found that the screen freezes in interface 104. Taking the video application as an example, after jumping from interface 103 to interface 104, the video application screen stops (the audio does not pause) for a period of time before it is displayed normally.

[0041] In response to the above problems, this application mainly avoids jamming by setting the visibility of the corresponding application to visible when the split-screen swap operation occurs, and then hot-starting the application. After careful analysis by R&D personnel, it was found that in the native logic of the electronic device, the operation of destroying the snapshot will be executed according to the visibility, and destroying the snapshot will cause a new snapshot to be created for hot-start when the snapshot is needed to hot-start the application, resulting in a delay problem, which is reflected in the user experience as screen jamming. This application has analyzed and found the cause of the jamming and optimized it. By making the visibility no longer set to invisible due to the native logic, the subsequent operation of destroying the snapshot is avoided, thereby avoiding the delay caused by re-creating the snapshot and causing the screen jamming problem.

[0042] Figure 2 1 is a schematic flow chart of a method for changing the split screen of a running application according to an embodiment of the present application. Figure 2 Each step is introduced.

[0043] S201: In response to a first operation on a first application, set visibility of the first application to visible.

[0044] The first operation is used to move a first application running on the first split screen to the second split screen.

[0045] It should be understood that in the embodiments of the present application, the split screen only needs to be multiple split screens, that is, it can be two split screens or three or more split screens.

[0046] In one implementation, Figure 2 The method shown is used in the case of two split screens. In one example, the two split screens are an upper split screen (upper half screen) and a lower split screen (lower half screen), for example, the first split screen is the upper half screen, and the second split screen is the lower half screen. In another example, the two split screens are a left split screen (left half screen) and a right split screen (right half screen), for example, the first split screen is the left half screen, and the second split screen is the right half screen. In another example, the two split screens are two of the three equally divided split screens. Other cases are not listed one by one.

[0047] In one implementation, the first operation includes: pressing and holding the top bar of the first application, dragging the snapshot of the first application to the hot area of ​​the second split screen, and then releasing it. Pressing and holding, dragging, and releasing to the target area is an operation that best meets user usage habits, and adopting this operation will provide a better user experience.

[0048] In another implementation, the first operation includes: long pressing the top bar of the first application so that the snapshot of the first application is in a floating state, and then double-clicking a designated area in the hot zone on the second split screen. This implementation requires displaying a prompt in the hot zone of the second split screen, otherwise the user cannot guess what the action after the long press is, and cannot know where to click.

[0049] It should be understood that in step S201, regardless of whether the first application is visible according to the native logic, it is set to be visible, so there may be two situations. The first is that the original visibility of the first application is visible, and the setting here is to remain unchanged, and the second is that the original visibility of the first application is invisible, and the setting here is to change the invisible to visible. Therefore, this is equivalent to ignoring what the original visibility of the first application is and directly setting it to visible, so there is no need to determine what the original visibility of the first application is.

[0050] In one implementation, step S201 may include: when it is determined that the first operation is a split-screen swap operation, setting the visibility of the first application to visible; or, when it is determined that the first operation is not a split-screen swap operation, not changing the visibility of the first application. Although the present application avoids destroying snapshots by preventing the application from being invisible, in order to ensure that this special setting does not affect other human-computer interaction scenarios, in addition to allowing the visible operation to be performed in response to the first operation, an additional layer of judgment protection is added, that is, a judgment is added to determine whether the first operation is a split-screen swap operation. Only when it is a split-screen swap operation, it proves that this is the interactive scenario mentioned in the present application, and the visibility will be set to visible. In this way, the impact of the above-mentioned visibility setting to visible on non-switch split-screen scenarios is more thoroughly avoided.

[0051] S202: hot start the first application on the second split screen according to the visibility of the first application.

[0052] In one implementation, step S202 includes: when it is determined that the visibility of the first application is visible, hot start the first application on the second split screen using the snapshot of the first application; or, when it is determined that the visibility of the first application is invisible, recreate the snapshot of the first application, and use the newly created snapshot of the first application to hot start the first application on the second split screen. This implementation is a hot start method without changing the native logic, but different from the traditional solution, since the visibility of the first application is set to visible in the previous step, it will inevitably be determined here that the visibility of the first application is visible under the premise that there is no interference, and then the first application is hot started using the snapshot of the first application. The second situation will serve as a bottom-line guarantee, that is, if during the execution of the solution of this application, an unknown influence occurs, causing the visibility of the first application to be tampered with and become invisible after being set to visible, or an unknown influence occurs, causing the visibility of the first application to fail when it is set to visible, the second hot start operation when the visibility of the first application is invisible will be performed. Therefore, the above implementation method, under the premise of minimizing changes to the original execution process, reducing the workload of technical development and reducing the impact on the original execution process, can also deal with situations where setting visibility fails due to unknown influences or is tampered with after setting visibility.

[0053] The visibility state (visible or invisible) will determine the subsequent drawing state of the application during the entire swap split screen execution process, and the drawing state further determines whether the snapshot will be destroyed. The drawing state includes snapshot and no snapshot (no_surface). When the visibility of an application is visible, the drawing state of the application will be set to snapshot. Then, when performing one of the operations of relaying or destroying the snapshot, relaying will be selected, and then the application can be hot-started using the stored snapshot. When the visibility of an application is invisible, the drawing state of the application will be set to no snapshot. Then, when performing one of the operations of relaying or destroying the snapshot, destroy will be selected. Since the snapshot is destroyed, when hot-starting the application, a new snapshot must be created for the application, and then hot-started using the newly created snapshot.

[0054] In another implementation, step S202 includes: when the visibility of the first application is visible, setting the drawing state of the first application to have a snapshot; based on the drawing state of the first application, using the snapshot of the first application, hot starting the first application on the second split screen. In this implementation, based on the judgment result that the visibility of the first application is visible, the drawing state is set to have a snapshot, and because the drawing state is a snapshot, the first application can be hot started using the snapshot saved. It should be understood that this implementation adds a judgment on whether the visibility is visible, so when the first application is hot started according to the visibility, it can be guaranteed that it is executed only when the visibility of the first application is indeed visible.

[0055] In another implementation, step S202 includes: when the visibility of the first application is invisible, destroying the snapshot of the first application, and setting the drawing state of the first application to no snapshot; based on the drawing state of the first application, recreating the snapshot of the first application, and using the newly created snapshot of the first application to hot start the first application on the second split screen. In this implementation, based on the judgment result that the visibility of the first application is invisible, the drawing state is set to no snapshot, and because the drawing state is no snapshot, the operation of destroying the snapshot is performed, so when the operation of hot starting the first application is performed, it is necessary to recreate the snapshot and use the newly created snapshot to hot start the first application. It should be understood that this implementation adds a judgment on whether the visibility is visible, and provides a backup for the case where the visibility of the first application is invisible, that is, even if the visibility of the first application is invisible, there is still corresponding processing logic.

[0056] In another implementation, step S202 includes: hot starting the first application on the second split screen using the snapshot of the first application. In this implementation, since the visibility of the first application has been set to visible, the snapshot of the first application can be directly used for hot starting. This implementation is an execution step after the visibility setting of the previous step is successful, which omits the setting of the execution step when the visibility of the first application is not visible, and also omits the step of determining what the visibility of the first application is, but whether the execution of this step is successful depends on whether the execution of the previous step is successful.

[0057] In one implementation, Figure 2 The method may further include:

[0058] S203: In response to the first operation, set the visibility of the second application to visible.

[0059] The second application is an application running on the second split screen when the first operation is performed.

[0060] Steps S201 and S202 mainly introduce the process of switching the first application running on the first split screen to run on the second split screen, while steps S203 and S204 are the process of switching the application on the second split screen to run on the first split screen according to the same logic.

[0061] Combination Figure 1 When interface 103 jumps to interface 104, if only S201-S202 is executed, the application that is the drag object in interface 104, that is, the first application, will not be stuck, but because there is no targeted processing for another application, that is, the second application, the second application may still be stuck in interface 104. If only S203-S204 is executed, the application that is not the drag object in interface 104, that is, the second application, will not be stuck, but because there is no targeted processing for another application, that is, the first application, the first application may still be stuck in interface 104. If S201-S204 is executed, both applications will not be stuck.

[0062] In one implementation, step S203 may include: when it is determined that the first operation is a split-screen swap operation, setting the visibility of the second application to visible; or, when it is determined that the first operation is not a split-screen swap operation, not changing the visibility of the second application. Although the present application avoids destroying snapshots by preventing the application from being invisible, in order to ensure that this special setting does not affect other human-computer interaction scenarios, in addition to allowing the visible operation to be performed in response to the first operation, an additional layer of judgment protection is added, that is, a judgment is added to determine whether the first operation is a split-screen swap operation. Only when it is a split-screen swap operation, it proves that this is the interactive scenario mentioned in the present application, and the visibility will be set to visible. In this way, the impact of the above-mentioned visibility setting to visible on non-switch split-screen scenarios is more thoroughly avoided.

[0063] S204: hot start the second application on the first split screen according to the visibility of the second application.

[0064] In one implementation, step S204 may include: when it is determined that the visibility of the second application is visible, hot start the second application on the first split screen using the snapshot of the second application; or, when it is determined that the visibility of the second application is invisible, recreate the snapshot of the second application, and hot start the second application on the first split screen using the recreated snapshot of the second application. This implementation is a hot start method without changing the native logic, but different from the traditional solution, since the visibility of the second application is set to visible in the previous step, it will inevitably be determined here that the visibility of the second application is visible under the premise that there is no interference, and then the second application is hot started using the snapshot of the second application. The second situation will serve as a bottom-line guarantee, that is, if during the execution of the solution of this application, an unknown influence occurs, causing the visibility of the second application to be tampered with and become invisible after being set to visible, or an unknown influence occurs, causing the visibility of the second application to fail when it is set to visible, the second hot start operation when the visibility of the second application is invisible will be performed. Therefore, the above implementation method, under the premise of minimizing changes to the original execution process, reducing the workload of technical development and reducing the impact on the original execution process, can also deal with situations where setting visibility fails due to unknown influences or is tampered with after setting visibility.

[0065] In another implementation, step S204 may include: when the visibility of the second application is visible, setting the drawing state of the second application to have a snapshot; based on the drawing state of the second application, using the snapshot of the second application, hot starting the second application on the first split screen. In this implementation, based on the judgment result that the visibility of the second application is visible, the drawing state is set to have a snapshot, and because the drawing state is a snapshot, the second application can be hot started using the saved snapshot. It should be understood that this implementation adds a judgment on whether the visibility is visible, so when the second application is hot started according to the visibility, it can be guaranteed that it is executed only when the visibility of the second application is indeed visible.

[0066] In another implementation, step S204 may include: when the visibility of the second application is invisible, destroying the snapshot of the second application, and setting the drawing state of the second application to no snapshot; based on the drawing state of the second application, recreating the snapshot of the second application, and using the newly created snapshot of the second application to hot start the second application on the first split screen. In this implementation, based on the judgment result that the visibility of the second application is invisible, the drawing state is set to no snapshot, and because the drawing state is no snapshot, the operation of destroying the snapshot will be performed, so when the operation of hot starting the second application is performed, it is necessary to recreate the snapshot and use the newly created snapshot to hot start the second application. It should be understood that this implementation adds a judgment on whether the visibility is visible, and provides a backup for the case where the visibility of the second application is invisible, that is, even if the visibility of the second application is invisible, there is still corresponding processing logic.

[0067] In another implementation, step S204 includes: hot starting the second application on the first split screen using the snapshot of the second application. In this implementation, since the visibility of the second application has been set to visible, the snapshot of the second application can be directly used for hot starting. This implementation is based on the execution step after the visibility setting of the previous step is successful, and the setting of the execution step when the visibility of the second application is not visible is omitted, and the step of judging what the visibility of the second application is is omitted, but whether the execution of this step is successful depends on whether the execution of the previous step is successful.

[0068] Figure 2 The method shown is mainly based on analyzing that the cause of the jamming problem is the destruction of snapshots caused by visibility, which brings about a delay in creating a new snapshot, and then setting the visibility to visible, thereby avoiding jamming caused by the visibility being invisible. However, it should be understood that the present application is aimed at the interactive scenario when moving a running application from one split screen to another, and for other interactive scenarios, it may still be necessary for visibility to exist in both visible and invisible situations. Therefore, in the scheme of the present application, the visibility is set to visible only in response to the first operation, rather than arbitrarily, so as to avoid the impact of the visibility setting to visible on other interactive scenarios.

[0069] Figure 3 FIG. 1 is a schematic diagram of an execution process of changing the split screen of a running application according to an embodiment of the present application. Figure 3 As shown, the split-screen drag bar module of the application layer obtains the user's interactive operation information on the top bar and sends it to the software development kit (SDK) of the framework layer, that is, Figure 3 The input task management service in the HWSDK module shown in Figure 3 The HwInnerActivityTaskManagerService in the switching split screen processing module is then processed by each sub-module in the switching split screen processing module and then displayed. This completes the entire process of switching split screens from collecting user interaction operations to presenting the processing results to the user through the flat module. The sub-modules in the switching split screen processing module include, for example, a multi-width management module ( Figure 3 HwMutiWidthManager shown in ), multi-window switch management module ( Figure 3 HwMutiWindowSwitchManager) and the task fragment module ( Figure 3 ) as shown in the TaskFragment . Figure 3 The modules in the HWSDK module and the switching split screen processing module include the window type switching module, the stack management module, the window size module, and the life cycle management module. It should be understood that Figure 3 The main purpose is to illustrate that the present application solution is based on the existing processing module for switching split screens to improve the steps, so as to avoid changes to the overall architecture and minimize the impact of the present application solution on the software architecture of the entire electronic device. Figure 3 Only some modules that are more relevant to the solution of the present application are shown. In practice, other modules may also be included for split screen.

[0070] The embodiment of the present application utilizes the operation of setting visibility in step S201 and / or S203 executed in the task fragment module, thereby avoiding the destruction of snapshots due to invisibility, and further avoiding the problem of screen freeze when loading an application after swapping split screens.

[0071] Figure 4 It is a schematic diagram of an execution process of exchanging split screens in an embodiment of the present application. Figure 4 It can be seen as an example of the complete execution process of swapping split screens, that is, from long pressing the top bar to trigger the drag event to reloading the application and running it after the split screen swap is completed, and then cleaning up. Figure 1 An example of the execution process of the electronic device corresponding to the entire interface changes and process operations shown.

[0072] S401: The application side obtains a top bar drag event triggered by long pressing the top bar.

[0073] That is to say, the application side obtains an interaction event input by the user, which can be regarded as an example of the first operation mentioned above.

[0074] In one example, it may be possible to use Figure 3The split-screen drag bar module of the application layer shown performs this step.

[0075] S402: The system detects the dragging time of the top bar, covers the applications running on the two split screens with a screenshot of the current moment, and gives a black background to the bottom of the split screen.

[0076] Screenshot is also called snapshot, that is, when S402 is executed, the following will appear: Figure 1 The screen presentation shown in interface 102 corresponds to the operation performed on the system side, which is to save a snapshot for the application and add a bottom background.

[0077] S403: Before the interaction event of pressing the top bar is released, the drag event continues to be triggered, and the system adds a hot zone to the entire screen.

[0078] That is, before the user releases and stops pressing the top bar to drag, the drag event is continuously triggered, and the system adds a hot zone for executing the subsequent step S404, so that the user can drag the snapshot of the application to the appropriate area according to the displayed hot zone.

[0079] S404: When the dragged split-screen application enters the corresponding hot zone, the system side performs corresponding actions.

[0080] That is, before the user lets go and no longer holds down the top bar to drag, the drag event is continuously triggered. That is, when the user drags the floating snapshot of the application to the corresponding hot zone, the system will continue to process the interaction event.

[0081] S405. After an application in a split screen is dragged to the hot area of ​​another split screen, when the user raises his hand to release the drag event, it means that the drag event is over. The system side executes the action of exchanging the split screen, determines the current split screen status, and sends visibility to the application side. The visibility sent here is visible.

[0082] That is, it is an example of step S201 or S203.

[0083] In a conventional solution, the visibility sent in S405 may be visible or invisible, but in the present application, the visibility sent to the application side in this step is visible.

[0084] S406. If the visibility sent by the system is invisible, the application side sends invisible back to the system side after sending it for display; if the visibility sent by the system is visible, the application side sends visible back to the system side after sending it for display.

[0085] S407. The system side determines whether the drawing state of the application needs to be changed according to the visibility sent back by the application side; if the visibility is invisible, the snapshot is destroyed and the drawing state of the application is changed to no snapshot; if the visibility is visible, no change operation is performed.

[0086] That is, it is an example of a specific implementation of the above step S202 or S204, and visibility will affect the drawing state.

[0087] S408. After the split screen swap is completed, clean up is performed, and then the drawing status of the application is determined. If the snapshot is destroyed in S407 and the drawing status is no snapshot, the snapshot needs to be redrawn when the application is reloaded, and the screenshot created in S402 is removed after the redrawing is completed; if the snapshot is not destroyed in S407, the screenshot is removed according to the original processing logic.

[0088] After S408, it will appear like this Figure 1 In the case illustrated in interface 104 , the two applications are swapped to each other's split screen to continue running.

[0089] Figure 5 It is a schematic diagram of another execution process of swapping split screens in an embodiment of the present application. Figure 5 It can be seen as an example of introducing the solution of the embodiment of the present application from the perspective of the internal program execution process of the electronic device. Figure 5 The various module boxes in the Figure 5 The execution flow shown is an execution logic that calls the next class in the previous class.

[0090] S501. In HwMutiWindowSwitchManager.java, an operation of obtaining a split screen swap is performed.

[0091] That is, execute swapSplitScreen under the multi-window switch management (HwMutiWindowSwitchManager.java) class.

[0092] S502. Call Task.java under HwMutiWindowSwitchManager.java to set the window mode.

[0093] Setting the window mode can be expressed as setWindowingMode.

[0094] S503: Execute setting the window mode in the snapshot service under Task.java.

[0095] That is, execute the setWindowingModeInSurfaceTransaction operation under the task (Task.java) class.

[0096] S504. Call EnsureActivitiesVisibleHelper.java under Task.java to execute the operation of calling the window root container.

[0097] That is, the EnsureActivitiesVisible Assistant class is called under the Task class to perform the operation of calling the window root container. Calling the window root container can be expressed as RootWindowContainer.java#EnsureActivitiesVisible.

[0098] S505. Perform a reset operation in EnsureActivitiesVisibleHelper.java.

[0099] Reset is reset.

[0100] S506. Call TaskFragment.java under EnsureActivitiesVisibleHelper.java to execute an operation of obtaining visibility.

[0101] That is to ensure that the Activity Visible Assistant class calls the Task Fragment (TaskFragment.java) class to perform the operation of obtaining visibility.

[0102] Getting visibility can be expressed as getVisibility.

[0103] In the native logic, in the TaskFragment.java class, the visibility judgment logic is to return invisible (INVISIBLE) when another task (task) and the current task are in the same split screen.

[0104] Exemplarily, it can be explained as follows:

[0105]

[0106] Therefore, according to the native logic, when the visibility is obtained in executing S506, the visibility may be visible or invisible. When the visibility is invisible, it may cause subsequent snapshots to be destroyed and the screen to freeze after the swap.

[0107] In the solution of the embodiment of the present application, for the specific interaction scenario of exchanging split screens, the visibility judgment logic is modified under the TaskFragment.java class to return visible (VISIBLE) when another task (task) and the current task are in the same split screen.

[0108] Furthermore, when the judgment of whether the interactive operation (such as the first operation above) is a split screen swap operation is added, it is modified to return VISIBLE when another task and the current task are in the same split screen and are swapping split screens, otherwise it returns INVISIBLE. Exemplarily, it can be explained as follows:

[0109] Exemplarily, it can be explained as follows:

[0110]

[0111] Therefore, according to the modified logic of the present application, when the visibility is obtained during execution of S506, since it is a split-screen swap operation, the obtained visibility is visible, thereby avoiding screen freeze after subsequent snapshot destruction and swapping.

[0112] S507. Execute the visibility status setting operation in EnsureActivitiesVisibleHelper.java.

[0113] Setting the visibility state can be expressed as setActivityVisibilityState.

[0114] S508. In EnsureActivitiesVisibleHelper.java, call ActivityRecord.java to perform the operation of setting invisible.

[0115] Setting invisible can be expressed as makeInvisible.

[0116] S509: Execute the visibility setting operation in ActivityRecord.java.

[0117] That is, under the activity record (ActivityRecord.java) class, perform the operation of setting visibility.

[0118] Setting visibility can be expressed as setVisibility. It should be understood that since S509 is set under the trigger of S508, and S508 sends invisible, the visibility set here is false, that is, invisible.

[0119] S510: Execute an operation of setting silent visibility in ActivityRecord.java.

[0120] Setting silent visibility can be expressed as setClientVisibility.

[0121] S511. Call WindowToken.java under ActivityRecord.java to set the silent visibility operation.

[0122] S512. Call WindowState.java under WindowToken.java to execute the operation of sending visibility to the application side.

[0123] That is, the window state (WindowState.java) class is called under the window token (WindowToken.java) class to execute the operation of sending visibility to the application side (ie, sendAppVisibilityToClients).

[0124] S513. In the ViewRootlmpl.java class, execute the operation of calling visibility.

[0125] ViewRootImpl is the top of the view hierarchy, which implements the required protocol between View and WindowManager, as most of the internal implementation in WindowManagerGlobal.

[0126] Dispatch visibility can be expressed as dispatchAppVisibility.

[0127] S514. Under the ViewRootlmpl.java class, execute the operation of creating an information queue.

[0128] Creating a message queue can be expressed as handleMessagelmpl.

[0129] S515. Under the ViewRootlmpl.java class, execute the operation of creating application visibility.

[0130] Creating application visibility can be expressed as handleAppVisibility.

[0131] S516. In the ViewRootlmpl.java class, perform a traversal operation.

[0132] A traversal run can be represented as a TraversalRunnable.

[0133] S517. Perform traversal operations in the ViewRootlmpl.java class.

[0134] The execution traversal here includes doTraversal and performTraversals.

[0135] S518. In the ViewRootlmpl.java class, perform the operation of outputting to the window.

[0136] Output to a window can be represented as relayoutWindow.

[0137] S519. Call Session.java under the ViewRootlmpl.java class to execute the operation of outputting the content to be sent to the window.

[0138] Step S519 mainly executes mWindowSession.Relayout to achieve the purpose of outputting content. During the relayout process, visibility will be sent to the system side.

[0139] S520. Call WindowManagerServices.java under the Session.java class to execute the relayoutWindow operation.

[0140] WindowManagerServices is the window manager.

[0141] S521. In the WindowManagerServices.java class, execute an operation of attempting to exit the animation.

[0142] Trying an exiting animation can be expressed as tryStartExitingAnimation.

[0143] That is to say, after the system receives the visibility sent by the application, it will determine whether the next step is relayout or destroy.

[0144] S522. Call WindowState.java under the WindowManagerServices.java class to execute the operation of destroying the snapshot.

[0145] WindowState is the window state, and destroying the snapshot can be expressed as destroySurface.

[0146] S523. In the WindowManagerServices.java class, execute control operations for creating a new snapshot.

[0147] The newly created snapshot control can be expressed as createSurfaceControl.

[0148] S524. Call WindowState.java under the WindowManagerServices.java class to execute the operation of outputting the visible window.

[0149] The output visible window can be represented as relayoutVisibleWindow.

[0150] That is to say, the present application changes the visibility judgment logic in TaskFragment.java, so that the execution of subsequent steps S521-S524 is changed. Since the visibility is visible, S522 will not be executed. Therefore, the technical problem of achieving the desired technical effect (solving screen freeze) with minimal modification is achieved.

[0151] It should be understood that based on the analysis of this application, the cause of the jam is the possible execution of the step of destroying the snapshot, so the jam problem can also be solved by blocking the operation of destroying the snapshot, but such a modification is bound to have a greater impact on the entire execution logic and easily interfere with other interactive scenes. Another possible way is to set the drawing state to have a snapshot, but if this state is not set based on whether the visibility is visible, it is bound to cause the problem that the rigidly set drawing state does not match the actual situation, which may bring other disadvantages. Therefore, based on the analysis of the cause of the jam, this application found that it took a long time to recreate the snapshot due to the destruction of the snapshot, causing the user to visually observe the perceived delay, and then traced the root cause of the snapshot being destroyed. It was found that the root cause was the result of visibility, so the solution was placed on overcoming the problem of this application by modifying the visibility. And because visibility is visible, it is similar to turning pages of a book. When turning pages, the content of the previous page is just covered by the new page, not disappeared, so the modification of visibility does not interfere with other interactive scenes, nor does it destroy the execution logic of the entire execution process. Therefore, the technical solution of this application is obtained based on the analysis of the above known conditions and the analysis of whether the modification will cause adverse effects. In short, this application shortens the delay and solves the technical problem of screen freeze when switching split screens under the premise of minimal modification and minimizing the impact of the modification.

[0152] It should be noted that since this application can achieve the technical effect of eliminating screen freezes mainly through minimal changes. The following is a detailed explanation again on why this application can optimize the reload time of the application by simply changing the visibility sent to the application side. Table 1 is an example of the change of the drawing state of a complete drawing process. As shown in Table 1, when the drawing state changes from (from) no snapshot (NO_SURFACE) to (to) drawing preparation (DRAW_PENDING), it means that the snapshot is updated (createSurface). When the drawing state changes from drawing preparation (DRAW_PENDING) to about to draw preparation (COMMIT_DRAW_PENDING), it means that the drawing is completed (finishDrawing). When the drawing state changes from about to draw preparation (COMMIT_DRAW_PENDING) to ready to send display (READY_TO_SHOW), it means that the drawing is about to end (commitFinishDrawing). When the drawing state changes from ready to send display (READY_TO_SHOW) to already drawn (HAS_DRAWN), it means that the display is performed (performShow). When the drawing state changes from drawn (HAS_DRAWN) to no snapshot (NO_SURFACE), it means that the snapshot is destroyed (destroySurface). In other words, if the visibility of the application returns false (invisible), the snapshot of the application will be destroyed, and to redraw it, the snapshot needs to be updated, that is, to recreate the snapshot, and creating a snapshot is the most time-consuming step in all drawing states. If the visibility of the application returns true (visible), then the application only needs to determine whether there is a surface controller, that is, SurfaceController. If there is, it will directly trigger relayout, and its drawing state will always be in step 4 shown in Table 1.

[0153] Table 1

[0154]

[0155] The above mainly introduces the method of the embodiment of the present application in conjunction with the accompanying drawings. It should be understood that although the various steps in the flowcharts involved in the various embodiments described above are displayed in sequence, these steps are not necessarily performed in sequence in the order shown in the figure. Unless clearly stated in this article, there is no strict order restriction on the execution of these steps, and these steps can be performed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the various embodiments described above may include multiple steps or multiple stages, and these steps or stages are not necessarily performed at the same time, but can be performed at different times, and the execution order of these steps or stages is not necessarily performed in sequence, but can be performed in turn or alternately with other steps or at least a part of the steps or stages in other steps. The device of the embodiment of the present application is introduced below in conjunction with the accompanying drawings.

[0156] Figure 6 Schematic diagram of a device for changing the split screen of a running application according to an embodiment of the present application. Figure 6 As shown, the device 2000 includes a setting unit 2001 and a starting unit 2002. The device 2000 can be integrated in electronic devices such as mobile phones, tablet computers, touch-screen laptops, etc.

[0157] The device 2000 can be used to execute any of the above methods for changing the split screen of the running application. For example, the setting unit 2001 can be used to execute step S201, and the startup unit 2002 can be used to execute step S202. For another example, the setting unit 2001 can be used to execute step S203, and the startup unit 2002 can be used to execute step S204. For another example, the setting unit 2001 can be used to execute steps S401-S406, and the startup unit 2002 can be used to execute steps S407-S408. For another example, the setting unit 2001 can be used to execute steps S501-S512, and the startup unit 2002 can be used to execute steps S513-S524.

[0158] In one implementation, the apparatus 2000 may further include a storage unit for storing relevant data. The storage unit may be integrated in any one of the above units, or may be a unit independent of all the above units.

[0159] Figure 7 Schematic diagram of the hardware structure of an electronic device according to an embodiment of the present application. Figure 7As shown, the electronic device 700 may include a processor 710, an external memory interface 720, an internal memory 721, a universal serial bus (USB) interface 730, a charging management module 740, a power management module 741, a battery 742, an antenna 1, an antenna 2, a mobile communication module 750, a wireless communication module 760, an audio module 770, a speaker 770A, a receiver 770B, a microphone 770C, an earphone interface 770D, a sensor module 780, a button 790, a motor 791, an indicator 792, a camera 793, a display screen 794, and a subscriber identification module (SIM) card interface 795, etc. Among them, the sensor module 780 may include a pressure sensor 780A, a gyroscope sensor 780B, an air pressure sensor 780C, a magnetic sensor 780D, an acceleration sensor 780E, a distance sensor 780F, a proximity light sensor 780G, a fingerprint sensor 780H, a temperature sensor 780J, a touch sensor 780K, an ambient light sensor 780L, a bone conduction sensor 780M, etc.

[0160] It is to be understood that the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the electronic device 700. In other embodiments of the present application, the electronic device 700 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0161] For example, Figure 7 The processor 710 shown may include one or more processing units, for example, the processor 710 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Among them, different processing units may be independent devices or integrated in one or more processors.

[0162] The controller may be the nerve center and command center of the electronic device 700. The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.

[0163] The processor 710 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 710 is a cache memory. The memory may store instructions or data that the processor 710 has just used or cyclically used. If the processor 710 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 710, and thus improves the efficiency of the system.

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

[0165] In some embodiments, the I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). The processor 710 may include multiple groups of I2C buses. The processor 710 may be coupled to the touch sensor 780K, the charger, the flash, the camera 793, etc. through different I2C bus interfaces. For example, the processor 710 may be coupled to the touch sensor 780K through the I2C interface, so that the processor 710 communicates with the touch sensor 780K through the I2C bus interface to realize the touch function of the electronic device 700.

[0166] In some embodiments, the I2S interface can be used for audio communication. The processor 710 can include multiple I2S buses. The processor 710 can be coupled to the audio module 770 via the I2S bus to achieve communication between the processor 710 and the audio module 770.

[0167] In some embodiments, the audio module 770 can transmit audio signals to the wireless communication module 760 through the I2S interface to implement the function of answering calls through a Bluetooth headset.

[0168] In some embodiments, the PCM interface can also be used for audio communication, sampling, quantizing and encoding analog signals. The audio module 770 and the wireless communication module 760 can be coupled via a PCM bus interface.

[0169] In some embodiments, the audio module 770 can also transmit audio signals to the wireless communication module 760 through the PCM interface to implement the function of answering calls through a Bluetooth headset. It should be understood that both the I2S interface and the PCM interface can be used for audio communication.

[0170] In some embodiments, the UART interface is a universal serial data bus for asynchronous communication. The bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. The UART interface is generally used to connect the processor 710 and the wireless communication module 760. For example, the processor 710 communicates with the Bluetooth module in the wireless communication module 760 through the UART interface to implement the Bluetooth function. In some embodiments, the audio module 770 can transmit an audio signal to the wireless communication module 760 through the UART interface to implement the function of playing music through a Bluetooth headset.

[0171] In some embodiments, the MIPI interface can be used to connect the processor 710 with peripheral devices such as the display screen 794 and the camera 793. The MIPI interface includes a camera serial interface (CSI), a display serial interface (DSI), etc. The processor 710 and the camera 793 communicate via the CSI interface to realize the shooting function of the electronic device 700. The processor 710 and the display screen 794 communicate via the DSI interface to realize the display function of the electronic device 700.

[0172] In some embodiments, the GPIO interface can be configured by software. The GPIO interface can be configured as a control signal or as a data signal. The GPIO interface can be used to connect the processor 710 with the camera 793, the display screen 794, the wireless communication module 760, the audio module 770, the sensor module 780, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.

[0173] Exemplarily, the USB interface 730 is an interface that complies with the USB standard specification, and specifically can be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc. The USB interface 130 can be used to connect a charger to charge the electronic device 700, and can also be used to transfer data between the electronic device 700 and a peripheral device. It can also be used to connect headphones to play audio through the headphones. The interface can also be used to connect other electronic devices, such as AR devices, etc.

[0174] It is understandable that the interface connection relationship between the modules illustrated in the embodiment of the present application is only a schematic illustration and does not constitute a structural limitation on the electronic device 700. In other embodiments of the present application, the electronic device 700 may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.

[0175] The charging management module 740 is used to receive charging input from a charger. The charger may be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 740 may receive charging input from a wired charger through the USB interface 730. In some wireless charging embodiments, the charging management module 740 may receive wireless charging input through a wireless charging coil of the electronic device 700. While the charging management module 740 is charging the battery 742, it may also power the electronic device through the power management module 741.

[0176] The power management module 741 is used to connect the battery 742, the charging management module 740 and the processor 710. The power management module 741 receives input from the battery 742 and / or the charging management module 740, and supplies power to the processor 710, the internal memory 721, the external memory, the display screen 794, the camera 793, and the wireless communication module 760. The power management module 741 can also be used to monitor parameters such as battery capacity, battery cycle number, battery health status (leakage, impedance), etc. In some other embodiments, the power management module 741 can also be set in the processor 710. In other embodiments, the power management module 741 and the charging management module 740 can also be set in the same device.

[0177] The wireless communication function of the electronic device 700 can be implemented through the antenna 1, the antenna 2, the mobile communication module 750, the wireless communication module 760, the modem processor and the baseband processor.

[0178] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 700 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of antennas. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.

[0179] The mobile communication module 750 can provide a wireless communication solution applied to the electronic device 700, such as at least one of the following solutions: a second generation (2G) mobile communication solution, a third generation (3G) mobile communication solution, a fourth generation (5G) mobile communication solution, and a fifth generation (5G) mobile communication solution. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 750 can receive electromagnetic waves from the antenna 1, and filter and amplify the received electromagnetic waves, and then transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 750 can also amplify the signal modulated by the modulation and demodulation processor, and the amplified signal is converted into an electromagnetic wave and radiated out through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 710. In some embodiments, at least some of the functional modules of the mobile communication module 750 can be set in the same device as at least some of the modules of the processor 710.

[0180] The modem processor may include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be sent into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After the low-frequency baseband signal is processed by the baseband processor, it is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to a speaker 770A, a receiver 770B, etc.), or displays an image or video through a display screen 794. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 710 and be set in the same device as the mobile communication module 750 or other functional modules.

[0181] The wireless communication module 760 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the electronic device 700. The wireless communication module 760 can be one or more devices integrating at least one communication processing module. The wireless communication module 760 receives electromagnetic waves via the antenna 2, modulates the frequency of the electromagnetic wave signal and performs filtering, and sends the processed signal to the processor 710. The wireless communication module 760 can also receive the signal to be sent from the processor 710, modulate the frequency of it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.

[0182] In some embodiments, the antenna 1 of the electronic device 700 is coupled to the mobile communication module 750, and the antenna 2 of the electronic device 700 is coupled to the wireless communication module 760, so that the electronic device 700 can communicate with the network and other electronic devices through wireless communication technology. The wireless communication technology may include at least one of the following communication technologies: global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, IR technology. The GNSS may include at least one of the following positioning technologies: global positioning system (GPS), global navigation satellite system (GLONASS), Beidou navigation satellite system (BDS), quasi-zenith satellite system (QZSS), and satellite based augmentation systems (SBAS).

[0183] The electronic device 700 implements the display function through a GPU, a display screen 794, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 794 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 710 may include one or more GPUs, which execute program instructions to generate or change display information.

[0184] The display screen 794 is used to display images, videos, etc. The display screen 794 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), Mini-LED, Micro-Led, Micro-oLed, quantum dot light-emitting diodes (QLED), etc. In some embodiments, the electronic device 700 may include 1 or N display screens 794, where N is a positive integer greater than 1.

[0185] The electronic device 700 can realize the shooting function through ISP, camera 793, video codec, GPU, display screen 794 and application processor.

[0186] The ISP is used to process the data fed back by the camera 793. For example, when taking a photo, the shutter is opened, and the light is transmitted to the camera photosensitive element through the lens. The light signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to the ISP for processing and converts it into an image visible to the naked eye. The ISP can also perform algorithm optimization on the noise, brightness, and skin color of the image. The ISP can also optimize the exposure, color temperature and other parameters of the shooting scene. In some embodiments, the ISP can be set in the camera 793.

[0187] The camera 793 is used to capture still images or videos. The object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the optical signal into an electrical signal, and then passes the electrical signal to the ISP to be converted into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV or other format. In some embodiments, the electronic device 700 may include 1 or N cameras 793, where N is a positive integer greater than 1.

[0188] The digital signal processor is used to process digital signals, and can process not only digital image signals but also other digital signals. For example, when the electronic device 700 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.

[0189] Video codecs are used to compress or decompress digital videos. The electronic device 700 may support one or more video codecs. Thus, the electronic device 700 may play or record videos in a variety of coding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.

[0190] NPU is a neural network (NN) computing processor. By drawing on the structure of biological neural networks, such as the transmission mode between neurons in the human brain, it can quickly process input information and can also continuously self-learn. Through NPU, applications such as intelligent cognition of electronic device 700 can be realized, such as image recognition, face recognition, voice recognition, text understanding, etc.

[0191] The external memory interface 720 can be used to connect an external memory card, such as a secure digital (SD) card, to expand the storage capacity of the electronic device 700. The external memory card communicates with the processor 710 through the external memory interface 120 to implement a data storage function, such as storing music, video and other files in the external memory card.

[0192] The internal memory 721 can be used to store computer executable program codes, which include instructions. The processor 710 executes various functional applications and data processing of the electronic device 700 by running the instructions stored in the internal memory 721. The internal memory 721 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area may store data created during the use of the electronic device 700 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 721 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.

[0193] The electronic device 700 can implement audio functions such as music playing and recording through the audio module 770, the speaker 770A, the receiver 770B, the microphone 770C, the headphone jack 770D, and the application processor.

[0194] The audio module 770 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signal. The audio module 770 can also be used to encode and decode audio signals. In some embodiments, the audio module 770 can be arranged in the processor 710, or some functional modules of the audio module 770 can be arranged in the processor 710.

[0195] The speaker 770A, also called a "speaker", is used to convert an audio electrical signal into a sound signal. The electronic device 700 can listen to music or listen to a hands-free call through the speaker 770A.

[0196] The receiver 770B, also called a "earpiece", is used to convert audio electrical signals into sound signals. When the electronic device 700 receives a call or voice message, the voice can be received by placing the receiver 770B close to the human ear.

[0197] Microphone 770C, also called "microphone" or "microphone", is used to convert sound signals into electrical signals. When making a call or sending a voice message, the user can speak by putting their mouth close to the microphone 770C to input the sound signal into the microphone 770C. The electronic device 700 can be provided with at least one microphone 770C. In other embodiments, the electronic device 700 can be provided with two microphones 770C, which can not only collect sound signals but also realize noise reduction function. In other embodiments, the electronic device 700 can also be provided with three, four or more microphones 770C to collect sound signals, reduce noise, identify the sound source, realize directional recording function, etc.

[0198] The earphone interface 770D is used to connect a wired earphone and can be a USB interface 730 or a 3.5 mm open mobile terminal platform (OMTP) standard interface or a cellular telecommunications industry association of the USA (CTIA) standard interface.

[0199] The pressure sensor 780A is used to sense the pressure signal and can convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 780A can be set on the display screen 794. There are many types of pressure sensors 780A, such as resistive pressure sensors, inductive pressure sensors, capacitive pressure sensors, etc. The capacitive pressure sensor can be a parallel plate including at least two conductive materials. When a force acts on the pressure sensor 780A, the capacitance between the electrodes changes. The electronic device 700 determines the intensity of the pressure according to the change in capacitance. When a touch operation acts on the display screen 794, the electronic device 700 detects the touch operation intensity according to the pressure sensor 780A. The electronic device 700 can also calculate the touch position according to the detection signal of the pressure sensor 780A. In some embodiments, touch operations acting on the same touch position but with different touch operation intensities can correspond to different operation instructions. For example, when a touch operation with a touch operation intensity less than the first pressure threshold acts on the short message application icon, an instruction to view the short message is executed. When a touch operation with a touch operation intensity greater than or equal to the first pressure threshold acts on the short message application icon, an instruction to create a new short message is executed.

[0200] The gyroscope sensor 780B can be used to determine the motion posture of the electronic device 700. In some embodiments, the angular velocity of the electronic device 700 around three axes (i.e., the x, y, and z axes) can be determined by the gyroscope sensor 780B. The gyroscope sensor 780B can be used for anti-shake shooting. For example, when the shutter is pressed, the gyroscope sensor 780B detects the angle of the electronic device 700 shaking, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to offset the shaking of the electronic device 700 through reverse movement to achieve anti-shake. The gyroscope sensor 780B can also be used for navigation and somatosensory game scenes.

[0201] The air pressure sensor 780C is used to measure air pressure. In some embodiments, the electronic device 700 calculates the altitude through the air pressure value measured by the air pressure sensor 780C to assist in positioning and navigation.

[0202] The magnetic sensor 780D includes a Hall sensor. The electronic device 700 can use the magnetic sensor 780D to detect the opening and closing of the flip leather case. In some embodiments, when the electronic device 700 is a flip phone, the electronic device 700 can detect the opening and closing of the flip cover according to the magnetic sensor 780D; according to the detected opening and closing state of the leather case or the opening and closing state of the flip cover, set the flip cover to automatically unlock and other features.

[0203] The acceleration sensor 780E can detect the magnitude of the acceleration of the electronic device 700 in all directions (generally three axes). When the electronic device 700 is stationary, the magnitude and direction of gravity can be detected. It can also be used to identify the posture of the electronic device and is applied to applications such as horizontal and vertical screen switching and pedometers.

[0204] The distance sensor 780F is used to measure the distance. The electronic device 700 can measure the distance by infrared or laser. In some embodiments, when shooting a scene, the electronic device 700 can use the distance sensor 780F to measure the distance to achieve fast focusing.

[0205] The proximity light sensor 780G may include, for example, a light-emitting diode (LED) and a light detector, such as a photodiode. The light-emitting diode may be an infrared light-emitting diode. The electronic device 700 emits infrared light outward through the light-emitting diode. The electronic device 700 uses a photodiode to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object near the electronic device 700. When insufficient reflected light is detected, the electronic device 700 can determine that there is no object near the electronic device 700. The electronic device 700 can use the proximity light sensor 780G to detect that the user holds the electronic device 700 close to the ear to talk, so as to automatically turn off the screen to save power. The proximity light sensor 780G can also be used in leather case mode and pocket mode to automatically unlock and lock the screen.

[0206] The ambient light sensor 780L is used to sense the brightness of the ambient light. The electronic device 700 can adaptively adjust the brightness of the display screen 794 according to the perceived brightness of the ambient light. The ambient light sensor 780L can also be used to automatically adjust the white balance when taking pictures. The ambient light sensor 780L can also cooperate with the proximity light sensor 780G to detect whether the electronic device 700 is in a pocket to prevent accidental touches.

[0207] The fingerprint sensor 780H is used to collect fingerprints. The electronic device 700 can use the collected fingerprint characteristics to achieve fingerprint unlocking, access application locks, fingerprint photography, fingerprint call answering, etc.

[0208] The temperature sensor 780J is used to detect temperature. In some embodiments, the electronic device 700 uses the temperature detected by the temperature sensor 780J to execute a temperature processing strategy. For example, when the temperature reported by the temperature sensor 780J exceeds a threshold, the electronic device 700 reduces the performance of the processor located near the temperature sensor 780J to reduce power consumption and implement thermal protection. In other embodiments, when the temperature is lower than another threshold, the electronic device 700 heats the battery 742 to avoid abnormal shutdown of the electronic device 700 due to low temperature. In some other embodiments, when the temperature is lower than another threshold, the electronic device 700 performs a boost on the output voltage of the battery 742 to avoid abnormal shutdown caused by low temperature.

[0209] The touch sensor 780K is also called a "touch panel". The touch sensor 780K can be set on the display screen 794, and the touch sensor 780K and the display screen 794 form a touch screen, also called a "touch screen". The touch sensor 780K is used to detect touch operations acting on or near it. The touch sensor can pass the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through the display screen 794. In other embodiments, the touch sensor 780K can also be set on the surface of the electronic device 700, which is different from the position of the display screen 794.

[0210] The bone conduction sensor 780M can obtain a vibration signal. In some embodiments, the bone conduction sensor 780M can obtain a vibration signal of a vibrating bone block of the vocal part of the human body. The bone conduction sensor 780M can also contact the human pulse to receive a blood pressure beat signal. In some embodiments, the bone conduction sensor 780M can also be set in an earphone and combined into a bone conduction earphone. The audio module 770 can parse out a voice signal based on the vibration signal of the vibrating bone block of the vocal part obtained by the bone conduction sensor 780M to realize a voice function. The application processor can parse the heart rate information based on the blood pressure beat signal obtained by the bone conduction sensor 780M to realize a heart rate detection function.

[0211] The key 790 includes a power key, a volume key, etc. The key 790 may be a mechanical key or a touch key. The electronic device 700 may receive key input and generate key signal input related to user settings and function control of the electronic device 700.

[0212] Motor 791 can generate vibration prompts. Motor 791 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback. For example, touch operations acting on different applications (such as taking pictures, audio playback, etc.) can correspond to different vibration feedback effects. For touch operations acting on different areas of the display screen 794, motor 791 can also correspond to different vibration feedback effects. Different application scenarios (for example: time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also support customization.

[0213] Indicator 792 can be an indicator light, which can be used to indicate the charging status, power change, and can also be used to indicate messages, missed calls, notifications, etc.

[0214] The SIM card interface 795 is used to connect a SIM card. The SIM card can be connected to and separated from the electronic device 700 by inserting it into the SIM card interface 795 or pulling it out from the SIM card interface 795. The electronic device 700 can support 1 or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 795 can support Nano SIM cards, Micro SIM cards, SIM cards, and the like. Multiple cards can be inserted into the same SIM card interface 795 at the same time. The types of the multiple cards can be the same or different. The SIM card interface 795 can also be compatible with different types of SIM cards. The SIM card interface 795 can also be compatible with external memory cards. The electronic device 700 interacts with the network through the SIM card to implement functions such as calls and data communications. In some embodiments, the electronic device 700 uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the electronic device 700 and cannot be separated from the electronic device 700.

[0215] Figure 8 FIG. 1 is a schematic diagram of the hardware structure of another electronic device according to an embodiment of the present application. Figure 8 As shown, the electronic device 3000 includes: at least one processor 3001 ( Figure 8 Only one is shown in the figure) a processor, a memory 3002, and a computer program 3003 stored in the memory 3002 and executable on the at least one processor 3001, and when the processor 3001 executes the computer program 3003, the steps in any one of the above methods are implemented.

[0216] Those skilled in the art will understand that Figure 8 These are merely examples of electronic devices and do not constitute a limitation on the electronic device. In practice, the electronic device may include more or fewer components than those shown in the figure, or a combination of certain components, or different components. For example, it may also include input and output devices, network access devices, etc.

[0217] The processor 3001 may be a central processing unit (CPU), other general-purpose processors, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.

[0218] In some embodiments, the memory 3002 may be an internal storage unit of the electronic device 3000, such as a hard disk or memory of the electronic device 3000. In other embodiments, the memory 3002 may also be an external storage device of the electronic device 3000, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the electronic device 3000. Optionally, the memory 3002 may also include both an internal storage unit of the electronic device 3000 and an external storage device. The memory 3002 is used to store an operating system, an application program, a boot loader, data, and other programs, such as the program code of the computer program. The memory 3002 may also be used to temporarily store data that has been output or is to be output.

[0219] It should be noted that the information interaction, execution process, etc. between the above-mentioned devices / units are based on the same concept as the method embodiment of the present application. Their specific functions and technical effects can be found in the method embodiment part and will not be repeated here.

[0220] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.

[0221] An embodiment of the present application also provides an electronic device, which includes: at least one processor, a memory, and a computer program stored in the memory and executable on the at least one processor, wherein when the processor executes the computer program, the electronic device can implement the steps in any of the above methods.

[0222] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by an electronic device, the steps in the above-mentioned method embodiments can be implemented.

[0223] An embodiment of the present application provides a computer program product, which includes a computer program. When the computer program is executed by an electronic device, the steps in the above-mentioned method embodiments can be implemented.

[0224] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, which can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may at least include: any entity or device that can carry the computer program code to the camera / electronic device, recording medium, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk or an optical disk. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electric carrier signals and telecommunication signals.

[0225] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0226] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0227] In the embodiments provided in the present application, it should be understood that the disclosed devices / equipment and methods can be implemented in other ways. For example, the device / equipment embodiments described above are merely schematic, for example, the division of the modules or units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0228] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0229] It should be understood that when used in the present specification and the appended claims, the term "comprising" indicates the presence of described features, wholes, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or combinations thereof.

[0230] It should also be understood that the term “and / or” used in the specification and appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0231] As used in the specification and appended claims of this application, the term "if" can be interpreted as "when" or "uponce" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "uponce it is determined" or "in response to determining" or "uponce [described condition or event] is detected" or "in response to detecting [described condition or event]", depending on the context.

[0232] In addition, in the description of the present application specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the descriptions and cannot be understood as indicating or implying relative importance.

[0233] References to "one embodiment" or "some embodiments" etc. described in the specification of this application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0234] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.

Claims

1. A method for changing the split screen of a running application, characterized in that: include: In response to a first operation on a first application, setting visibility of the first application to visible; The first operation is used to move the first application running on the first split screen to the second split screen; Hot-start the first application on the second split screen according to the visibility of the first application.

2. The method according to claim 1, characterized in that In response to the first operation on the first application, setting the visibility of the first application to visible includes: When it is determined that the first operation is a split-screen swap operation, setting the visibility of the first application to visible; or, When it is determined that the first operation is not an operation of swapping split screens, the visibility of the first application is not changed.

3. The method according to claim 1, characterized in that The method further comprises: In response to the first operation, setting visibility of a second application to visible, the second application being an application running on the second split screen when the first operation is performed; Hot-start the second application on the first split screen according to the visibility of the second application.

4. The method according to claim 3, characterized in that In response to the first operation, setting the visibility of the second application to visible includes: When it is determined that the first operation is a split-screen swap operation, setting the visibility of the second application to visible; or, When it is determined that the first operation is not a split-screen swap operation, the visibility of the second application is not changed.

5. The method according to any one of claims 1 to 4, characterized in that The hot starting the first application on the second split screen according to the visibility of the first application includes: When it is determined that the visibility of the first application is visible, hot-starting the first application on the second split screen using the snapshot of the first application; or, When it is determined that the visibility of the first application is invisible, a snapshot of the first application is recreated, and the first application is hot-started on the second split screen using the newly created snapshot of the first application.

6. The method according to any one of claims 1 to 4, characterized in that The hot starting the first application on the second split screen according to the visibility of the first application includes: When the visibility of the first application is visible, setting the drawing state of the first application to have a snapshot; According to the drawing state of the first application, the first application is hot-started on the second split screen using a snapshot of the first application.

7. The method according to any one of claims 1 to 4, characterized in that The hot starting the first application on the second split screen according to the visibility of the first application includes: When the visibility of the first application is invisible, destroying the snapshot of the first application, and setting the drawing state of the first application to no snapshot; A snapshot of the first application is recreated according to the drawing state of the first application, and the first application is hot-started on the second split screen using the newly created snapshot of the first application.

8. The method according to claim 3, characterized in that The hot starting the second application on the first split screen according to the visibility of the second application includes: When it is determined that the visibility of the second application is visible, hot-starting the second application on the first split screen using the snapshot of the second application; or, When it is determined that the visibility of the second application is invisible, a snapshot of the second application is recreated, and the second application is hot-started on the first split screen using the recreated snapshot of the second application.

9. The method according to claim 3, characterized in that: The hot starting the second application on the first split screen according to the visibility of the second application includes: When the visibility of the second application is visible, setting the drawing state of the second application to have a snapshot; According to the drawing state of the second application, the second application is hot started on the first split screen using the snapshot of the second application.

10. The method according to claim 3, characterized in that: The hot starting the second application on the first split screen according to the visibility of the second application includes: When the visibility of the second application is invisible, destroying the snapshot of the second application, and setting the drawing state of the second application to no snapshot; A snapshot of the second application is recreated according to the drawing state of the second application, and the second application is hot-started on the first split screen using the newly created snapshot of the second application.

11. The method according to any one of claims 1 to 4, characterized in that: The first operation includes: pressing and holding the top bar of the first application, dragging the snapshot of the first application to the hot area of ​​the second split screen and then releasing it.

12. A device for changing the split screen of a running application, characterized in that: include: A setting unit, configured to set the visibility of the first application to be visible in response to a first operation on the first application; The first operation is used to move the first application running on the first split screen to the second split screen; A starting unit, configured to hot start the first application on the second split screen according to the visibility of the first application.

13. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the electronic device implements the method according to any one of claims 1 to 11.

14. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by an electronic device, the method according to any one of claims 1 to 11 is implemented.