Operation response method, terminal, storage medium and program product

By caching the window support identifier in memory, the delay problem caused by the access conflict of the system configuration file during the terminal window display process is solved, and efficient and fast window support identifier acquisition and operation response are achieved.

CN120743399AActive Publication Date: 2025-10-03HONOR DEVICE CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202410698655.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-05-30
Publication Date
2025-10-03
Estimated Expiration
2044-05-30

AI Technical Summary

Technical Problem

When the terminal displays an application in a windowed state, frequent background installation or update operations cause the process to wait for access to the system configuration file, resulting in a delay in obtaining the window support identifier and low efficiency.

Method used

The window support identifier recorded in the system configuration file is cached in memory and read directly from the memory to avoid system configuration file access conflicts and improve response speed.

Benefits of technology

It reduces the delay in obtaining window support identification, improves response efficiency, and enhances user operation experience and the terminal's rapid response capability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120743399A_ABST
    Figure CN120743399A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides an operation response method, a terminal, a storage medium and a program product, the method is applied to the terminal, the method comprises the steps that a window support identifier of an installed application program of the terminal recorded in a system configuration file is cached in a memory, and the window support identifier represents whether the application program supports a windowed display function or not; in response to the first operation, a first window support identifier of a first application program indicated by the first operation cached in the memory is obtained, and the first operation instruction executes a target action on the first application program and executes the target action on the first application program; and in response to the second operation, if the first window support identifier represents that the first application supports the windowed display function, displaying the interface of the first application in the independent window. By applying the operation response scheme provided by the embodiment of the invention, the efficiency of obtaining the window support identifier representing whether the application program supports the windowed display function or not can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular to an operation response method, a terminal, a storage medium, and a program product. Background Art

[0002] Currently, most mobile phones, tablets, and other terminals can display applications in a windowed manner, that is, displaying an application in a certain area of ​​the screen in the form of an independent window. In addition, multiple applications can be displayed in a windowed manner at the same time, which is also called multi-window display of applications.

[0003] Before the terminal displays the interface of an application (called application 1) in a windowed manner, it needs to first call a process (called process A) to read the window support identifier from the system configuration file, which indicates whether application 1 supports the windowed display function. If the window support identifier indicates that application 1 supports the windowed display function, the interface of application 1 can be displayed in a windowed manner.

[0004] However, the terminal often installs or updates other applications (referred to as application 2) in the background. During the installation or update process, another process (referred to as process B) is called to write the relevant information of application 2 into the system configuration file. Given that the terminal frequently installs or updates applications in the background, it is easy for process A to attempt to read the window support identifier from the system configuration file while the terminal is installing or updating application 2 in the background. At this time, process B is writing information to the system configuration file. Since the system configuration file cannot be accessed by two processes at the same time, in this case, process A needs to wait until process B finishes writing information to the system configuration file before it can read the window support identifier from it. It can be seen that this will cause a delay when the terminal obtains the window support identifier, resulting in a low efficiency in obtaining the window support identifier. Summary of the Invention

[0005] In view of this, the present application provides an operation response method, a terminal, a storage medium, and a program product to improve the efficiency of obtaining a window support identifier that indicates whether an application supports a windowed display function.

[0006] In a first aspect, an embodiment of the present application provides an operation response method, applied to a terminal, the method comprising:

[0007] caching in memory the window support identifier of the application installed on the terminal recorded in the system configuration file, wherein the window support identifier indicates whether the application supports a windowed display function;

[0008] In response to a first operation, obtaining a first window support identifier of a first application program indicated by the first operation cached in a memory, wherein the first operation instruction executes a target action on the first application program, and executing the target action on the first application program;

[0009] In response to the second operation, if the first window support identifier indicates that the first application supports a windowed display function, the interface of the first application is displayed in an independent window.

[0010] As can be seen from the above, in the solution provided in the embodiment of the present application, the window support identifier of the terminal's installed application recorded in the system configuration file is cached in the memory. Since the delay in reading data from the memory is very small, in the subsequent response to the first operation indicating the execution of the target action on the first application, the first window support identifier of the first application can be obtained directly from the memory quickly and efficiently. Compared with reading the above-mentioned first window identifier from the system configuration file, it can avoid the situation where the above-mentioned first window identifier cannot be read from the system configuration file because the system configuration file is being accessed, thereby reducing the delay in the terminal obtaining the window support identifier and improving the efficiency of obtaining the window support identifier.

[0011] In addition, in response to the first operation, the terminal first obtains the first window support identifier of the first application from the memory, and then performs the target action on the first application. Since the delay of the terminal obtaining the above-mentioned first window support identifier directly from the memory is very small, the delay when the terminal performs the target action on the first application is also very small, which reduces the delay when the terminal performs the target action on the first application.

[0012] Furthermore, since the delay in the terminal executing the target action on the first application is reduced, the user intuitively feels that the terminal responds to its own operations faster and the operations are more responsive, giving the user a smoother terminal usage experience.

[0013] In one embodiment of the present application, the method further includes:

[0014] a second application program that monitors changes in the support status of the windowed display function;

[0015] Updating the window support identifier of the second application program recorded in the system configuration file;

[0016] The window support identifier of the second application program cached in the memory is updated.

[0017] It can be seen that after the terminal perceives that the support status of the windowed display function of the second application has changed, it can update the window support identifier of the second application recorded in the system configuration file and update the window support identifier of the second application cached in the memory, ensuring that the window support identifier cached in the memory can be updated as the support status of the windowed display function of the application changes, thereby improving the accuracy of the window support identifier cached in the memory.

[0018] In one embodiment of the present application, the second application program that monitors changes in the support status of the windowed display function includes:

[0019] In response to the third operation, it is determined that the application indicated by the third operation is a second application whose support status of the windowed display function has changed.

[0020] In this way, the second application program whose support status of the windowed display function has changed can be determined according to the user operation, thereby improving the flexibility of determining the second application program.

[0021] In one embodiment of the present application, updating the window support identifier of the second application recorded in the system configuration file includes:

[0022] Detecting whether the unique access permission of the system configuration file has been configured for the process;

[0023] If not, assigning the unique access permission of the system configuration file to the first process, and calling the first process to update the window support identifier of the second application recorded in the system configuration file;

[0024] After the window support identifier of the second application is updated, the sole access right of the first process to the system configuration file is cancelled.

[0025] As can be seen, when updating the window support flag of the second application recorded in the system configuration file, it is possible to continuously detect whether the unique access rights of the system configuration file have been assigned to a process. If they have not been assigned to a process, the unique access rights can be promptly assigned to the first process, thereby enabling the first process to update the window support flag recorded in the system configuration file. Furthermore, after the window support flag is updated, the unique access rights of the first process to the system configuration file can be promptly revoked, allowing the unique access rights to be assigned to other processes, thereby ensuring that other processes can subsequently access the system configuration file.

[0026] In one embodiment of the present application, the window support identifier of the terminal's installed application recorded in the in-memory cache system configuration file includes:

[0027] In at least one of the following cases, the window support identifier of the terminal's installed application recorded in the system configuration file is cached in the memory:

[0028] The operating system starts, the system service system_server process starts successfully, and the system_server process restarts successfully.

[0029] As can be seen, after the terminal's operating system completes initialization, it can immediately cache the window support identifiers of the terminal's installed applications recorded in the system configuration file in memory. That is, once the operating system is initialized, the window support identifiers are cached. In this way, any subsequent process that needs to obtain the window support identifier can quickly and directly read the window support identifier from memory. This also ensures that once the operating system is initialized, the window support identifiers cached in memory are consistent with the window support identifiers recorded in the system configuration file, improving the accuracy of the window support identifiers cached in memory. The application's window support identifier can also be cached in memory promptly after the system_server process is successfully started, ensuring that other processes started subsequently can quickly and directly read the window support identifiers from memory. The window support identifiers can also be cached in memory when the system_server process is successfully restarted. In this way, if the system_server process crashes, resulting in the loss of cached data in memory, the cached window support identifiers can be promptly restored, ensuring the security and stability of the cached window support identifiers in memory.

[0030] In one embodiment of the present application, the window support identifier of the terminal's installed application recorded in the in-memory cache system configuration file includes:

[0031] Detecting whether the unique access permission of the system configuration file has been configured for the process;

[0032] If not, assigning the second process the sole access right to the system configuration file, and invoking the second process to cache in memory the window support identifiers of the installed applications on the terminal recorded in the system configuration file;

[0033] After the window support identifier of the installed application is cached, the sole access right of the second process to the system configuration file is cancelled.

[0034] As can be seen, when caching the window support identifiers of the terminal's installed applications recorded in the system configuration file in memory, it is possible to continuously detect whether the unique access rights to the system configuration file have been assigned to a process. If not, the unique access rights can be promptly assigned to a second process, allowing the second process to cache the window support identifiers in memory. Furthermore, after the window support identifiers are cached, the second process's unique access rights to the system configuration file can be promptly revoked, allowing the unique access rights to be assigned to other processes, thus ensuring that other processes can subsequently access the system configuration file.

[0035] In one embodiment of the present application, the first operation is triggered when the third application is in the process of being installed or updated.

[0036] Since the window support identifier is read directly from the memory, whether the system configuration file is locked will not affect the reading of the window support identifier. Even if the first operation is triggered when the third application is in the process of installation or updating and the system configuration file is locked, the window support identifier can be read from the memory conveniently and efficiently, that is, the efficiency of obtaining the window support identifier is high, and thus the delay in executing the target action indicated by the first operation after obtaining the window support identifier is low.

[0037] In one embodiment of the present application, the method further includes:

[0038] In response to an installation or update instruction for the third application, detecting whether a unique access permission of the system configuration file has been configured for a process;

[0039] If not, assigning the unique access permission of the system configuration file to a third process, installing or updating the third application, and calling the third process to update the window support identifier of the third application recorded in the system configuration file;

[0040] After the window support identifier of the third application is updated, the sole access right of the third process to the system configuration file is cancelled.

[0041] It can be seen that in the solution provided in the embodiment of the present application, the window support identifier is read directly from the memory, and whether the system configuration file is locked will not affect the reading of the window support identifier. When the application is in the process of installation or updating, even if the system configuration file is locked, the window support identifier can be read from the memory conveniently and efficiently, that is, the efficiency of obtaining the window support identifier is high, so that the delay in executing the target action indicated by the first operation after obtaining the window support identifier is low.

[0042] In one embodiment of the present application, the window support identifier of the terminal's installed application recorded in the in-memory cache system configuration file includes:

[0043] The window support identifier of the terminal's installed application recorded in the system configuration file is cached in the memory in the form of a key-value pair, wherein the key of the key-value pair is the identifier of the installed application, and the value of the key-value pair is the value of the window support identifier of the installed application.

[0044] In this way, the key of the key-value pair is the identifier of the installed application, and the value of the key-value pair is the value of the installed application's window support identifier. Using this key-value pair format allows for quick and intuitive caching of the installed application's window support identifier in memory. Furthermore, the application's identifier can subsequently be used as the key to efficiently and conveniently determine the value corresponding to the key in the key-value pair cached in memory, and this value can be used as the value of the application's window support identifier. This demonstrates that obtaining the window support identifier from memory in this manner is highly efficient.

[0045] In one embodiment of the present application, the second operation is: a sliding operation from the edge of the screen to the center of the screen;

[0046] Displaying the interface of the first application in an independent window includes:

[0047] Displaying a first control, wherein the first control includes: a first application icon of the first application;

[0048] In response to an operation on the first application icon in the first control, a new independent window is started, and the interface of the first application is displayed in the new independent window.

[0049] As can be seen from the above, when the second operation is a sliding operation from the edge of the screen to the center of the screen, the first application icon of the first application can be intuitively displayed through the first control, which facilitates the user to operate the first application icon in the first control and improves the user experience.

[0050] In one embodiment of the present application, in response to an operation on the first application icon in the first control, launching a new independent window and displaying the interface of the first application in the new independent window includes:

[0051] In response to a click operation on the first application icon in the first control, a new independent window is started in a preset first display area, and the interface of the first application is displayed in the new independent window.

[0052] It can be seen that in this case, the user only needs to click the first application icon in the first space to trigger the windowed display of the first application. For the user, the operation is relatively convenient and simple.

[0053] In one embodiment of the present application, in response to an operation on the first application icon in the first control, launching a new independent window and displaying the interface of the first application in the new independent window includes:

[0054] In response to a drag operation on the first application icon in the first control, the drag position of the first application icon is determined; based on the drag position, a second display area of ​​a new independent window is determined; the new independent window is started in the second display area, and the interface of the first application is displayed in the new independent window.

[0055] In this case, the user can flexibly determine the position of the independent window displayed by the first application program by dragging the first application icon according to his or her own needs or preferences, thereby improving the flexibility of the windowed display of the application program interface.

[0056] In one embodiment of the present application, the second operation is: a drag operation from the bottom center of the interface of the first application to the windowed trigger area;

[0057] Displaying the interface of the first application in an independent window includes:

[0058] In response to the interface of the first application being dragged to the windowed trigger area, a new independent window is started, and the interface of the first application is displayed in the new independent window.

[0059] As can be seen from the above, in this embodiment, the user can directly drag from the bottom center of the interface of the first application to the windowed trigger area. After the interface of the first application is dragged to the windowed trigger area, the terminal can start a new independent window and display the interface of the first application in the new independent window. The operation is relatively simple and user-friendly, which improves the user experience.

[0060] In one embodiment of the present application, in response to the interface of the first application being dragged to the windowed trigger area, starting a new independent window and displaying the interface of the first application in the new independent window includes:

[0061] In response to the interface of the first application being dragged to the windowed trigger area, a new independent window is started in the preset third display area, and the interface of the first application is displayed in the form of the new independent window.

[0062] In this way, a new independent window can be started directly and conveniently in the preset third display area, and the interface of the first application can be displayed in the form of the new independent window.

[0063] In one embodiment of the present application, the method further includes:

[0064] If the first window support identifier indicates that the first application does not support the windowed display function, a prompt message is displayed, wherein the prompt message indicates that the first application does not support the windowed display function.

[0065] In this way, when the first application does not support the windowed display function, a prompt message can be displayed in time to inform the user, reducing the probability of a bad experience for the user due to repeated attempts to fail to start the multi-window display of the application.

[0066] In one embodiment of the present application, the target action includes: starting an application, switching an application from a foreground running state to a background running state, and sliding an application interface.

[0067] It can be seen that the terminal can obtain the window support identifier of the application before performing various target actions on the application. Therefore, when it detects the user's operation of instructing to display the interface of the application in a windowed manner, it does not need to obtain the above-mentioned window support identifier in real time, but instead responds quickly to the user's operation based on the window identifier that has been obtained.

[0068] In a second aspect, an embodiment of the present application provides a terminal, including:

[0069] one or more processors and memory;

[0070] The memory is coupled to the one or more processors, and is used to store computer program code, where the computer program code includes computer instructions. The one or more processors call the computer instructions to enable the terminal to execute the method described in the first aspect.

[0071] In a third aspect, an embodiment of the present application provides a computer-readable storage medium, comprising a computer program, which, when executed on a terminal, enables the terminal to execute the method described in the first aspect.

[0072] In a fourth aspect, an embodiment of the present application provides a computer program product, which includes executable instructions. When the executable instructions are executed on a terminal, the terminal executes the method described in the first aspect.

[0073] In the fifth aspect, an embodiment of the present application provides a chip system, which is applied to a terminal. The chip system includes one or more processors, and the processors are used to call computer instructions to enable the terminal to input data into the chip system and execute the method described in the first aspect to perform an operation response.

[0074] The beneficial effects of the solutions provided by the embodiments in the second to fifth aspects can be referred to the beneficial effects of the solutions provided by the embodiments in the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0075] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0076] Figure 1 A schematic diagram of the structure of a terminal provided in an embodiment of the present application;

[0077] Figure 2 A software structure block diagram applicable to a terminal provided in an embodiment of the present application;

[0078] Figure 3a A schematic diagram of the first terminal interface provided in an embodiment of the present application;

[0079] Figure 3b A schematic diagram of a second terminal interface provided in an embodiment of the present application;

[0080] Figure 3c A schematic diagram of a third terminal interface provided in an embodiment of the present application;

[0081] Figure 4 A flowchart of an operation response method provided in an embodiment of the present application;

[0082] Figure 5 A flowchart of an information updating method provided in an embodiment of the present application;

[0083] Figure 6 A schematic diagram of the fourth terminal interface provided in an embodiment of the present application;

[0084] Figure 7a A schematic diagram of an operation response process in the related art;

[0085] Figure 7b A schematic diagram of an operation response process provided in an embodiment of the present application;

[0086] Figure 8aA schematic diagram of a process calling relationship in related technology;

[0087] Figure 8b A schematic diagram of a process calling relationship provided in an embodiment of the present application;

[0088] Figure 9a A schematic diagram of the fifth terminal interface provided in an embodiment of the present application;

[0089] Figure 9b A schematic diagram of the sixth terminal interface provided in an embodiment of the present application;

[0090] Figure 9c A schematic diagram of the seventh terminal interface provided in an embodiment of the present application;

[0091] Figure 9d A schematic diagram of an eighth terminal interface provided in an embodiment of the present application;

[0092] Figure 9e A schematic diagram of a ninth terminal interface provided in an embodiment of the present application;

[0093] Figure 9f A schematic diagram of the tenth terminal interface provided in an embodiment of the present application;

[0094] Figure 9g A schematic diagram of the eleventh terminal interface provided in an embodiment of the present application;

[0095] Figure 9h A schematic diagram of a twelfth terminal interface provided in an embodiment of the present application;

[0096] Figure 9i A schematic diagram of the thirteenth terminal interface provided in an embodiment of the present application;

[0097] Figure 10 A schematic structural diagram of a chip system provided in an embodiment of the present application. DETAILED DESCRIPTION

[0098] In order to better understand the technical solution of the present application, the embodiments of the present application are described in detail below with reference to the accompanying drawings.

[0099] In order to facilitate the clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as "first" and "second" are used to distinguish between identical or similar items with substantially the same functions and effects. For example, the first instruction and the second instruction are intended to distinguish different user instructions and do not limit their order. Those skilled in the art will understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit them to be different.

[0100] It should be noted that, in this application, words such as "exemplarily" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design described in this application as "exemplary" or "for example" should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplarily" or "for example" is intended to present the relevant concepts in a concrete manner.

[0101] The solution provided in the embodiments of the present application can be applied to terminals such as mobile phones, tablet computers, desktop computers, smart watches, wearable electronic devices, augmented reality (AR) devices, virtual reality (VR) devices, vehicle-mounted devices, smart cars, robots, etc.

[0102] For example, Figure 1 The figure shows a schematic diagram of the structure of the terminal 100. The terminal 100 may include a processor 110, a display screen 120, a camera 130, an internal memory 140, a Subscriber Identification Module (SIM) card interface 150, a Universal Serial Bus (USB) interface 160, a charging management module 170, a battery management module 171, a battery 172, a sensor module 180, a mobile communication module 190, a wireless communication module 200, an antenna 1, and an antenna 2. The sensor module 180 may include a pressure sensor 180A, a touch sensor 180B, and the like.

[0103] It should be understood that the structures illustrated in the embodiments of the present application do not constitute a specific limitation on the terminal 100. In other embodiments of the present application, the terminal 100 may include more or fewer components than shown, or may combine or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0104] The processor 110 may include one or more processing units. For example, the processor 110 may include a central processing unit (CPU), an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). The different processing units may be independent components or integrated into one or more processors. In some embodiments, the terminal 100 may also include one or more processors 110. The controller may generate operation control signals based on instruction opcodes and timing signals to control instruction fetching and execution. In other embodiments, the processor 110 may also include a memory for storing instructions and data. For example, the memory in the processor 110 may be a cache memory. This memory may store instructions or data that have just been used or are being recycled by the processor 110. If the processor 110 needs to use the instruction or data again, it can directly call it from the memory. This avoids repeated access, reduces the waiting time of the processor 110, and thus improves the efficiency of the terminal 100 in processing data or executing instructions.

[0105] In some embodiments, the processor 110 may include one or more interfaces. The interfaces may include an Inter-Integrated Circuit (I2C) interface, an Inter-Integrated Circuit Sound (I2S) interface, a Pulse Code Modulation (PCM) interface, a Universal Asynchronous Receiver / Transmitter (UART) interface, a Mobile Industry Processor Interface (MIPI), a General-Purpose Input / Output (GPIO) interface, a SIM card interface, and / or a USB interface. The USB interface 160 is an interface that complies with USB standards and may be a Mini USB interface, a Micro USB interface, a USB Type-C interface, or the like. The USB interface 160 may be used to connect a charger to charge the terminal 100, or to transfer data between the terminal 100 and peripheral devices. The USB interface 160 may also be used to connect headphones to play audio through the headphones.

[0106] It is understood that the interface connection relationship between the modules illustrated in the embodiments of the present application is for illustrative purposes only and does not constitute a structural limitation on the terminal 100. In other embodiments of the present application, the terminal 100 may also adopt different interface connection methods from the above embodiments, or a combination of multiple interface connection methods.

[0107] The wireless communication function of the terminal 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 190, the wireless communication module 200, the modem processor, and the baseband processor.

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

[0109] Terminal 100 implements display functions through a GPU, display screen 120, and an application processor. The GPU is a microprocessor for image processing that connects display screen 120 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 110 may include one or more GPUs that execute program instructions to generate or modify display information.

[0110] The display screen 120 is used to display images, videos, etc. The display screen 120 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), a mini-LED, a micro-LED, a micro-o-LED, or a quantum dot light-emitting diode (QLED). In some embodiments, the terminal 100 may include one or more display screens 120.

[0111] In some embodiments of the present application, when the display panel adopts materials such as OLED, AMOLED, FLED, etc., the above Figure 1 The display screen 120 can be bent. Here, the display screen 120 can be bent to any angle at any position and can be maintained at that angle. For example, the display screen 120 can be folded in half from the middle to the left or right. It can also be folded in half from the middle to the top or bottom.

[0112] The display screen 120 of the terminal 100 may be a flexible screen. Currently, flexible screens have attracted much attention due to their unique characteristics and huge potential. Compared with traditional screens, flexible screens are more flexible and bendable, which can provide users with a new way of interaction based on the bendable characteristics, and can meet more user demands for the terminal. For terminals equipped with a foldable display, the foldable display on the terminal can be switched between a small screen in a folded form and a large screen in an unfolded form at any time. Therefore, users are using the split-screen function on terminals equipped with a foldable display more and more frequently.

[0113] The display screen 120 displays the desktop of the operating system deployed on the terminal, and the desktop displays application icons of various application programs installed on the terminal.

[0114] The terminal 100 can implement a shooting function through an ISP, a camera 130, a video codec, a GPU, a display screen 120, and an application processor, wherein the camera 130 includes a front camera and a rear camera.

[0115] The ISP processes data fed back by the camera 130. For example, when shooting, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, which is then passed to the ISP for processing and converted into a visible image. The ISP can perform algorithmic optimization on image noise, brightness, and color. The ISP can also optimize parameters such as exposure and color temperature of the captured scene. In some embodiments, the ISP can be located within the camera 130.

[0116] The camera 130 is used to take photos 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 for conversion 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 red, green, blue (RGB), YUV, or other format. In some embodiments, the terminal 100 may include 1 or N cameras 130, where N is a positive integer greater than 1.

[0117] The digital signal processor is used to process digital signals. In addition to processing digital image signals, it can also process other digital signals. For example, when the terminal 100 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.

[0118] Video codecs are used to compress or decompress digital video. Terminal 100 may support one or more video codecs. This allows terminal 100 to play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, and MPEG4.

[0119] The NPU is a neural network (NN) computing processor. Drawing on the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it rapidly processes input information and can continuously self-learn. The NPU enables intelligent cognitive applications in the terminal 100, such as image recognition, face recognition, speech recognition, and text comprehension.

[0120] The internal memory 140 can be used to store one or more computer programs, which include instructions. The processor 110 can execute the above instructions stored in the internal memory 140, thereby causing the terminal 100 to perform the operation response method provided in some embodiments of the present application, as well as various applications and data processing. The internal memory 140 may include a program storage area and a data storage area. The program storage area may store an operating system; the program storage area may also store one or more applications (such as a gallery, contacts, etc.). The data storage area may store data created during the use of the terminal 100 (such as photos, contacts, etc.). In addition, the internal memory 140 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more disk storage components, a flash memory component, a universal flash memory (UFS), etc. In some embodiments, the processor 110 can execute the operation response method provided in the embodiments of the present application, as well as other applications and data processing by executing the instructions stored in the internal memory 140 and / or the instructions stored in the memory provided in the processor 110.

[0121] The internal memory 140 can be used to store the relevant programs of the operation response method provided in the embodiment of the present application, and the processor 110 can be used to call the relevant programs of the operation response method stored in the internal memory 140 when displaying information to execute the operation response method of the embodiment of the present application.

[0122] The sensor module 180 may include a pressure sensor 180A, a touch sensor 180B, and the like.

[0123] The pressure sensor 180A is used to sense pressure signals and convert them into electrical signals. In some embodiments, the pressure sensor 180A can be set on the display screen 120. There are many types of pressure sensors 180A, for example, they can be resistive pressure sensors, inductive pressure sensors or capacitive pressure sensors. A capacitive pressure sensor can include at least two parallel plates with conductive materials. When force acts on the pressure sensor 180A, the capacitance between the electrodes changes, and the terminal 100 determines the intensity of the pressure based on the change in capacitance. When a touch operation acts on the display screen 120, the terminal 100 detects the touch operation based on the pressure sensor 180A. The terminal 100 can also calculate the position of the touch based on the detection signal of the pressure sensor 180A, and determine the application or control within the application to which the touch operation is directed based on the touch position. 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.

[0124] The touch sensor 180B is also called a touch control device. The touch sensor 180B can be set on the display screen 120. The touch sensor 180B and the display screen 120 form a touch screen, which is also called a touch screen. The touch sensor 180B is used to detect touch operations acting on or near it. The touch sensor 180B can pass the detected touch operation to the application processor to determine the type of touch event. The touch event type may include a click type, a long press type, a sliding type, etc. A visual output related to the touch operation can be provided through the display screen 120. In some embodiments, different touch event types may correspond to different operation instructions. For example: when a click-type touch event acts on the application icon of a video application (Application, APP), an instruction to start the application is executed; when a sliding-type touch event acts on the desktop, an instruction to display a first control including the application icon of the video APP is executed. For details, see the subsequent embodiments. In other embodiments, the touch sensor 180B can also be set on the surface of the terminal 100 and set at a different position from the display screen 120.

[0125] Figure 2 The software system of the terminal can adopt a layered architecture, event-driven architecture, micro-kernel architecture, micro-service architecture, or cloud architecture.

[0126] A layered architecture divides the terminal's software system into several layers, each with distinct roles and responsibilities. Layers communicate with each other via software interfaces. In some embodiments, the software system can be divided into five layers: applications, application framework, system libraries, hardware abstraction layer (HAL), and kernel.

[0127] The application layer can include a series of application packages, and the application layer runs applications by calling the application programming interface (API) provided by the application framework layer. Figure 2 As shown, the application package may include applications such as settings, video, sports health, browser, etc. It can be understood that the port of each of the above applications can be used to receive data.

[0128] The application framework layer provides API and programming framework for the applications in the application layer. The application framework layer includes some predefined functions. Figure 2 As shown, the application framework layer may include a window manager, a content provider, a view system, a resource manager, a notification manager, and a Dynamic Host Configuration Protocol (DHCP) module.

[0129] Among them, the window manager is used to manage window programs. The window manager can obtain the size of the display screen, determine whether there is a status bar, lock the screen, capture the screen, etc.

[0130] Content providers are used to store and retrieve data and make it accessible to applications. The data may include video, images, audio, etc.

[0131] The view system includes visual controls, such as controls that display application icons, controls that display text, controls that display buttons, and so on.

[0132] The resource manager provides various resources for applications, such as localized strings, application icons, images, layout files, video files, and so on.

[0133] The notification manager enables applications to display notification information in the status bar, which can be used to convey informational messages and disappear automatically after a short stay without user interaction.

[0134] The system library includes multiple functional modules, such as a surface manager, a 3D graphics processing library, a 2D graphics engine, and a file library. The surface manager manages the display subsystem and provides fusion of 2D and 3D layers for multiple applications. The 3D graphics processing library implements 3D graphics drawing, image rendering, compositing, and layer processing. The 2D graphics engine is the drawing engine for 2D graphics.

[0135] The hardware abstraction layer can contain multiple library modules, such as a hard disk library module and a display library module. The terminal system can load the corresponding library module for the device hardware, thereby enabling the process to access the device hardware. For example, the terminal system can load the corresponding library module for the hard disk, thereby enabling the process to access the system configuration file stored on the hard disk.

[0136] The kernel layer is the layer between hardware and software. The kernel layer is deployed with an operating system, which is used to drive the hardware and make it work. The kernel layer includes at least a hard disk drive, a display driver, a camera driver, a sensor driver, and a motor driver, etc., which are not limited in the embodiments of the present application. It is understandable that the hard disk drive, display driver, camera driver, sensor driver, and motor driver, etc. can all be considered as a driver node. Each of the above-mentioned driver nodes includes an interface that can be used to receive data.

[0137] The operating system deployed in the kernel layer of the terminal can respond to user operations and call a process to execute the operation response solution provided in the embodiment of the present application.

[0138] Among them, in the solution provided by the embodiment of the present application, the system interface (systemui) process of the application layer can communicate with the file access process of the HAL layer through binder communication, and then update the window support identifier of the application recorded in the system configuration file through the above-mentioned file access process.

[0139] First combine Figure 3a Taking a smartphone that supports windowed display as an example, the solution provided in the embodiment of the present application is generally introduced through specific examples.

[0140] See also Figure 3a A user clicks on the video app's application icon 101 on the smartphone's desktop 10. In response to the user's click on the video app's application icon 101, the smartphone obtains the video app's window support flag cached in memory. After obtaining the window support flag, the smartphone launches the video app and displays the video app's interface 20 in full screen. The window support flag indicates whether the video app supports the windowed display function.

[0141] See also Figure 3b and Figure 3c ,like Figure 3b As shown, the user drags from the bottom center of the video APP interface 20 to the upper right corner of the screen. At this time, since the window support identifier has been obtained, the terminal determines that the video APP supports the window function based on the obtained window support identifier, and can temporarily display the video APP interface in an independent window (if the user stops dragging at this time, the video APP will return to full screen display), and the background will be blurred. A windowed trigger area 30 will appear in the upper right corner of the screen. The windowed trigger area 30 can display prompt information such as "Enter small window"; the user continues to drag the video APP interface 20 to the windowed trigger area 30 and then stops dragging, then the application will be displayed in an independent window, and the windowed trigger area 30 will disappear. Figure 3c As shown, the interface 20 equivalent to the video APP is suspended on the desktop 10 in the form of an independent window.

[0142] It can be seen that after the smartphone detects the user's click operation on the video APP icon, it does not directly start the video APP, but first obtains the window support identifier of the video APP. Only after confirming that the above-mentioned window support identifier is obtained will it start the video APP, so that after subsequently detecting the user's operation of triggering windowed display, it can conveniently determine whether the video APP supports windowed display based on the window support identifier, and display the video APP in a window if it supports it.

[0143] It should be noted that Figure 3b and Figure 3c The method of displaying the APP in a window according to the user operation is only an example. The embodiment of the present application can also use other methods to display the APP in a window. Please refer to the subsequent embodiments for details, which will not be described in detail here.

[0144] The operation response solution provided in the embodiment of the present application is further introduced in detail.

[0145] See also Figure 4 , which is a flow chart of the first operation response method provided in an embodiment of the present application, the above method includes the following steps S401-S403.

[0146] Step S401: caching the window support identifiers of the terminal installed applications recorded in the system configuration file in the memory.

[0147] The system configuration file can also be called the system Extensible Markup Language (XML) configuration file, which records various information related to the application, for example, it may include application attribute information, application permission information, application operating environment information, component information that the application depends on, etc.

[0148] The attribute information of the application may include information such as the package name of the application, the storage space required, the version number of the application, and may also include the window support identifier of the application.

[0149] The above-mentioned window support identifier can also be called a multi-window flag, which indicates whether the application supports the windowed display function. The value of the window support identifier can be any value that can reflect whether the application supports the windowed display function. The embodiment of the present application does not limit this.

[0150] For example, the value of the window support flag can be true or false, where a true value indicates that the application supports the windowed display function, and a false value indicates that the application does not support the windowed display function; for another example, the value of the window support flag can be 1 or 0, where a 1 value indicates that the application supports the windowed display function, and a 0 value indicates that the application does not support the windowed display function, etc.

[0151] Among them, if the window support identifier indicates that the application supports the windowed display function, an independent window can be created on the user interaction interface, and the application interface can be displayed in the independent window, which can be called windowed display of the application interface. In this way, the application interface is displayed in the form of an independent window on the foreground interface, and the application is in the foreground running state. In addition, when the interfaces of multiple applications are displayed in a windowed manner, multiple independent windows can exist on the user interaction interface, each independent window is used to display the interface of each application, and these applications are all in the foreground running state.

[0152] The above-mentioned installed applications include native applications and third-party applications installed in the terminal. The window support identifiers of these applications are recorded in the system configuration file. The following describes how to record the window support identifier in the system configuration file.

[0153] For native applications, their window support identifiers can be written into the system configuration file in advance when the terminal leaves the factory.

[0154] For third-party applications, the terminal can write its corresponding window support identifier into the system configuration file when installing the third-party application (information indicating whether the third-party application supports the windowed display function is obtained from the installation package, and written into the system configuration file based on the information read). The specific implementation method is shown in the subsequent embodiments and is not described in detail here.

[0155] In this step, the terminal may read the window support identifier of the installed application from the system configuration file, and cache the window support identifier of the installed application in the memory.

[0156] The following describes the timing when the terminal caches the above window support flag in memory.

[0157] In one case, the window support identifier may be cached in memory after the operating system completes initialization.

[0158] After the terminal is powered on or restarted, a series of startup steps can be performed to initialize the operating system.

[0159] Specifically, when the terminal power is turned on, the terminal hardware will perform a self-test to check whether the hardware devices such as memory, hard disk, and display are working properly; after the self-test is completed, the terminal will load the Basic Input / Output System (BIOS). BIOS is software solidified on the terminal motherboard, which is responsible for initializing the hardware devices and loading the operating system; then, the BIOS will search for the boot loader in the boot sector of the hard disk, and the boot loader will read the operating system kernel file and load it into the memory; after the kernel is loaded, the operating system begins to initialize, including initializing device drivers, establishing memory management, establishing process management, etc.

[0160] The operating system can determine whether the above operations such as initializing the device driver, establishing memory management, and establishing process management have been completed through self-test. If the above operations are completed, the operating system completes the initialization. At this time, the above window support flag can be cached in the memory.

[0161] It can be seen that after the terminal's operating system completes initialization, it can immediately cache in memory the window support identifiers of the terminal's installed applications recorded in the system configuration file. That is, once the operating system initialization is completed, the above-mentioned window support identifiers are cached. In this way, when any subsequent process has the need to obtain the window support identifier, it can quickly and directly read the above-mentioned window support identifier from the memory. In addition, this ensures that once the operating system is initialized, the window support identifier cached in the memory can be consistent with the window support identifier recorded in the system configuration file, thereby improving the accuracy of the window support identifier cached in the memory.

[0162] In another case, the window support identifier may be cached in memory when the system service (system_server) process is successfully started.

[0163] The system_server process is the first process started after the operating system is initialized. It is the core system process responsible for managing and loading basic system services. Only after the system_server process starts does the operating system start other processes or threads in response to various operations and instructions.

[0164] Specifically, the operating system may detect whether a startup success flag of the system_server process is recorded in the log file, and when the startup success flag is detected, it is determined that the system_server process is successfully started.

[0165] In this way, the window support flag of the application can be cached in the memory in time after the system_server process is successfully started, ensuring that other processes started subsequently can quickly read the above window support flag directly from the memory.

[0166] In another case, the window support flag can be cached in memory when the system_server process is successfully restarted.

[0167] In the case of memory shortage, hardware failure, operational error, etc., the system_server process may crash. At this time, the data cached in the memory may also be lost, and the window support flag cached in the memory may be lost.

[0168] Specifically, if the system_server process crashes due to the aforementioned circumstances, the operating system may generate a restart instruction for the system_server process, which is used to restart the system_server process. Furthermore, upon detecting that the system_server process has successfully restarted, the operating system may cache the window support indicator in memory. The operating system may detect whether a successful restart indicator for the system_server process is recorded in a log file, and upon detecting the successful restart indicator, determine that the system_server process has successfully restarted.

[0169] In this embodiment, when the system_server process starts to restart, the above-mentioned window support identifier can be cached in the memory. In this way, when the system_server process crashes and causes the data cached in the memory to be lost, the above-mentioned window support identifier cached in the memory can be restored in time, thereby ensuring the security and stability of the above-mentioned window support identifier cached in the memory.

[0170] The following describes a specific method for caching the above window support identifiers in memory.

[0171] In one implementation, the window support identifiers of installed applications recorded in the system configuration file may be cached in memory in the form of key-value pairs.

[0172] The key of the key-value pair is the identifier of the installed application, and the value of the key-value pair is the value of the window support identifier of the installed application.

[0173] For example, if the value of the window support flag of application 1 read in the system configuration file is true, the key-value pair representing the window support flag of application 1 can be {App1: true}, where App1 is the flag of application 1 and true is the value of the window support flag of application 1.

[0174] For example, if the value of the window support flag of application 2 read in the system configuration file is false, the key-value pair representing the window support flag of application 2 can be {App2: false}, where App2 is the flag of application 2 and true is the value of the window support flag of application 2.

[0175] In this implementation, a data structure composed of multiple key-value pairs can be called a dictionary d, such as d={App1: true, App2: false, ..., AppN: true}.

[0176] In this way, when the window support identifier of the application is subsequently determined, the identifier of the application can be used as a key to determine the value corresponding to the key in the dictionary d, that is, the value of the window support identifier of the application.

[0177] For example, using the identifier App1 of application 1 as the key, and determining in the dictionary d that the value corresponding to App1 is true, the value of the window support identifier of App1 is true.

[0178] In this way, the key of the key-value pair is the identifier of the installed application, and the value of the key-value pair is the value of the installed application's window support identifier. Using this key-value pair format allows for quick and intuitive caching of the installed application's window support identifier in memory. Furthermore, the application's identifier can subsequently be used as the key to efficiently and conveniently determine the value corresponding to the key in the key-value pair cached in memory, and this value can be used as the value of the application's window support identifier. This demonstrates that obtaining the window support identifier from memory in this manner is highly efficient.

[0179] In another implementation, the window support identifiers of the installed applications recorded in the system configuration file may be cached in memory in the form of an array.

[0180] The first array is used to record the application identifier, and the second array is used to record the application window support identifier. In this way, the window support identifier of a certain application can be determined based on the elements with the same subscript recorded in the first array and the second array.

[0181] For example, the first array is: [App1, App2, App3, ..., AppN], and the second array is: [true, false, true, ..., true]. Then, the window support flag corresponding to the element APP1 with a value of 0 in the first array is the element true with a value of 0 in the second array, the window support flag corresponding to the element APP2 with a value of 1 in the first array is the element false with a value of 1 in the second array, and so on.

[0182] It should be noted that, in addition to the above-described method of caching the application's window support identifier in memory, various data structures may also be used to cache the application's window support identifier in memory, and the embodiments of the present application are not limited thereto.

[0183] Step S402: In response to the first operation, a first window support identifier of the first application program indicated by the first operation is obtained in the memory, and a target action is performed on the first application program.

[0184] The first window support identifier may be obtained through binder communication between processes. Please refer to the subsequent embodiments for details, which will not be described in detail here.

[0185] The first operation is used to instruct execution of a target action on the first application.

[0186] The embodiment of the present application does not limit the above-mentioned target action. The target action can be any action that requires obtaining the window support identifier of the application before execution. In one case, the target action can include: starting the application, switching the application from the foreground running state to the background running state, and sliding the application interface.

[0187] As can be seen from the above description, there can be multiple target actions, and the first operations used to instruct the execution of various target actions are also different. The following describes them respectively:

[0188] 1. For the target action of launching an application:

[0189] The first operation instructing to execute the target action may be clicking a first application icon of a first application.

[0190] 2. For the target action of switching the application from the foreground to the background:

[0191] The first operation indicating execution of the target action may be sliding upward from the bottom center of the interface of the first application.

[0192] 3. For the target action of sliding the application interface:

[0193] The first operation indicating execution of the target action may be sliding up or down or sliding left or right on the application interface.

[0194] After detecting the first operation, the terminal may obtain a first window support identifier of the first application indicated by the first operation cached in the memory, and after determining that the window support identifier has been successfully read, perform the target action on the first application. That is, before performing the target action on the first application, the first window support identifier of the first application is first read from the memory.

[0195] Before displaying the application interface in a windowed manner, the terminal needs to obtain the application's window support identifier. If the window support identifier indicates that the application supports the windowed display function, the application interface can be displayed in a windowed manner.

[0196] In view of this, the terminal can obtain the window support identifier of the application in advance before performing various actions on the application, so that when it detects the user's operation of instructing to display the interface of the application in a windowed manner, it does not need to obtain the above-mentioned window support identifier in real time, but instead determines whether the application supports the windowed display function based on the window identifier that has been obtained.

[0197] For example, the terminal can obtain the window support identifier of the application before executing the action of starting the application, and then execute the action of starting the application after obtaining the identifier. In this way, when the user is detected to instruct the interface of the application to be displayed in a windowed manner, there is no need to obtain the above-mentioned window support identifier in real time. Instead, it can directly determine whether the application supports the windowed display function based on the window support identifier that has been obtained. If it is determined that the application supports the windowed display function, the interface of the application will be displayed in a windowed manner.

[0198] That is, the terminal may first obtain the window support identifier of the application before starting the application, switching the application from the foreground running state to the background running state, and sliding the application interface.

[0199] It can be seen that the terminal can obtain the window support identifier of the application before performing various target actions on the application. Therefore, when it detects the user's operation of instructing to display the interface of the application in a windowed manner, it does not need to obtain the above-mentioned window support identifier in real time, but instead responds quickly to the user's operation based on the window identifier that has been obtained.

[0200] Step S403: In response to the second operation, if the first window support identifier indicates that the first application supports the windowed display function, the interface of the first application is displayed in an independent window.

[0201] Displaying the interface of the first application in the independent window means creating a new independent window, which is dedicated to displaying the first application, and displaying the interface of the first application in the new independent window.

[0202] Among them, the first application is in the foreground running state, that is, the user can perform various operations on the interface of the first application displayed in the independent window, and the first application can also respond to the above operations, just like when the interface of the first application is displayed in full screen in the foreground. The only difference is that the interface of the first application is changed from full-screen display to display in an independent window.

[0203] The terminal can support triggering the interface of the windowed display application in multiple ways. The second operation is an interface operation for instructing the windowed display application. There can be multiple ways. Please refer to the subsequent embodiments for details, which will not be described in detail here.

[0204] If the first window support identifier indicates that the first application supports the windowed display function, the terminal may display the interface of the first application in an independent window to implement the windowed display of the first application.

[0205] In one embodiment of the present application, the specific manner of displaying the interface of the first application in the independent window may be different depending on the second operation. Please refer to the subsequent embodiments for details, which will not be described in detail here.

[0206] As can be seen from the above, in the solution provided in the embodiment of the present application, the window support identifier of the terminal's installed application recorded in the system configuration file is cached in the memory. Since the delay in reading data from the memory is very small, in the subsequent response to the first operation indicating the execution of the target action on the first application, the first window support identifier of the first application can be obtained directly from the memory quickly and efficiently. Compared with reading the above-mentioned first window identifier from the system configuration file, it can avoid the situation where the above-mentioned first window identifier cannot be read from the system configuration file because the system configuration file is being accessed, thereby reducing the delay in the terminal obtaining the window support identifier and improving the efficiency of obtaining the window support identifier.

[0207] In addition, in response to the first operation, the terminal first obtains the first window support identifier of the first application from the memory, and then performs the target action on the first application. Since the delay of the terminal obtaining the above-mentioned first window support identifier directly from the memory is very small, the delay when the terminal performs the target action on the first application is also very small, which reduces the delay when the terminal performs the target action on the first application.

[0208] Furthermore, since the delay in the terminal executing the target action on the first application is reduced, the user intuitively feels that the terminal responds to its own operations faster and the operations are more responsive, giving the user a smoother terminal usage experience.

[0209] exist Figure 4 Based on the embodiment shown, the terminal can also promptly update the window support identifier cached in the memory when detecting a change in the support status of the windowed display function of the application. In view of the above situation, the embodiment of the present application provides an information updating method.

[0210] See also Figure 5 , is a flow chart of an information updating method provided in an embodiment of the present application, the method comprising the following steps S501-S503.

[0211] Step S501: monitoring a second application program whose support status of the windowed display function has changed.

[0212] The change in the support status of the windowed display function of the application may refer to a change in the installed application from supporting the windowed display function to not supporting the windowed display function, or a change in the installed application from not supporting the windowed display function to supporting the windowed display function.

[0213] The change in the support status of the windowed display function of the application may also mean that the newly installed application changes from being unknown whether it supports the windowed display function to being known whether it supports the windowed display function.

[0214] That is, the second application may be an installed application or a newly installed application.

[0215] The following describes a method for monitoring a second application program whose support status for the windowed display function has changed.

[0216] In one case, when detecting an installation instruction for an application, the terminal may determine that the application for which the installation instruction is directed is a second application whose support status of the windowed display function has changed.

[0217] The above installation instructions can be triggered by the user, such as when the user downloads an application from an application store or website, triggering the installation instructions; it can also be triggered by the terminal itself, such as when the user can make a reservation in advance for an application that is not online in the application store, and the terminal can automatically trigger the installation instructions of the above application after detecting that the reserved application is online.

[0218] In another case, when a version upgrade indication for an application is detected, the terminal can obtain information indicating whether the application supports the windowed display function from the update package of the application version upgrade. If the windowed display function support status indicated by the obtained information is different from the function support status indicated by the windowed support identifier recorded in the memory, it is determined that the application targeted by the above version upgrade indication is the second application whose support status for the windowed display function has changed.

[0219] For example, if the information obtained from the update package indicates that the application supports the windowed display function, and the windowed support identifier recorded in the memory indicates that the application does not support the windowed display function, then the application is determined to be the second application whose support status for the windowed display function has changed.

[0220] It should be noted that if the update package of the application does not include information indicating whether it supports the windowed display function, the window support flag of the application can be determined as a default value, which can be a value indicating that the application does not support the windowed display function.

[0221] Among them, the above-mentioned version upgrade indication can be triggered by the user, such as the user updating the application in the application store or website, triggering the version upgrade indication; it can also be triggered by the terminal itself, such as the user can set automatic updates for certain installed applications in advance, and the terminal can automatically trigger the version upgrade indication of the above-mentioned application after detecting that the above-mentioned application has exited the new version.

[0222] In another case, the terminal may determine, in response to the third operation, that the application indicated by the third operation is a second application whose support status of the windowed display function has changed.

[0223] Specifically, such as Figure 6 As shown, the terminal can start the setting APP and display the interface 40 of the setting APP in response to the user clicking the icon 102 of the setting APP in the desktop 10; then, in response to the user clicking the "smart multi-window" control 401 in the interface 40, the interface 50 of the windowed function change control is displayed, and the interface 50 of the windowed function change control includes application icons and function switch buttons 501 corresponding to the application icons, and the above-mentioned application icons include application icons of the browser APP and application icons of the sports and health APP; and then in response to the user clicking the function switch button 501 corresponding to the application icon of the browser APP in the interface 50 of the windowed function change control, it is determined that the application is the second application whose support status of the windowed display function has changed.

[0224] The third operation is when the user clicks the function switch button 501 in the interface 50 of the windowed function change control.

[0225] It can be seen that after the user clicks the function switch button 501, the switch button 501 changes from the on state to the off state, indicating that the user expects to change the browser APP's windowed display function support state from supporting the windowed display function to not supporting the windowed display function.

[0226] In this way, the second application program whose support status of the windowed display function has changed can be determined according to the user operation, thereby improving the flexibility of determining the second application program.

[0227] Step S502: updating the window support identifier of the second application program recorded in the system configuration file.

[0228] As can be seen from the above description, the second application can be an installed application or a newly installed application. The following describes the method for updating the window support identifier of the second application in different situations.

[0229] In case the second application is an installed application:

[0230] In this case, the window support identifier of the second application has been recorded in the system configuration file. The updated value of the window support identifier of the second application can be determined first, and then the recorded value of the window support identifier can be updated to the determined value.

[0231] For example, if the recorded window support flag value of the second application is false and it is determined that the updated window support flag value of the second application is true, the recorded window support flag value of the application may be updated from false to true.

[0232] The following describes a method for determining the updated value of the window support flag of the second application.

[0233] If the second application is an application determined based on the detected version upgrade indication, the terminal can obtain information indicating whether the second application supports the windowed display function from the update package of the second application version upgrade, and determine the updated value of the window support identifier of the second application based on the obtained information.

[0234] For example, if the information read is information indicating that the second application supports the windowed display function, the updated value is determined as the value indicating that the second application supports the windowed display function; if the information read is information indicating that the second application does not support the windowed display function, the updated value is determined as the value indicating that the second application does not support the windowed display function.

[0235] If the second application is the application determined according to the third operation, the terminal may directly determine the updated value of the window support identifier of the second application to be a value opposite to the value of the window support identifier recorded in the memory.

[0236] In case the second application is a newly installed application:

[0237] In this case, the window support identifier of the second application is not recorded in the system configuration file, and the value of the window support identifier of the second application can be determined and then directly written into the memory.

[0238] The following describes a method for determining the value of the window support flag of the second application.

[0239] The terminal may obtain information indicating whether the second application supports the windowed display function from the installation package of the second application, and determine the value of the window support identifier of the second application based on the read information.

[0240] For example, if the information read is information indicating that the second application supports the windowed display function, then the value of the window support identifier of the second application is determined to be a value indicating that the second application supports the windowed display function; if the information read is information indicating that the second application does not support the windowed display function, then the value of the window support identifier of the second application is determined to be a value indicating that the second application does not support the windowed display function.

[0241] It should be noted that if the update package of the second application does not include information indicating whether it supports the windowed display function, the window support flag of the second application recorded in the system configuration file can be updated to a default value. The above default value can be a value indicating that the second application does not support the windowed display function.

[0242] In one implementation, the following steps A to C may be used to update the window support identifier of the second application recorded in the system configuration file:

[0243] Step A: Check whether the unique access permission of the system configuration file has been configured for the process. If not, go to step B.

[0244] The unique access right to the system configuration file is configured for a certain process, that is, the unique access right to the system configuration file is occupied by a certain process, and the process has the unique access right to the system configuration file (including write and read permissions), and before the unique access right to the system configuration file of the process is revoked, only the process can access the system configuration file, and other processes except the process cannot access the system configuration file.

[0245] Only when it is determined that the sole access permission to the system configuration file is not configured for the process can the system configuration file be accessed, ie, step B is executed.

[0246] The terminal can call the mlock function to write the correspondence between the permission identifier of the system configuration file and the process identifier (PID) of a process into the memory, thereby allocating unique access rights to the system configuration file to the process. The above permission identifier can be set by the staff based on experience and is not limited in this embodiment of the application.

[0247] Specifically, the terminal can detect whether there is a correspondence between the permission identifier of the system configuration file and the process identifier of a process in the memory. If the above correspondence is not detected, it is determined that the unique access permission of the system configuration file is not configured for any process, and step B can be executed.

[0248] Step B: assigning the unique access permission of the system configuration file to the first process, and calling the first process to update the window support identifier of the second application program recorded in the system configuration file.

[0249] As in step A, the terminal can write the correspondence between the permission identifier of the system configuration file and the process identifier of the first process into the memory by calling the mlock function. In this way, the first process is assigned the sole access right to the system configuration file. In this way, the first process can write and read the system configuration file.

[0250] Therefore, the first process may be called to update the window support identifier of the second application program recorded in the system configuration file.

[0251] The first process may be a systemui process located at the application layer. The systemui process may communicate with the file access process at the HAL layer through binder communication, and then update the window support identifier of the second application recorded in the system configuration file through the file access process.

[0252] Step C: After the window support flag of the second application is updated, the first process's sole access permission to the system configuration file is revoked.

[0253] The window support identifier is updated, that is, the window support identifier of the second application recorded in the system configuration file is updated to the newly determined window support identifier, or the window support identifier of the second application is newly written into the system configuration file.

[0254] After the window support flag is updated, in order to enable other subsequent processes to access the system configuration file, the first process's unique access permission to the system configuration file can be promptly revoked, that is, the first process's occupation of the unique access permission to the system configuration file is canceled. In this way, the first process no longer has unique access permission to the system configuration file, that is, the first process cannot write or read the system configuration file.

[0255] Specifically, the terminal can call the munlock function to delete the correspondence between the permission identifier of the system configuration file and the process identifier of the first process in the memory. In this way, the first process's sole access right to the system configuration file is also cancelled. Subsequently, the sole access right to the system configuration file can be configured to other processes, so that other processes can access the system configuration file.

[0256] As can be seen, when updating the window support flag of the second application recorded in the system configuration file, it is possible to continuously detect whether the unique access rights of the system configuration file have been assigned to a process. If they have not been assigned to a process, the unique access rights can be promptly assigned to the first process, thereby enabling the first process to update the window support flag recorded in the system configuration file. Furthermore, after the window support flag is updated, the unique access rights of the first process to the system configuration file can be promptly revoked, allowing the unique access rights to be assigned to other processes, thereby ensuring that other processes can subsequently access the system configuration file.

[0257] Step S503: updating the window support identifier of the second application program cached in the memory.

[0258] The method of updating the window support identifier of the second application cached in the memory is similar to the method of updating the window support identifier of the second application recorded in the system configuration file in the above step S502. The only difference is the space of the window support identifier record, which will not be repeated here.

[0259] It should be noted that the embodiment of the present application does not limit the execution order of the above-mentioned step S502 and step S503. Step S503 can be executed after step S502, step S503 can also be executed after step S502, and step S503 and step S502 can also be executed in parallel.

[0260] It can be seen that after the terminal perceives that the support status of the windowed display function of the second application has changed, it can update the window support identifier of the second application recorded in the system configuration file and update the window support identifier of the second application cached in the memory, ensuring that the window support identifier cached in the memory can be updated as the support status of the windowed display function of the application changes, thereby improving the accuracy of the window support identifier cached in the memory.

[0261] In one embodiment of the present application, when the window support identifier of the terminal installed application is cached in the memory in step S401, it is possible to first detect whether the unique access permission of the system configuration file has been occupied by a process, and determine the caching timing based on the detection result. For details, see the following steps S4011 to S4013:

[0262] Step S4011: Check whether the unique access permission of the system configuration file has been configured for the process. If not, execute step S4012.

[0263] The method for detecting whether the unique access permission of the system configuration file has been configured for the process has been introduced in the aforementioned step A and will not be repeated here.

[0264] Only when it is determined that the only access permission for the system configuration file has not been configured for the process, the system configuration file can be accessed, ie, step S4012 is executed.

[0265] Step S4012: assigning the unique access permission of the system configuration file to the second process, and calling the second process to cache the window support identifiers of the terminal installed applications recorded in the system configuration file in the memory.

[0266] Similar to the method described in step A above, the terminal can write the correspondence between the permission identifier of the system configuration file and the process identifier of the second process in the memory by calling the mlock function, thereby configuring the second process with the unique access right to the system configuration file.

[0267] Thus, the second process can be called to cache the window support identifier of the terminal's installed application recorded in the system configuration file in the memory, that is, the second process can be called to read the above window support identifier from the cache system configuration file, and then cache the correspondence between the application and the window support identifier in the memory.

[0268] Step S4013: After caching the window support identifier of the installed application, cancel the second process's sole access right to the system configuration file.

[0269] The window support identifier of the installed application is cached, that is, the window support identifier of the second application recorded in the cache is updated to the newly determined window support identifier, or the window support identifier of the second application is newly written into the cache.

[0270] After the window support identifier is cached, in order to enable other subsequent processes to access the system configuration file, the second process's sole access permission to the system configuration file can be promptly canceled, that is, the second process's occupation of the sole access permission to the system configuration file is canceled.

[0271] Specifically, the terminal can call the munlock function to delete the correspondence between the permission identifier of the system configuration file and the process identifier of the second process in the memory. In this way, the second process's sole access right to the system configuration file is also cancelled. Subsequently, the sole access right to the system configuration file can be configured to other processes, so that other processes can access the system configuration file.

[0272] As can be seen, when caching the window support identifiers of the terminal's installed applications recorded in the system configuration file in memory, it is possible to continuously detect whether the unique access rights to the system configuration file have been assigned to a process. If not, the unique access rights can be promptly assigned to a second process, allowing the second process to cache the window support identifiers in memory. Furthermore, after the window support identifiers are cached, the second process's unique access rights to the system configuration file can be promptly revoked, allowing the unique access rights to be assigned to other processes, thus ensuring that other processes can subsequently access the system configuration file.

[0273] It should be emphasized that the aforementioned step S401 describes the timing for caching the window support identifier in memory, including: when the operating system completes initialization, the system_server process successfully starts, or the system_server process successfully restarts. Therefore, only under these timings will steps S4011-S4013 be executed to read the window support identifier from the system configuration file and cache it in memory. Specifically, the window support identifier is read from the system configuration file when the correspondence between the application and the window support identifier is initialized in memory. After caching the window support identifier in memory, the cached window support identifier in memory can be directly obtained subsequently without having to read it from the system configuration file, thereby reducing the probability of access conflicts when reading information from the system configuration file. Furthermore, when the terminal detects a change in the support status of the application's windowed display function due to installation, update, or user settings, the application's window support identifier can be simultaneously updated in the system configuration file and in memory. The updated window support identifier can then be obtained from memory without having to read it from the system configuration file, further reducing the probability of access conflicts when reading information from the system configuration file.

[0274] In one embodiment of the present application, the first operation in the above step S402 is triggered when the third application is in the process of installation or update.

[0275] That is, when the third application is in the process of being installed or updated, the terminal detects that the user has performed the first operation.

[0276] In this case, the above Figure 4 The illustrated embodiment further comprises the following steps D-F:

[0277] Step D: In response to the installation or update instruction for the third application, detect whether the unique access permission of the system configuration file has been configured for the process; if not, execute step E.

[0278] The method for detecting whether the unique access permission of the system configuration file has been configured for the process has been introduced in the aforementioned step A and will not be repeated here.

[0279] Only when it is determined that the only access permission to the system configuration file is not configured for the process can the system configuration file be accessed, ie, step E is executed.

[0280] Step E: assigning the unique access permission of the system configuration file to the third process, installing or updating the third application, and calling the third process to update the window support identifier of the third application recorded in the system configuration file.

[0281] After step D, after the terminal determines that the unique access permission of the system configuration file is not occupied by any process, the terminal can configure the unique access permission of the system configuration file to the third process and start installing or updating the third application. During the installation process, the third process can be called to obtain information indicating whether it supports the windowed display function from the installation package or update package of the third application. Based on the read information, the third process is called to update the window support identifier of the third application recorded in the system configuration file.

[0282] Among them, the above-mentioned third process can be a package manager (PackageManager) thread in the package manager service module (PackageManager Service, PMS) located in the application framework layer. The PackageManager thread can call the registration package (installPackages) method to update the window support identifier of the third application recorded in the system configuration file.

[0283] Step F: After the window support flag of the third application is updated, the third process's sole access permission to the system configuration file is revoked.

[0284] Below through Figure 7a , the execution process of the relevant technology is introduced when the third application is in the installation or update process and the user performs the first operation.

[0285] Figure 7a The middle arrow represents the timeline. Locking the system configuration file by a process refers to configuring the sole access permission of the system configuration file to the process.

[0286] Depend on Figure 7a It can be seen that first, the terminal determines that the system configuration file is not locked in response to the installation or update instruction for the third application. Therefore, the terminal can configure the unique access right of the system configuration file to the third process, start installing or updating the third application, and call the third process to update the window support identifier of the third application recorded in the system configuration file. At this time, it can be said that the third process locks the system configuration file.

[0287] Then, as time passes, while the third application is being installed or updated, the terminal detects a first operation, which may be an instruction to launch the first application. At this point, to determine whether the first application supports the windowed display function, the terminal needs to read the first application's window support flag from the system configuration file. However, the system configuration file is locked by the third process, meaning that the terminal determines that the system configuration file is locked and cannot be accessed by other processes. This process can be referred to as lock contention. Therefore, the terminal cannot call other processes to read the window support flag from the system configuration file and must wait for the third process to unlock it.

[0288] As time passes, after waiting for the third process to unlock the system configuration file, the unique access permission of the system configuration file is released. The terminal can then configure the unique access permission of the system configuration file to the first process, call the first process to read the window support identifier of the first application recorded in the system configuration file, and finally execute the target action indicated by the first operation on the first application after reading the window support identifier, that is, start the application. It can also be called the first process locking the system configuration file, reading the window support identifier, and then executing the target action indicated by the first operation.

[0289] It can be seen that in the related art, when the application is in the process of installation or updating, the system configuration file will be locked by the third process. In this way, after detecting the first operation, since the terminal cannot access the system configuration file, it is necessary to wait until the third process unlocks the system configuration file before the first process can be used to lock the system configuration file and call the first process to lock the system configuration file. This results in a waiting time, which leads to low efficiency in obtaining the window support identifier, and thus a high delay in executing the target action indicated by the first operation after obtaining the window support identifier.

[0290] For example, after the user uses the camera APP installed in the terminal to take a photo, when the camera APP interface is swiped up to exit to the background, the terminal needs to call the first process to read the window support identifier of the camera APP from the system configuration file. If an application is being updated or installed in the background at this time, the third process is locking the system configuration file. In this way, it is necessary to wait until the third process unlocks the system configuration file before calling the first process to read the window support identifier of the camera APP from the system configuration file. Only after obtaining the window support identifier can the camera APP interface be swiped up to exit to the background.

[0291] This will result in a waiting time between the moment the user swipes up the camera app interface and the moment the camera app interface actually slides out to the background. When the above waiting time exceeds 245 milliseconds, the user will feel that the camera app interface responds slowly and does not follow the hand when swiping up to exit to the background.

[0292] For another example, when a user clicks on the application icon of the App Store APP on the desktop, if an application is being updated or installed in the background at this time, it is necessary to wait until the third process unlocks the system configuration file before calling the first process to read the window support flag of the App Store APP from the system configuration file. The App Store APP is started only after the window support flag is obtained. This will also cause a waiting time between the moment the user clicks on the application icon of the App Store APP and the moment the App Store APP is actually started. When the above waiting time exceeds 155 milliseconds, the user will perceive that the response is slow and does not keep up with the hand when starting the App Store APP.

[0293] Then pass Figure 7b , the execution process of an embodiment of the present application is introduced when a third application is in the process of installing or updating and detects that a user performs a first operation.

[0294] Figure 7b The middle arrow represents the timeline. Locking the system configuration file by a process refers to configuring the sole access permission of the system configuration file to the process.

[0295] Depend on Figure 7b It can be seen that first, the terminal responds to the installation or update instruction for the third application and determines that the system configuration file is not locked. Therefore, the terminal can configure the unique access right of the system configuration file to the third process, start installing or updating the third application, and call the third process to update the window support identifier of the third application recorded in the system configuration file. At this time, the third process locks the system configuration file.

[0296] Then, as time goes by, when the third application is in the process of being installed or updated, the terminal detects a first operation, which may be used to indicate the start of the first application. At this time, in order to know whether the first application supports the windowed display function, the terminal can directly read the window support identifier from the memory. After successfully reading the window support identifier of the first application, the terminal can execute the target action indicated by the first operation on the first application, that is, start the application.

[0297] It can be seen that in the solution provided in the embodiment of the present application, the window support identifier is read directly from the memory, and whether the system configuration file is locked will not affect the reading of the window support identifier. When the application is in the process of installation or updating, even if the system configuration file is locked, the window support identifier can be read from the memory conveniently and efficiently, that is, the efficiency of obtaining the window support identifier is high, so that the delay in executing the target action indicated by the first operation after obtaining the window support identifier is low.

[0298] Still taking the aforementioned scenario of swiping up to exit the camera APP to the background or launching the App Store APP as an example, by applying the solution provided in the embodiment of the present application, even if the system configuration file has been locked, the window support identifier can be directly read from the memory without waiting time. After obtaining the window support identifier, the camera APP can be directly swiped up to exit the background or launch the App Store APP, with low latency, solving the problems of slow operation response and non-hand tracking.

[0299] By comparison, it can be seen that the solution provided by the embodiment of the present application is different from the related art. Since the window support identifier is read directly from the memory, whether the system configuration file is locked will not affect the reading of the window support identifier. Even if the first operation is triggered when the third application is in the process of installation or updating and the system configuration file is locked, the window support identifier can be read from the memory conveniently and efficiently, that is, the efficiency of obtaining the window support identifier is high, and thus the delay in executing the target action indicated by the first operation after obtaining the window support identifier is low.

[0300] Furthermore, since the delay in the terminal executing the target action on the first application is reduced, the user intuitively feels that the terminal responds to its own operations faster and the operations are more responsive, giving the user a smoother terminal usage experience.

[0301] Next, pass Figure 8a and Figure 8b From the perspective of the calling relationship between processes, when the third application is in the process of installing or updating and the first operation is detected, the operation response scheme in the related art is compared with the operation response scheme provided in the embodiment of the present application.

[0302] See first Figure 8a , which is a schematic diagram of an inter-process calling relationship in the related art.

[0303] It can be seen that, first, in response to the installation or update indication of the application, the package management service PMS module located in the application framework layer can call the package management thread, and then call the registration package (installPackages) method to access the system configuration file, and write the relevant information of the application to be installed or updated in the system configuration file. At this time, it can be said that the system configuration file has been locked.

[0304] Then, in response to the first operation, the system interface process located in the application layer calls the com.android.server.wm.Task method of the activity task management service (ActivityTaskManagerService) ATMS module located in the application framework layer through Binder communication. The com.android.server.wm.Task method calls the isSupportMultiWindow method of the package management service PMS module through Binder communication. When the isSupportMultiWindow method is called to try to access the system configuration file, lock contention occurs, that is, it is found that the system configuration file has been locked and cannot be accessed.

[0305] After the installPackages method finishes accessing the system configuration file and the system configuration file is unlocked, the isSupportMultiWindow method can access the system configuration file, read the window support identifier of the first application from it, and execute the target action indicated by the first operation on the first application after successful reading.

[0306] See also Figure 8b , which is a schematic diagram of an inter-process calling relationship provided in an embodiment of the present application.

[0307] It can be seen that, first, in response to the installation or update indication of the application, the package management service PMS module located in the application framework layer can call the package management thread, and then call the installPackages method to access the system configuration file, and write the relevant information of the application to be installed or updated in the system configuration file. At this time, it can be said that the system configuration file has been locked.

[0308] Then, in response to the first operation, the system interface process at the application layer directly accesses the memory through Binder communication, reads the window support identifier of the first application from the memory, and executes the target action indicated by the first operation on the first application after successful reading.

[0309] By comparison, it can be seen intuitively that the solution provided by the embodiment of the present application simplifies the process of obtaining the window support identifier compared to the related technology. When obtaining the window support identifier, the system interface process located at the application layer does not need to call the method provided by the module located at the application framework layer through a method call to read the window support identifier from the system configuration file. Instead, it directly accesses the memory through binder communication and reads the window support identifier of the first application from the memory, thereby reducing the overhead when obtaining the window support identifier, avoiding the situation caused by the system configuration file being locked when trying to access the system configuration file, improving the efficiency of obtaining the window support identifier, and reducing the delay in executing the target action indicated by the first operation after obtaining the window support identifier.

[0310] The following describes a specific method of displaying the interface of the first application in the independent window in response to the second operation in the aforementioned step S403 according to the difference of the second operation.

[0311] When the second operation is a sliding operation from the edge of the screen to the center of the screen, the process of displaying the interface of the first application in the independent window can be divided into the following stages:

[0312] 1. Display Controls

[0313] If the second operation is a sliding operation from the edge of the screen to the center of the screen, the first control may be displayed, where the first control includes: a first application icon of the first application.

[0314] The above-mentioned first control can be a sidebar, a list, etc., which is not limited in this embodiment of the present application.

[0315] The above-mentioned second operation can be a left swipe operation from the right edge of the screen to the center of the screen, or a right swipe operation from the left edge of the screen to the center of the screen, or a downward swipe operation from the upper edge of the screen to the center of the screen, or an upward swipe operation from the lower side of the screen to the center of the screen. The embodiment of the present application does not limit this.

[0316] Furthermore, the second operation may be an operation triggered on the desktop or an operation triggered on an application interface.

[0317] The following takes the first application as a video APP as an example and provides an intuitive explanation with reference to the accompanying drawings.

[0318] like Figure 9a As shown, the user can slide left from the right edge of the screen to the center of the screen on the desktop 10. In response to the above left sliding operation, the terminal displays a first control 60 including a first application icon 101 of the video APP on the desktop 10.

[0319] For example Figure 9bAs shown, the user can swipe left from the right edge of the screen to the center of the screen on the interface 70 of the sports health APP. In response to the above-mentioned left swipe operation, the terminal displays the first control 60 including the first application icon 101 of the video APP on the interface 70 of the sports health APP.

[0320] 2. Windowed display

[0321] After the first control is displayed, a new independent window may be started in response to an operation on the first application icon in the first control, and the interface of the first application program may be displayed in the new independent window.

[0322] Depending on the operation on the first application icon, it is divided into the following situations:

[0323] First case:

[0324] If the above operation is a click operation on the first application icon in the first control, a new independent window can be started in the preset first display area in response to the above click operation, and the interface of the first application program can be displayed in the new independent window.

[0325] The above-mentioned first display area can be the central area of ​​the screen, or the upper right corner area, upper left corner area, etc. of the screen, and the embodiment of the present application does not limit this.

[0326] Figure 9c As shown, taking the first application as a video APP as an example, the first control 60 is displayed on the desktop 10. After the user clicks the first application icon 101 in the first control 60, the terminal can start a new independent window in the first display area in the center of the screen and display the interface 20 of the video APP in the new independent window.

[0327] In this way, the interface 20 of the video APP is suspended on the desktop 10 in the form of an independent window. The user can perform various operations on the desktop 10, and can also obtain the focus in the independent window at any time and operate on the interface 20 of the video APP displayed in the independent window.

[0328] certainly, Figure 9c The example shown is to display the application interface in portrait mode in an independent window, and the video APP interface can also be displayed in landscape mode in an independent window, such as Figure 9d As shown, the interface 90 of the video APP displayed in the independent window is a video playback interface displayed in a horizontal screen. Among them, whether the application is displayed in a vertical screen or a horizontal screen in the independent window can be determined by the type of application, the state of the application, etc., and will not be described in detail in the embodiment of the present application.

[0329] Among them, the independent window can be dynamically enlarged, reduced, closed, returned to full-screen display, etc. according to user operations, and the embodiments of the present application do not limit this.

[0330] It should be noted that after the application process is displayed in a window, the properties of the application can be adaptively adjusted according to the size and shape of the independent window.

[0331] For example, the display relationship between the upper and lower layers of the application, the reduction ratio of interface element controls, the occlusion area of ​​interface element controls, etc. can all be adaptively adjusted.

[0332] See below Figure 9e ,like Figure 9e As shown, taking the first application as a sports health APP as an example, the first control 60 is displayed on the interface 20 of the video APP. After the user clicks the application icon 103 of the sports health APP in the first control 60, the terminal can start a new independent window in the first display area in the center of the screen and display the interface 70 of the sports health APP in the new independent window.

[0333] In this way, the interface 70 of the sports health APP is suspended on the interface 10 of the video APP displayed in full screen in the form of an independent window. The user can operate on the interface 10 of the video APP and on the interface 70 of the sports health APP displayed in the independent window.

[0334] It can be seen that in this case, the user only needs to click the first application icon in the first space to trigger the windowed display of the first application. For the user, the operation is relatively convenient and simple.

[0335] Second case:

[0336] If the above operation is a drag operation on the first application icon in the first control, the drag position of the first application icon can be determined, and based on the drag position, the second display area of ​​the new independent window can be determined. Then, a new independent window is started in the second display area, and the interface of the first application is displayed in the new independent window.

[0337] The above-mentioned first display area can be the upper half of the screen, the lower half of the screen, the left half of the screen, or the right half of the screen, and this embodiment of the present application does not limit this.

[0338] Figure 9fAs shown, taking the first application as a video APP as an example, the first control 60 is displayed on the desktop 10. The user can drag the first application icon 101 of the video APP in the first control 10. At this time, the terminal can display the split-screen dividing line 80 and display prompt information such as "Enter split-screen mode". After the user stops dragging, the terminal determines that the dragging position of the first application icon 101 is the upper half of the screen, so that the terminal can determine the upper half of the screen as the second display area of ​​the new independent window, and then start a new independent window in the second display area, and display the interface 20 of the video APP in the new independent window. The lower half of the screen is still used to display the desktop.

[0339] In this way, it is equivalent to displaying the interface 20 of the video APP in the upper half of the screen and displaying the desktop 10 in the lower half. The user can perform various operations on the desktop 10 displayed in the lower half, and can also perform operations on the interface 20 of the video APP displayed in the upper half.

[0340] Another example Figure 9g As shown, taking the first application as a sports health APP as an example, the first control 60 is displayed on the interface 20 of the video APP. The user can drag the first application icon 103 of the sports health APP in the first control 60. At this time, the terminal can display the split-screen dividing line 80 and display prompt information such as "Enter split-screen mode". After the user stops dragging, the terminal determines that the dragging position of the first application icon 103 is the upper half of the screen, so that the terminal can determine the upper half of the screen as the second display area of ​​the new independent window, and then start a new independent window in the second display area, and display the interface 70 of the sports health APP in the new independent window. The lower half of the screen is still used to display the interface 20 of the video APP.

[0341] In this way, the upper half of the screen displays the interface 70 of the sports health APP, and the lower half displays the desktop 10. The user can perform various operations on the desktop 10 and on the interface 70 of the sports health APP displayed in an independent window.

[0342] It can be seen that in this case, the user can flexibly determine the position of the independent window displayed by the first application by dragging the first application icon according to his or her own needs or preferences, thereby improving the flexibility of the windowed display application interface.

[0343] As can be seen from the above, when the second operation is a sliding operation from the edge of the screen to the center of the screen, the first application icon of the first application can be intuitively displayed through the first control, which facilitates the user to operate the first application icon in the first control and improves the user experience.

[0344] When the second operation is a drag operation from the bottom center of the first application's interface to the windowed trigger area, the process of displaying the first application's interface in the independent window can be divided into the following stages:

[0345] 1. Display windowed trigger area

[0346] In the case where the second operation is a drag operation from the bottom center of the interface of the first application to the windowed trigger area, the terminal can display the windowed trigger area on the screen, as described above. Figure 3b As shown, the windowed trigger area may also display prompt information such as "enter small window" to guide the user to drag the interface of the first application to the windowed trigger area to trigger the windowed display of the application interface.

[0347] 2. Windowed display

[0348] After determining that the interface of the first application is dragged to the windowed triggering area, the terminal considers that the user wants to trigger the windowed display of the first application, as described above. Figure 3b As shown, the interface 20 of the video APP is dragged to the windowed trigger area 30; therefore, a new independent window can be started, and the interface of the first application is displayed in the new independent window.

[0349] Specifically, the interface of the first application program may be displayed in an independent window in the following manner.

[0350] In one implementation, a new independent window may be directly started in the preset third display area, and the interface of the first application may be displayed in the new independent window.

[0351] The third display area can be set by the staff based on experience, such as the center area of ​​the screen, the upper right corner area, the upper left corner area, etc.

[0352] In this way, a new independent window can be started directly and conveniently in the preset third display area, and the interface of the first application can be displayed in the form of the new independent window.

[0353] In another embodiment, the target position after the center of the interface of the first application is dragged can be determined, and based on the above target position and the length and width of the preset display area, the fourth display area of ​​the independent window can be determined, and a new independent window can be started in the fourth display area to display the interface of the first application in the form of a new independent window.

[0354] For example, a rectangular area having the target position as the geometric center and the length and width as the length and width is determined as the fourth display area of ​​the independent window.

[0355] As can be seen from the above, in this embodiment, the user can directly drag from the bottom center of the interface of the first application to the windowed trigger area. After the interface of the first application is dragged to the windowed trigger area, the terminal can start a new independent window and display the interface of the first application in the new independent window. The operation is relatively simple and user-friendly, which improves the user experience.

[0356] In one embodiment of the present application, when the second operation is a drag operation from the bottom center of the interface of the first application to the windowed trigger area, if the first window support identifier indicates that the first application does not support the windowed display function, a prompt message can be displayed.

[0357] The prompt information indicates that the first application does not support the windowed display function.

[0358] like Figure 9h As shown, taking the first application as a video APP as an example, when the user tries to drag the interface 20 of the video APP to the windowed trigger area 30, the terminal can display the prompt message "Sorry, this application does not support the windowed display function temporarily", and then return to the full-screen display of the interface 20 of the video APP.

[0359] In this way, when the first application does not support the windowed display function, a prompt message can be displayed in time to inform the user, reducing the probability of a bad experience for the user due to repeated attempts to fail to start the multi-window display of the application.

[0360] In one embodiment of the present application, after the terminal displays the interface of the first application in an independent window in response to the user's second operation, it can also display the interface of another application indicated by the new second operation in a new independent window in response to the user's subsequent new second operation.

[0361] like Figure 9i As shown, after the terminal displays the interface 70 of the sports health APP in an independent window, it can respond to the user's left swipe operation again to display the first control 60. The user clicks the application icon 101 of the video APP in the first control 60. In this way, the terminal can create a new independent window and display the interface 90 of the video APP in the new independent window.

[0362] In this way, the interface 70 of the sports health APP and the interface 90 of the video APP are both suspended on the desktop 10 in the form of independent windows, among which the interface 70 of the sports health APP is displayed in the form of a vertical floating window, and the interface 90 of the video APP is displayed in the form of a horizontal floating window. Users can perform various operations on the desktop 10, the interface 70 of the sports health APP and the interface 90 of the video APP at the same time.

[0363] The user information involved in the embodiments of this application is all information authorized by the user. The acquisition, storage, use, processing, transmission, provision and disclosure of user information comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0364] In a specific implementation, the present application further provides a computer storage medium, wherein the computer storage medium may store a program, wherein when the program is executed, the device containing the computer-readable storage medium is controlled to perform some or all of the steps in the above embodiment. The above storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).

[0365] In a specific implementation, an embodiment of the present application further provides a computer program product, which includes executable instructions. When the executable instructions are executed on a terminal, the terminal executes some or all of the steps in the above method embodiment.

[0366] In a specific implementation, an embodiment of the present application further provides a terminal, including: one or more processors and a memory;

[0367] The memory is coupled to the one or more processors, and the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to enable the terminal to execute the operation response method provided in the embodiment of the present application.

[0368] like Figure 10 As shown, the present application also provides a chip system, which is applied to the terminal 100, and the chip system includes one or more processors 1001. The processor 1001 is used to call computer instructions so that the terminal 100 inputs the data to be processed into the chip system, and the chip system performs an operation response based on the operation response method provided in the embodiment of the present application.

[0369] In one possible implementation, the chip system further includes input and output interfaces for inputting and outputting data.

[0370] The various embodiments of the mechanisms disclosed in this application can be implemented in hardware, software, firmware, or a combination of these implementation methods. The embodiments of the present application can be implemented as a computer program or program code executed on a programmable system, which includes at least one processor, a storage system (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device.

[0371] Program code can be applied to input instructions to perform the functions described herein and generate output information. The output information can be applied to one or more output devices in a known manner. For the purposes of this application, a processing system includes any system having a processor such as, for example, a digital signal processor (DSP), a microcontroller, an application specific integrated circuit (ASIC), or a microprocessor.

[0372] Program code can be implemented with a high-level programming language or an object-oriented programming language to communicate with the processing system. Where necessary, program code can also be implemented in assembly language or machine language. In fact, the mechanism described in this application is not limited to the scope of any particular programming language. In either case, the language can be a compiled language or an interpreted language.

[0373] In some cases, the disclosed embodiments can be implemented in hardware, firmware, software or any combination thereof. The disclosed embodiments can also be implemented as instructions carried or stored on one or more temporary or non-temporary machine-readable (e.g., computer-readable) storage media, which can be read and executed by one or more processors. For example, instructions can be distributed over a network or by other computer-readable media. Therefore, machine-readable media can include any mechanism for storing or transmitting information in a machine (e.g., computer) readable form, including but not limited to, floppy disks, optical disks, optical disks, compact disc read-only memories (Compact Disc Read Only Memory, CD-ROMs), magneto-optical disks, read-only memories, random access memories, erasable programmable read-only memories (Erasable Programmable Read Only Memory, EPROM), electrically erasable programmable read-only memories (Electrically Erasable Programmable Read Only Memory, EEPROM), magnetic cards or optical cards, flash memory, or tangible machine-readable memories for transmitting information (e.g., carrier waves, infrared signal digital signals, etc.) using the Internet in electrical, optical, acoustic or other forms of propagation signals. Accordingly, machine-readable media includes any type of machine-readable media suitable for storing or transmitting electronic instructions or information in a form readable by a machine (eg, a computer).

[0374] In the accompanying drawings, some structural or method features may be shown in a particular arrangement and / or order. However, it should be understood that such a particular arrangement and / or order may not be required. Rather, in some embodiments, these features may be arranged in a manner and / or order different from that shown in the accompanying drawings. In addition, the inclusion of a structural or method feature in a particular figure does not imply that such a feature is required in all embodiments, and in some embodiments, such features may not be included or may be combined with other features.

[0375] It should be noted that the units / modules mentioned in the various device embodiments of the present application are all logical units / modules. Physically, a logical unit / module can be a physical unit / module, or a part of a physical unit / module, or can be implemented as a combination of multiple physical units / modules. The physical implementation of these logical units / modules themselves is not the most important. The combination of functions implemented by these logical units / modules is the key to solving the technical problems raised by this application. In addition, in order to highlight the innovative part of this application, the above-mentioned device embodiments of this application do not introduce units / modules that are not closely related to solving the technical problems raised by this application. This does not mean that other units / modules do not exist in the above-mentioned device embodiments.

[0376] It should be noted that in the examples and description of this patent, relational terms such as first and second, etc. are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device that includes a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "including a" does not exclude the presence of other identical elements in the process, method, article or device that includes the element.

[0377] Although the present application has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the application.

Claims

1. An operation response method, characterized in that: Applied to a terminal, the method includes: caching in memory the window support identifier of the application installed on the terminal recorded in the system configuration file, wherein the window support identifier indicates whether the application supports a windowed display function; In response to a first operation, obtaining a first window support identifier of a first application program indicated by the first operation cached in a memory, wherein the first operation instruction executes a target action on the first application program, and executing the target action on the first application program; In response to the second operation, if the first window support identifier indicates that the first application supports a windowed display function, the interface of the first application is displayed in an independent window.

2. The method according to claim 1, characterized in that The method further comprises: a second application program that monitors changes in the support status of the windowed display function; Updating the window support identifier of the second application program recorded in the system configuration file; The window support identifier of the second application program cached in the memory is updated.

3. The method according to claim 2, characterized in that The second application program for monitoring a change in the support status of the windowed display function includes: In response to the third operation, it is determined that the application indicated by the third operation is a second application whose support status of the windowed display function has changed.

4. The method according to claim 2, characterized in that The updating of the window support identifier of the second application recorded in the system configuration file includes: Detecting whether the unique access permission of the system configuration file has been configured for the process; If not, assigning the unique access permission of the system configuration file to the first process, and calling the first process to update the window support identifier of the second application recorded in the system configuration file; After the window support identifier of the second application is updated, the sole access right of the first process to the system configuration file is cancelled.

5. The method according to claim 1, wherein The window support identifier of the terminal installed application recorded in the in-memory cache system configuration file includes: In at least one of the following cases, the window support identifier of the terminal's installed application recorded in the system configuration file is cached in the memory: The operating system completed initialization, the system service system_server process successfully started, and the system_server process successfully restarted.

6. The method according to claim 1, wherein The window support identifier of the terminal installed application recorded in the in-memory cache system configuration file includes: Detecting whether the unique access permission of the system configuration file has been configured for the process; If not, assigning the second process the sole access right to the system configuration file, and invoking the second process to cache in memory the window support identifiers of the installed applications on the terminal recorded in the system configuration file; After the window support identifier of the installed application is cached, the sole access right of the second process to the system configuration file is cancelled.

7. The method according to any one of claims 1 to 6, characterized in that The first operation is triggered when the third application is in the process of being installed or updated.

8. The method according to claim 7, characterized in that The method further comprises: In response to an installation or update instruction for the third application, detecting whether a unique access permission of the system configuration file has been configured for a process; If not, assigning the unique access permission of the system configuration file to a third process, installing or updating the third application, and calling the third process to update the window support identifier of the third application recorded in the system configuration file; After the window support identifier of the third application is updated, the sole access right of the third process to the system configuration file is cancelled.

9. The method according to any one of claims 1 to 6, characterized in that The window support identifier of the terminal installed application recorded in the in-memory cache system configuration file includes: The window support identifier of the terminal's installed application recorded in the system configuration file is cached in the memory in the form of a key-value pair, wherein the key of the key-value pair is the identifier of the installed application, and the value of the key-value pair is the value of the window support identifier of the installed application.

10. The method according to any one of claims 1 to 6, characterized in that The second operation is: a sliding operation from the edge of the screen to the center of the screen; Displaying the interface of the first application in an independent window includes: Displaying a first control, wherein the first control includes: a first application icon of the first application; In response to an operation on the first application icon in the first control, a new independent window is started, and the interface of the first application is displayed in the new independent window.

11. The method according to claim 10, characterized in that The step of starting a new independent window in response to an operation on the first application icon in the first control, and displaying the interface of the first application in the new independent window, includes: In response to a click operation on a first application icon in the first control, launching a new independent window in a preset first display area, and displaying an interface of the first application in the new independent window; or In response to a drag operation on the first application icon in the first control, the drag position of the first application icon is determined; based on the drag position, a second display area of ​​a new independent window is determined; the new independent window is started in the second display area, and the interface of the first application is displayed in the new independent window.

12. The method according to any one of claims 1 to 6, characterized in that The second operation is: a drag operation from the bottom center of the interface of the first application to the windowed trigger area; Displaying the interface of the first application in an independent window includes: In response to the interface of the first application being dragged to the windowed trigger area, a new independent window is started, and the interface of the first application is displayed in the new independent window.

13. The method according to claim 12, characterized in that In response to the interface of the first application being dragged to the windowed triggering area, starting a new independent window and displaying the interface of the first application in the new independent window includes: In response to the interface of the first application being dragged to the windowed trigger area, a new independent window is started in the preset third display area, and the interface of the first application is displayed in the form of the new independent window.

14. The method according to claim 12, characterized in that The method further comprises: If the first window support identifier indicates that the first application does not support the windowed display function, a prompt message is displayed, wherein the prompt message indicates that the first application does not support the windowed display function.

15. The method according to any one of claims 1 to 6, characterized in that The target actions include: starting an application, switching an application from a foreground running state to a background running state, and sliding an application interface.

16. A terminal, characterized in that: include: one or more processors and memory; The memory is coupled to the one or more processors, and is configured to store computer program codes, where the computer program codes include computer instructions. The one or more processors invoke the computer instructions to enable the terminal to execute the method according to any one of claims 1 to 15.

17. A computer-readable storage medium, characterized in that The method comprises a computer program, which, when executed on a terminal, causes the terminal to execute the method according to any one of claims 1 to 15.

18. A computer program product, characterized in that The computer program product comprises executable instructions, and when the executable instructions are executed on a terminal, the terminal is caused to perform the method according to any one of claims 1 to 15.

19. A chip system, characterized in that: The chip system is applied to a terminal, and the chip system includes one or more processors, and the processor is used to call computer instructions to enable the terminal to input data into the chip system and execute the method described in any one of claims 1 to 15 to perform an operation response.

Citation Information

Patent Citations

  • Window management method and apparatus

    CN105005427A

  • Application program processing method and electronic equipment

    CN111368188A

  • File processing permission control method and device and storage medium

    CN115017534A

  • Window display method and device, terminal equipment and storage medium

    CN117909013A

  • Mobile terminal and permission management method and device for application program

    WO2020015656A1