Multi-screen resource scheduling method and electronic equipment

By setting a high-priority resource scheduling strategy for the front-end applications of multi-screen devices, the problem of stuttering of front-end applications in multi-screen devices is solved, and the smooth operation and optimized user experience of each screen application are achieved.

CN120276834APending Publication Date: 2025-07-08HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410029288.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-05
Publication Date
2025-07-08

AI Technical Summary

Technical Problem

Resource scheduling issues for multi-screen devices, especially when a chip needs to support multiple screens at the same time, applications running in the front desk may have lag, affecting the user experience.

Method used

By setting higher resource scheduling priority for front-end running applications in multiple display screens and setting lower priority for back-end running applications, different resource scheduling strategies such as real-time scheduling and completely fair scheduling are adopted to reasonably allocate CPU, memory and network resources to ensure smooth operation of front-end applications.

Benefits of technology

It effectively avoids the background running applications to seize system resources and affects the smoothness of the front-end applications, ensures the smooth operation of the front-end applications in each display screen, and improves the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120276834A_ABST
    Figure CN120276834A_ABST
Patent Text Reader

Abstract

The invention provides a multi-screen resource scheduling method and electronic equipment. In the method, the electronic equipment comprises a first display screen and a second display screen, the electronic equipment determines that a first application runs in the foreground of the first display screen, and the resource scheduling priority of the first application is set as a first priority; the electronic equipment determines that the foreground of the second display screen runs a second application, and sets the resource scheduling priority of the second application as the first priority; and the electronic equipment schedules system resources for the first application and the second application according to a first resource scheduling strategy corresponding to the first priority. Through the scheme, the electronic equipment can set the resource scheduling priorities of the applications running in the foreground in the plurality of display screens to be higher priorities, so that the electronic equipment can preferentially schedule system resources for the applications running in the foreground in the plurality of display screens, the applications running in the foreground in each display screen can be ensured to run smoothly, and the user experience is improved. And user experience is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of Internet technologies, and in particular, to a multi-screen resource scheduling method and an electronic device. Background Art

[0002] When an electronic device usually includes one display screen, the "one-chip-one-screen" method of driving one screen with one chip is adopted. In the one-chip-one-screen method, the system resources of the electronic device are scheduled and controlled around one screen. However, with the emergence of multi-screen devices, one chip needs to support multiple screens simultaneously, adopting the "one-chip-multi-screen" method of driving multiple screens with one chip. For example, in the intelligent cockpit scenario, the chip of the in-vehicle device needs to support multiple screens such as the central control screen, instrument screen, co-pilot screen, rear row screen, and armrest screen.

[0003] Currently, the resource scheduling of multi-screen devices has become an urgent problem to be solved. Summary of the Invention

[0004] This application provides a multi-screen resource scheduling method and an electronic device to improve the fluency of applications running in the foreground on multiple display screens.

[0005] In a first aspect, this application provides a multi-screen resource scheduling method. This method can be executed by an electronic device, and the electronic device includes a first display screen and a second display screen. The method includes: the electronic device determines a first application running in the foreground on the first display screen, and sets the resource scheduling priority of the first application to a first priority; the electronic device determines a second application running in the foreground on the second display screen, and sets the resource scheduling priority of the second application to the first priority; the electronic device schedules system resources for the first application and the second application according to a first resource scheduling policy corresponding to the first priority.

[0006] In the above method, the electronic device can set the resource scheduling priorities of applications running in the foreground on multiple display screens to a relatively high priority. Thus, the electronic device can preferentially schedule system resources for applications running in the foreground on multiple display screens, ensuring that the applications running in the foreground on each display screen can run smoothly and guaranteeing the user experience.

[0007] In a possible design, setting the resource scheduling priority of the first application to the first priority includes: adding the application process of the first application to a first application process group, and the first application process group is the application process group corresponding to the first priority;

[0008] Setting the resource scheduling priority of the second application to the first priority includes: adding the application process of the second application to the first application process group.

[0009] With this design, the electronic device can maintain multiple application process groups corresponding to multiple priorities, and set the resource scheduling priority of an application by adding the application process to the application process group, facilitating the electronic device to manage the resource scheduling priorities of the applications running on multiple displays.

[0010] In one possible design, the method further includes: determining that a third application is running in the background on the first display, setting the resource scheduling priority of the third application to a second priority, where the second priority is lower than the first priority; determining that a fourth application is running in the background on the second display, setting the resource scheduling priority of the fourth application to the second priority; and scheduling system resources for the third application and the fourth application according to a second resource scheduling policy corresponding to the second priority.

[0011] With this design, the electronic device can set the resource scheduling priority of the application programs of the applications running in the background on multiple displays to a second priority, where the second priority is lower than the first priority, so as to prevent the applications running in the background from preempting system resources and affecting the smoothness of the applications running in the foreground.

[0012] In one possible design, setting the resource scheduling priority of the third application to the second priority includes: adding the application process of the third application to a second application process group, where the second application process group is the application process group corresponding to the second priority;

[0013] Setting the resource scheduling priority of the fourth application to the second priority includes: adding the application process of the fourth application to the second application process group.

[0014] With this design, the electronic device can also add the application programs of the applications running in the background on multiple displays to the second application process group to set the resource scheduling priority of the applications running in the background on multiple displays to the second priority, facilitating the electronic device to manage the resource scheduling priorities of the applications running on multiple displays.

[0015] In one possible design, the method further includes: determining that the system load is greater than a preset threshold, and controlling the application programs of the applications running on the first display and the second display in ascending order of resource scheduling priority.

[0016] With this design, when the system load of the electronic device is greater than a preset threshold, the electronic device can control the application processes in ascending order of resource scheduling priority, such as killing the application processes or turning off the displays corresponding to the application processes, so as to preferentially ensure the system resources of the application processes with higher priorities.

[0017] In a possible design, the method further includes: determining that the system load is greater than a preset threshold, determining that the priority of the first display screen is higher than that of the second display screen according to the preset display screen priority, and adjusting the resource scheduling priority of the second application from the first priority to a second priority, where the first priority is higher than the second priority.

[0018] With this design, when the system load of the electronic device is greater than the preset threshold, the electronic device can also adjust the resource scheduling priority of the application running in the foreground on the display screen with a lower priority according to the preset display screen priority, so as to ensure the smooth running of the application on the display screen with a higher priority.

[0019] In a possible design, the method further includes: determining that the first application switches from the foreground running state to the background running state, and setting the resource scheduling priority of the first application to a second priority, where the second priority is lower than the first priority.

[0020] With this design, the electronic device can correspondingly adjust the resource scheduling priority of the application when the application switches the running state, so as to timely adjust the resource scheduling policy corresponding to the application.

[0021] In a possible design, the system resources include at least one of central processing unit (CPU) resources, memory resources, input / output (IO) resources, and network access resources.

[0022] With this design, the electronic device can reasonably schedule at least one of CPU resources, memory resources, IO resources, and network access resources according to the resource scheduling priority corresponding to the application, so as to ensure the smooth running of the application.

[0023] In a possible design, the first resource scheduling policy is a real-time scheduling (RT) policy, and the second resource scheduling policy is a completely fair scheduling (CFS) policy.

[0024] Second aspect, the present application provides a multi-screen resource scheduling method, which can be executed by an electronic device, and the electronic device includes a first display screen and a second display screen. The method includes: the electronic device determines that a first application is running foreground on the first display screen, and sets the resource scheduling priority of the first application to a first priority; the electronic device schedules system resources for the first application according to a first resource scheduling policy corresponding to the first priority; the electronic device determines that a second application is running foreground on the second display screen, and sets the resource scheduling priority of the second application to a second priority; the electronic device schedules system resources for the second application according to a second resource scheduling policy corresponding to the second priority; wherein, the first priority is higher than the second priority, and the first priority and the second priority are higher than the resource scheduling priorities of the applications running background on the first display screen and the second display screen.

[0025] In the above method, the electronic device can set different resource scheduling priorities for the applications running foreground on different display screens among multiple display screens, so as to preferentially schedule system resources for the applications running foreground on the display screen that is commonly used by the user or is more important in the user's usage scenario. At the same time, the resource scheduling priority of the applications running foreground on other display screens is set to be greater than the resource scheduling priority of the applications running background, preventing the applications running foreground on other display screens from getting stuck.

[0026] In a possible design, setting the resource scheduling priority of the first application to the first priority includes: adding the application process of the first application to a first application process group, and the first application process group is the application process group corresponding to the first priority;

[0027] Setting the resource scheduling priority of the second application to the second priority includes: adding the application process of the second application to a second application process group, and the second application process group is the application process group corresponding to the second priority.

[0028] Through this design, the electronic device can maintain multiple application process groups corresponding to multiple priorities, and set the resource scheduling priority of the application by adding the application process to the application process group, which is convenient for the electronic device to manage the resource scheduling priorities of the applications running on multiple display screens.

[0029] In a possible design, the method further includes: determining that a third application is running in the background on the first display screen, setting the resource scheduling priority of the third application to a third priority, where the third priority is lower than the second priority; determining that a fourth application is running in the background on the second display screen, setting the resource scheduling priority of the fourth application to the third priority; and scheduling system resources for the third application and the fourth application according to a third resource scheduling policy corresponding to the third priority.

[0030] With this design, the electronic device can set the resource scheduling priority of the application programs of the applications running in the background on multiple display screens to a third priority, which is lower than the second priority, so as to prevent the applications running in the background from preempting system resources and affecting the smoothness of the applications running in the foreground.

[0031] In a possible design, setting the resource scheduling priority of the third application to the third priority includes: adding the application process of the third application to a third application process group, where the third application process group is the application process group corresponding to the third priority;

[0032] Setting the resource scheduling priority of the fourth application to the third priority includes:

[0033] adding the application process of the fourth application to the third application process group.

[0034] With this design, the electronic device can also add the application programs of the applications running in the background on multiple display screens to the third application process group to set the resource scheduling priority of the applications running in the background on multiple display screens to the third priority, which is convenient for the electronic device to manage the resource scheduling priorities of the applications running on multiple display screens.

[0035] In a possible design, the method further includes: determining that the system load is greater than a preset threshold, and controlling the application programs running on the first display screen and the second display screen in ascending order of resource scheduling priority.

[0036] In a possible design, the method further includes: determining that the first application switches from the foreground running state to the background running state, and setting the resource scheduling priority of the first application to a third priority, where the third priority is lower than the second priority.

[0037] In a possible design, the system resources include at least one of central processing unit (CPU) resources, memory resources, input / output (IO) resources, and network access resources.

[0038] Optionally, in the multi-screen resource scheduling method provided in the first and second aspects above, the electronic device may include one or more second display screens, and the present application does not limit the number of display screens of the electronic device.

[0039] In a third aspect, the present application provides an electronic device, which includes a plurality of functional modules; the plurality of functional modules interact with each other to implement the method executed by the electronic device in any of the above aspects and their respective embodiments. The plurality of functional modules may be implemented based on software, hardware, or a combination of software and hardware, and the plurality of functional modules may be arbitrarily combined or divided based on specific implementations.

[0040] In a fourth aspect, the present application provides an electronic device, including at least one processor and at least one memory, and computer program instructions are stored in the at least one memory. When the electronic device runs, the at least one processor executes the method executed by the electronic device in any of the above aspects and their respective embodiments.

[0041] In a fifth aspect, the present application further provides a computer program product containing instructions. When the computer program product runs on a computer, it causes the computer to execute the method executed by the electronic device in any of the above aspects and their respective embodiments.

[0042] In a sixth aspect, the present application further provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a computer, it causes the computer to execute the method executed by the electronic device in any of the above aspects and their respective embodiments.

[0043] In a seventh aspect, the present application further provides a chip, which is used to read the computer program stored in the memory and execute the method executed by the electronic device in any of the above aspects and their respective embodiments.

[0044] In an eighth aspect, the present application further provides a chip system, which includes a processor for supporting a computer device to implement the method executed by the electronic device in any of the above aspects and their respective embodiments. In a possible design, the chip system further includes a memory for storing necessary programs and data of the computer device. The chip system may be composed of chips or may include chips and other discrete devices.

[0045] Based on the implementations provided in the above aspects, the embodiments of the present application can be further combined to provide more implementations. For the beneficial effects of the third to eighth aspects above, please refer to the descriptions of the beneficial effects of the first to second aspects above, and will not be repeated here. Description of the Drawings

[0046] Figure 1Schematic diagram of a device with one core and one screen provided by an embodiment of the present application;

[0047] Figure 2 Schematic diagram of an application scheduling priority provided by an embodiment of the present application;

[0048] Figure 3 Example diagram of a device with one core and multiple screens provided by an embodiment of the present application;

[0049] Figure 4 Schematic diagram of foreground running applications of a multi-screen device provided by an embodiment of the present application;

[0050] Figure 5 Schematic diagram of the structure of an electronic device provided by an embodiment of the present application;

[0051] Figure 6 Block diagram of the software structure of an electronic device provided by an embodiment of the present application;

[0052] Figure 7 Schematic diagram of the structure of an electronic device provided by an embodiment of the present application;

[0053] Figure 8 Flowchart of a multi-screen resource scheduling method provided by an embodiment of the present application;

[0054] Figure 9 Flowchart of a multi-screen resource scheduling method provided by an embodiment of the present application. Detailed implementation manners

[0055] In order to make the objectives, technical solutions, and advantages of the embodiments of the present application clearer, the embodiments of the present application will be further described in detail below with reference to the accompanying drawings. Among them, in the description of the embodiments of the present application, hereinafter, the terms "first" and "second" are only used for descriptive purposes and cannot be construed as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, features defined with "first" and "second" may explicitly or implicitly include one or more of such features.

[0056] It should be understood that in the embodiments of the present application, "at least one" means one or more, and "a plurality" means two or more. "And / or" describes the association relationship of associated objects and indicates that three relationships may exist. For example, A and / or B may represent: A exists alone, A and B exist simultaneously, or B exists alone, where A and B may be singular or plural. The character " / " generally represents an "or" relationship between the associated objects before and after. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of a single item or plural items. For example, at least one (item) of a, b, or c may represent: a, b, c, a and b, a and c, b and c, or a, b, and c, where a, b, and c may be single or plural.

[0057] Generally, when an electronic device includes a display screen, the "one-chip-one-screen" method of driving one screen with one chip is adopted. In the one-chip-one-screen method, the system resources of the electronic device are all scheduled and controlled around one screen. Among them, the system resources may include resources such as a central processing unit (CPU), memory, input / output (IO), and network access.

[0058] For example, Figure 1 This is a schematic diagram of a one-chip-one-screen device provided by the embodiments of the present application. Refer to Figure 1 Taking a vehicle-mounted device as an example, when the vehicle-mounted device includes a central control screen, in the one-chip-one-screen method, the system resources of the vehicle-mounted device are all scheduled and controlled around the central control screen. For example, assume that the vehicle-mounted device processor adopts the big-little core technology. Among them, the big core usually has a higher clock frequency and more cache to process high-performance tasks; while the little core is more energy-efficient and suitable for processing light-load tasks. The vehicle-mounted device can preferentially schedule the big core for the applications running in the foreground of the central control screen, and schedule the little core for the background applications that are not perceptible to the user. When the available memory of the system is insufficient, the vehicle-mounted device can also preferentially clean up the background applications to release the redundant memory, thereby ensuring the memory required by the foreground applications.

[0059] Optionally, the electronic device may set the resource scheduling priority of the applications running in the foreground of the central control screen to the highest priority, and set the resource scheduling priority of the applications running in the background to the lowest priority. For example, Figure 2 This is a schematic diagram of an application scheduling priority provided by the embodiments of the present application. Refer to Figure 2, assume that application A is running in the foreground and application B has not been launched on the electronic device. The electronic device can add the process of application A to the foreground group (fg-group). If the user operates to switch application A to the background and launches application B, then application B is running in the foreground and application A is running in the background. The electronic device can set the resource scheduling priority of application B to the highest priority. For example, the resource scheduling policy corresponding to application B can be a real-time scheduling (RT) policy. When application B schedules resources, it can preempt resources and can also preferentially use the large cores of the processor. When application A is running in the background, the electronic device can set the resource scheduling priority of application A to the lowest priority. For example, the resource scheduling policy corresponding to application A can be a completely fair scheduler (CFS) policy. Application A is restricted to only scheduling the small cores in the processor, and when the electronic device is in a high-load state, application A can be killed.

[0060] However, with the emergence of multi-screen devices, a single chip may need to support multiple display screens simultaneously, and thus adopt the "one-chip multi-screen" method of driving multiple display screens with a single chip. For example, Figure 3 This is a schematic diagram of a one-chip multi-screen device provided by an embodiment of the present application. Figure 3 Taking a vehicle-mounted device including multiple display screens as an example. Refer to Figure 3 , the vehicle-mounted device can include multiple display screens such as a central control screen, an instrument screen, a co-pilot screen, a rear seat screen, an augmented reality head up display (AR HUD), and an armrest screen. The user in the driver's seat can use the central control screen and the instrument screen. The user in the co-pilot position can use the co-pilot screen and the armrest screen. The user in the rear seat can use the rear seat screen and the armrest screen. In some embodiments, when there are foreground-running applications on multiple display screens of the vehicle-mounted device, the vehicle-mounted device can set the resource scheduling priority of the foreground application in the display screen where the focus is located to the highest priority, and the resource scheduling priorities of the foreground applications in other display screens to the lowest priority. Among them, the display screen where the focus is located can be the display screen that the user triggered the operation on most recently. Or the vehicle-mounted device can set the resource scheduling priority of the foreground application in the central control screen to the highest priority, and the resource scheduling priorities of the foreground applications in other display screens to the lowest priority. When performing resource scheduling based on this method, since only the resource scheduling of the foreground application in one display screen is preferentially considered, the foreground-running applications in other display screens may experience stuttering during operation, affecting the user experience.

[0061] For example, Figure 4 This is a schematic diagram of foreground-running applications on a multi-screen device provided by an embodiment of the present application. Refer to Figure 4, the first user located in the driver's seat operates to start the music application on the center control screen, and the music application runs in the foreground of the center control screen. The first user can operate on the navigation area of the center control screen to start the navigation application, and the music application and the navigation application are displayed in split screens on the center control screen. As shown in Figure 4 , in the music application occupies 1 / 3 of the display area of the center control screen, and the navigation application occupies 2 / 3 of the display area of the center control screen. The in-vehicle device can set the resource scheduling priorities of the music application and the navigation application to the first priority. The second user located in the passenger seat operates on the passenger screen to start the gallery application, and the second user swipes to view the pictures in the gallery application. The in-vehicle device can set the resource scheduling priority of the gallery application to the second priority. The third user located in the rear seat can operate the rear screen to run the video application and trigger video playback. The in-vehicle device can set the resource scheduling priority of the video application to the second priority. In this example, since the first priority is higher than the second priority, the in-vehicle device can preferentially ensure the resource supply of the foreground applications on the center control screen. When the system load of the in-vehicle device is relatively high, due to the relatively low resource scheduling priorities of the gallery application on the passenger screen and the video application on the rear screen, when the second user triggers a swipe operation on the passenger screen, the user will feel that the interface switching is not smooth, and the video on the rear screen viewed by the third user will also experience stuttering.

[0062] Based on the above problems, the embodiments of the present application provide a multi-screen resource scheduling method, which can be executed by an electronic device. In the multi-screen resource scheduling method provided by the embodiments of the present application, the electronic device includes a first display screen and a second display screen. In response to the first operation of the user, the electronic device runs a first application in the foreground of the first display screen and sets the resource scheduling priority of the first application to the first priority; in response to the second operation of the user, the electronic device runs a second application in the foreground of the second display screen and sets the resource scheduling priority of the second application to the first priority. The electronic device performs resource scheduling on the first application and the second application according to the first resource scheduling policy corresponding to the first priority. Through this solution, the electronic device can set the resource scheduling priorities of the applications running in the foreground on multiple display screens to a relatively high priority, so that the electronic device can preferentially schedule system resources for the applications running in the foreground on multiple display screens, ensure that the applications running in the foreground on each display screen can run smoothly, and ensure the user experience.

[0063] The following introduces an electronic device and embodiments for using such an electronic device. The electronic device according to the embodiments of the present application may be an in-vehicle device including multiple screens, a mobile phone, a tablet computer, an augmented reality (AR) / virtual reality (VR) device, a laptop computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), a wearable device, etc. The specific type of the electronic device is not limited in the embodiments of the present application.

[0064] In some embodiments of the present application, the electronic device may also be a portable terminal device further including other functions such as a personal digital assistant and / or a music player function. Exemplary embodiments of the portable terminal device include, but are not limited to, portable terminal devices equipped with or other operating systems.

[0065] Figure 5 FIG. 100 is a schematic structural diagram of an electronic device 100 provided by an embodiment of the present application. As Figure 5 shown, the electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone interface 170D, a sensor module 180, a key 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc.

[0066] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Among them, different processing units may be independent devices or integrated in one or more processors. Among them, the controller may be the nerve center and command center of the electronic device 100. The controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of fetching and executing instructions. A memory may also be provided in the processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can save the instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to use the instruction or data again, it can be directly called from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0067] The USB interface 130 is an interface that conforms to the USB standard specification. Specifically, it can be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc. The USB interface 130 can be used to connect a charger to charge the electronic device 100, or to transfer data between the electronic device 100 and peripheral devices. The charging management module 140 is used to receive the charging input from the charger. The power management module 141 is used to connect the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives the inputs from the battery 142 and / or the charging management module 140 to supply power to the processor 110, the internal memory 121, the external memory, the display screen 194, the camera 193, and the wireless communication module 160, etc.

[0068] The wireless communication function of the electronic device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor, and the baseband processor, etc. The antenna 1 and the antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the electronic device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be multiplexed to improve the utilization rate of the antennas. For example: The antenna 1 can be multiplexed as the diversity antenna of the wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.

[0069] The mobile communication module 150 may provide a solution for wireless communication including 2G / 3G / 4G / 5G, etc. applied to the electronic device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 150 may receive electromagnetic waves through the antenna 1, filter and amplify the received electromagnetic waves, and then transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 may also amplify the signal modulated by the modulation and demodulation processor and convert it into electromagnetic waves through the antenna 1 for radiation. In some embodiments, at least some functional modules of the mobile communication module 150 may be disposed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 may be disposed in the same device.

[0070] The wireless communication module 160 may provide a solution for wireless communication including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc. applied to the electronic device 100. The wireless communication module 160 may be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves through the antenna 2, performs frequency modulation and filtering on the electromagnetic wave signals, and sends the processed signals to the processor 110. The wireless communication module 160 may also receive the signal to be transmitted from the processor 110, perform frequency modulation and amplification on it, and convert it into electromagnetic waves through the antenna 2 for radiation.

[0071] In some embodiments, the antenna 1 of the electronic device 100 is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, such that the electronic device 100 can communicate with the network and other devices through wireless communication technologies. The wireless communication technologies may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time-Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include Global Positioning System (GPS), Global Navigation Satellite System (GLONASS), BeiDou Navigation Satellite System (BDS), Quasi-Zenith Satellite System (QZSS), and / or Satellite Based Augmentation Systems (SBAS).

[0072] The display screen 194 is used to display the display interface of an application, such as the display page of an application installed on the electronic device 100, etc. The display screen 194 includes a display panel. The display panel can adopt 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 Miniled, a MicroLed, a Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In the embodiment of the present application, the electronic device 100 may include N display screens 194, where N is a positive integer greater than 1.

[0073] The camera 193 is used to capture static images or videos. An object generates an optical image through a lens and projects it onto a 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 transmits the electrical signal to the ISP to convert it into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard format such as RGB, YUV, etc. In some embodiments, the electronic device 100 may include 1 or N cameras 193, where N is a positive integer greater than 1.

[0074] The internal memory 121 can be used to store computer-executable program code, and the executable program code includes instructions. The processor 110 executes various functional applications and data processing of the electronic device 100 by running the instructions stored in the internal memory 121. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area can store the operating system and the software code of at least one application program, etc. The data storage area can store the data generated during the use of the electronic device 100 (such as the captured images, recorded videos, etc.). In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.

[0075] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device. The external memory card communicates with the processor 110 through the external memory interface 120 to achieve the data storage function. For example, files such as pictures and videos are saved in the external memory card.

[0076] The electronic device 100 can implement audio functions through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor, etc. For example, music playback, recording, etc.

[0077] Among them, the sensor module 180 can include a pressure sensor 180A, an acceleration sensor 180B, a touch sensor 180C, etc.

[0078] The pressure sensor 180A is used to sense the pressure signal and can convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A can be disposed on the display screen 194.

[0079] The touch sensor 180C, also known as the "touch panel". The touch sensor 180C can be disposed on the display screen 194. The touch sensor 180C and the display screen 194 form a touch screen, also known as the "touch screen". The touch sensor 180C is used to detect touch operations acting thereon or nearby. The touch sensor can transmit the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through the display screen 194. In other embodiments, the touch sensor 180C can also be disposed on the surface of the electronic device 100, at a different position from the display screen 194.

[0080] The keys 190 include a power-on key, a volume key, etc. The keys 190 can be mechanical keys or touch keys. The electronic device 100 can receive key inputs to generate key signal inputs related to the user settings and function control of the electronic device 100. The motor 191 can generate vibration prompts. The motor 191 can be used for incoming call vibration prompts and can also be used for touch vibration feedback. For example, touch operations acting on different applications (such as taking pictures, audio playback, etc.) can correspond to different vibration feedback effects. The touch vibration feedback effect can also support customization. The indicator 192 can be an indicator light, which can be used to indicate the charging state, the change in battery level, and can also be used to indicate messages, missed calls, notifications, etc. The SIM card interface 195 is used to connect the SIM card. The SIM card can be inserted into or removed from the SIM card interface 195 to achieve contact and separation from the electronic device 100.

[0081] It can be understood that Figure 5The components shown do not specifically limit the electronic device 100. The electronic device may also include more or fewer components than those shown, or combine certain components, or split certain components, or have different component arrangements. In addition, Figure 5 the combination / connection relationships between the components in

[0082] Figure 6 This is a software structure block diagram of an electronic device provided by an embodiment of the present application. As Figure 6 shown, the software structure of the electronic device may be a layered architecture. For example, the software can be divided into several layers, and each layer has a clear role and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the operating system is divided into four layers, from top to bottom, namely the application layer, the application framework layer (framework, FWK), the runtime, the system libraries, and the kernel layer.

[0083] The application layer may include a series of application packages. As Figure 6 shown, the application layer may include a camera, settings, a skin module, a user interface (UI), third-party applications, etc. Among them, the third-party applications may include a gallery, a calendar, a call, a map, a navigation, a WLAN, a Bluetooth, music, a video, a short message, etc. In the embodiment of the present application, the application layer may include a target installation package of a target application downloaded by the electronic device from a server, and the function files and layout files in the target installation package are adapted to the electronic device.

[0084] The application framework layer provides application programming interfaces (APIs) and programming frameworks for the applications in the application layer. The application framework layer may include some predefined functions. As Figure 6 shown, the application framework layer may include a window manager, a content provider, a view system, a telephone manager, a resource manager, a notification manager, and a resource scheduling and control subsystem.

[0085] The window manager, also known as the window management subsystem, is used to manage window programs. The window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc. In the embodiment of the present application, the window manager can also be used to monitor the changes of the applications running in the foreground on multiple display screens.

[0086] The content provider is used to store and obtain data, and make this data accessible to applications. The data may include videos, images, audio, dialed and received calls, browsing history and bookmarks, a phone book, etc.

[0087] The view system includes visual controls, such as controls for displaying text, controls for displaying pictures, etc. The view system can be used to build applications. The display interface can be composed of one or more views. For example, a display interface including a text message notification icon can include a view for displaying text and a view for displaying pictures.

[0088] The phone manager is used to provide the communication function of the electronic device. For example, the management of call status (including answering, hanging up, etc.).

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

[0090] The notification manager enables applications to display notification information in the status bar. It can be used to convey informative messages, which can automatically disappear after a short stay without user interaction. For example, the notification manager is used to inform that the download is completed, message reminders, etc. The notification manager can also be a notification that appears in the system top status bar in the form of a chart or scroll bar text, such as a notification of a background-running application, or a notification that appears in the form of a dialogue window on the screen. For example, it prompts text information in the status bar, emits a prompt sound, the electronic device vibrates, the indicator light flashes, etc.

[0091] The resource scheduling and control subsystem is used to set the resource scheduling priority of an application according to the running state of the application. The resource scheduling and control subsystem can add the applications running in the foreground on each display screen among multiple display screens to the first group. The first group corresponds to the first priority, and performs system resource scheduling for the applications running in the foreground according to the resource scheduling policy corresponding to the first group to ensure that the applications running in the foreground can run smoothly.

[0092] The runtime includes a core library and a virtual machine. The runtime is responsible for the scheduling and management of the operating system.

[0093] The core library contains two parts: one part is the functional functions that need to be called by the Java language, and the other part is the core library of the operating system. The application layer and the application framework layer run in the virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform functions such as the management of object life cycles, stack management, thread management, security and exception management, and garbage collection.

[0094] The system library can include multiple functional modules. For example: surface manager, media libraries, 3D graphics processing library (such as: OpenGL ES), 2D graphics engine (such as: SGL), image processing library, etc.

[0095] The surface manager is used to manage the display subsystem and provides the fusion of 2D and 3D layers for multiple applications.

[0096] The media library supports the playback and recording of multiple common audio and video formats, as well as static image files, etc. The media library can support multiple audio and video coding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.

[0097] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, synthesis, and layer processing, etc.

[0098] The 2D graphics engine is the drawing engine for 2D drawing.

[0099] The kernel layer is the layer between hardware and software. The kernel layer at least includes a display driver, a camera driver, an audio driver, and a sensor driver.

[0100] The hardware layer may include various sensors, such as an acceleration sensor, a gyroscope sensor, a touch sensor, etc.

[0101] It should be noted that Figure 5 and Figure 6 the structure shown is only an example of the electronic device provided in the embodiment of the present application and cannot limit the electronic device provided in the embodiment of the present application. In specific implementation, the electronic device may have more or fewer devices or modules than Figure 5 or Figure 6 the structure shown.

[0102] The multi-screen resource scheduling method provided in the embodiment of the present application will be introduced below with reference to the accompanying drawings.

[0103] The embodiment of the present application can be applied to a scenario where an electronic device includes multiple display screens. For example, the electronic device can be Figure 3 the in-vehicle device shown, or for another example, the electronic device can be a foldable mobile phone. Then the electronic device includes two display screens, an inner screen and an outer screen. Of course, it can also include more screens. Multiple display screens in the electronic device all support running the applications installed on the electronic device. In some embodiments, the electronic device can display the application icons of different applications in the main interfaces of different display screens, or the electronic device can display the application icons of the same application in the main interfaces of different display screens. The user can click the application icon on any display screen to trigger the electronic device to start the application, and the electronic device can run the application in the foreground of the display screen where the user triggers to start the application.

[0104] It should be noted that the started applications in the electronic device include two running states: the foreground running state and the background running state. Among them, the foreground running state means that the electronic device displays the application interface of the application on the display screen, and the user can directly operate the application running in the foreground on the display screen. The background running state means that the electronic device does not display the application interface of the application on the display screen, but the related services provided by the application can still be retained. For example, when the music application runs in the background of the electronic device, the electronic device does not display the application interface of the music application, but the music application can continue to play music. In some embodiments, after the user triggers to minimize the application displayed in the foreground, the electronic device can switch the application from the foreground running state to the background running state.

[0105] In some embodiments of the present application, the electronic device can monitor the applications running in the foreground on multiple display screens. The electronic device can set the resource scheduling priority of the applications in the foreground running state on each display screen to the first priority, and set the resource scheduling priority of the applications in the background running state on each display screen to the second priority, and the first priority is higher than the second priority. Optionally, in the embodiments of the present application, the first priority can be the highest resource scheduling priority, and the second priority can be the lowest resource scheduling priority.

[0106] In some other embodiments of the present application, the electronic device can monitor the applications running in the foreground on multiple display screens. The electronic device can store the priority order of the multiple display screens, and set the resource scheduling priority for the applications in the foreground running state on each display screen according to the priority order of the multiple display screens. Optionally, the resource scheduling priorities of the applications in the background running state on the multiple display screens can be the same, for example, all are the lowest priorities. For example, assuming that the electronic device includes a first display screen and a second display screen, the electronic device can set the resource scheduling priority of the applications in the foreground running state on the first display screen to the first priority, and set the resource scheduling priority of the applications in the background running state on the first display screen to the third priority; the electronic device can set the resource scheduling priority of the applications in the foreground running state on the second display screen to the second priority, and set the resource scheduling priority of the applications in the background running state on the second display screen to the third priority, the first priority is higher than the second priority, and the second priority is higher than the third priority.

[0107] In an alternative implementation, the electronic device can maintain multiple application process groups respectively, different groups correspond to different resource scheduling priorities, and the electronic device can execute different resource scheduling policies for the application processes in different groups. The following introduces two application process grouping methods provided by the embodiments of the present application respectively:

[0108] Method 1

[0109] The electronic device can maintain a first application process group and a second application process group. The first application process group includes the application processes of the applications running in the foreground on multiple display screens, and the second application process group includes the application processes of the applications running in the background on multiple display screens. Optionally, the electronic device can execute an RT policy on the application processes in the first application process group. Among them, the application processes executing the RT policy have absolute priority in using system resources, so that the electronic device can timely schedule system resources for the application processes in the first application process group. The electronic device can execute a CFS policy on the application processes in the second application process group. Among them, when executing the CFS policy, the electronic device can dynamically calculate the weight of each application process according to the demand of each application process for using system resources, and the electronic device can allocate system resources to each application process according to the weight of each application process, so as to avoid the background-running applications preempting system resources and affecting the fluency of the foreground-running applications.

[0110] For example, taking the electronic device including a first display screen and a second display screen as an example, in response to a first operation triggered by the user on the first display screen, the first operation can be a click operation on the application icon of the first application triggered by the user on the first display screen. The electronic device can run the first application in the foreground of the first display screen, add the application process of the first application to the first application process group, and set the resource scheduling priority of each application included in the first application process group to the first priority, that is, the resource scheduling priority of the first application will be set to the first priority. In a specific implementation, the electronic device can add the process identifier of the application process of the first application to the first application process group. In response to a second operation triggered by the user on the second display screen, the second operation can be a click operation on the application icon of the second application triggered by the user on the second display screen. The electronic device can run the second application in the foreground of the second display screen, add the application process of the second application to the first application process group, and set the resource scheduling priority of the second application to the first priority. In a specific implementation, the electronic device can add the process identifier of the application process of the second application to the first application process group. The electronic device can perform system resource scheduling on the first application and the second application based on the resource scheduling policy corresponding to the first application process group to ensure the system resource requirements of the first application and the second application.

[0111] Method 2

[0112] In the embodiments of this application, the electronic device can also maintain more groups, and add the application processes of the applications running in the foreground of different display screens to different application process groups, so that the electronic device can set different priorities for the applications running in the foreground of different display screens.

[0113] For example, taking an electronic device including a first display screen, a second display screen, and a third display screen as an example, the electronic device may add the application process of the first application running in the foreground on the first display screen to the first application process group, and set the resource scheduling priority of the first application to the first priority; the electronic device may add the application process of the second application running in the foreground on the second display screen to the second application process group, and set the resource scheduling priority of the second application to the second priority; the electronic device may add the application process of the third application running in the foreground on the third display screen to the third application process group, and set the resource scheduling priority of the third application to the third priority. The electronic device may add the application processes of the applications running in the background on the first display screen, the second display screen, and the third display screen to the fourth application process group, and set the fourth priority for the application processes of each application included in the fourth application process group. Among them, the first priority is higher than the second priority, the second priority is higher than the third priority, the third priority is higher than the fourth priority, and the first display screen may be the display screen with the highest user usage frequency among the multiple display screens of the electronic device. The electronic device may schedule system resources for the application processes in each group according to the resource scheduling policy corresponding to each group. Since the first priority corresponding to the first application process group is the highest priority, when scheduling system resources for the application process of the first application based on the resource scheduling policy corresponding to the first application process group, it can preempt system resources preferentially, so as to ensure that the first application can run smoothly.

[0114] In the embodiments of the present application, the system resources may include at least one of CPU resources, memory resources, IO resources, and network resources. Optionally, the electronic device's scheduling of CPU resources may include adjusting the CPU frequency, specifying the binding of application processes to large and small cores, promoting threads to real-time scheduling priorities, freezing background applications, etc. The electronic device's scheduling of memory resources may include: applying for large memory for application processes, clearing memory, etc. The electronic device's scheduling of IO resources may include controlling the speed of application writing files, etc. The electronic device's scheduling of network resources may include restricting applications from downloading data without limit and consuming traffic when running in the background. In the embodiments of the present application, based on the resource scheduling policy with a higher priority, system resources can be scheduled preferentially, such as specifying the binding of application processes to large cores of the processor, applying for large memory for application processes, increasing the IO read and write speed, and preferentially using network resources, etc.

[0115] It should be noted that the above system resources and scheduling methods are only examples and not limitations. In implementation, there may also be more or fewer system resources and scheduling methods, and the embodiments of the present application do not limit this.

[0116] In some embodiments, when the electronic device monitors the applications running on multiple display screens and determines that the application running in the foreground on any display screen is switched to the background running state, it can delete the application process of the switched-to-background-running application from the application process group to which it belongs, and add the application process to the background application group, such as adding the application process to the second application group in the above-mentioned method 1, or the fourth application group in the above-mentioned method 2.

[0117] When the system load of the electronic device is greater than a preset threshold, the electronic device can also control the application processes in the order of increasing resource scheduling priority. Optionally, the electronic device can kill the application programs with a lower resource scheduling priority, or turn off the display screen to which the application program with a lower resource scheduling priority belongs. When the system load of the electronic device is greater than the preset threshold and the resource scheduling priorities of the applications running in the foreground on the current multiple display screens of the electronic device are all relatively high, the electronic device can adjust the resource scheduling priorities of the applications in some display screens to reduce the system load.

[0118] For example, in the above-mentioned method 1, the priority order of the first display screen and the second display screen can be stored in the electronic device. For example, assuming that the priority of the first display screen is higher than that of the second display screen, when the electronic device determines that the system load is greater than the preset threshold, it can delete the application process of the second application running in the foreground on the second display screen from the first application group, and add the application process of the second application to the second application group to reduce the load of the electronic device.

[0119] For another example, in the above-mentioned method 2, when the electronic device determines that the system load is greater than the preset threshold, it can delete the application process of the third application running in the foreground on the third display screen from the third application group, and add the application process of the third application to the fourth application group; if the system load is still greater than the preset threshold after the above processing, the electronic device can continue to delete the application process of the second application running in the foreground on the second display screen from the second application group, and add the application process of the second application to the fourth group, and then control the applications on multiple display screens in the order of increasing resource scheduling priority to ensure the performance of the electronic device while trying to meet the user experience.

[0120] Next, a multi-screen resource scheduling method provided by an embodiment of the present application will be further introduced with an example. Figure 7 It is a schematic structural diagram of an electronic device provided by an embodiment of the present application. Refer to Figure 7 The electronic device may include a window management subsystem and a resource scheduling and control subsystem. Among them, the window management subsystem is used to monitor the changes of foreground applications on multiple display screens of the electronic device, such as Figure 7The electronic device shown includes a first display screen, a second display screen, and a third display screen. Each display screen can independently start an application. The applications running in the foreground on different display screens can be the same or different. For example, as Figure 7 in, the first application runs in the foreground on the first display screen, the second application runs in the foreground on the second display screen, and the third application runs in the foreground on the third display screen; for another example, the first application runs in the foreground on the first display screen, the first application can also run in the foreground on the second display screen, and the third application runs in the foreground on the third display screen. The window management subsystem respectively monitors the applications running in the foreground on the first display screen, the second display screen, and the third display screen. The resource scheduling and control subsystem is used to manage the resource scheduling policies of the applications running on multiple display screens, such as Figure 7 in, the resource scheduling and control subsystem can manage multiple default groups, such as the first application process group, the second application process group, the third application process group, and the fourth application process group; the resource scheduling priority corresponding to the first application process group is higher than the resource scheduling priority corresponding to the second application process group. Optionally, in the embodiments of the present application, the grouping mechanism can adopt the cgroup mechanism of Linux. The first application process group can also be called the foreground group, and the first application process group includes the application processes of the applications running in the foreground on multiple display screens; the second application process group can also be called the background group, and the second application process group includes the application processes of the applications running in the background on multiple display screens; the third application process group can also be called the system application group, and the third group includes the application processes of the system applications running on multiple display screens; the fourth application process group can also be called the graphics group, and the fourth group includes the processes for drawing graphics. Different groups correspond to different resource scheduling policies.

[0121] Based on Figure 7 the structure of the electronic device described above, Figure 8 is the flowchart of the multi-screen resource scheduling method provided in the embodiments of the present application. This method can be executed by Figure 7 the window management subsystem and the resource scheduling and control subsystem shown in the figure. Referring to Figure 8 , this method includes the following steps:

[0122] S801: The window management subsystem determines that the first application runs in the foreground on the first display screen.

[0123] For example, if the first application is a navigation application, the first display screen can display the application interface of the navigation application.

[0124] S802: The window management subsystem sends the first information to the resource scheduling and control subsystem.

[0125] Optionally, the first information is used to indicate that the first application runs in the foreground on the first display screen.

[0126] S803: The resource scheduling and control subsystem adds the application process of the first application to the first application process group, and performs resource scheduling on the first application according to the resource scheduling policy corresponding to the first application process group.

[0127] S804: The window management subsystem determines that the second application is running in the foreground on the second display screen.

[0128] For example, if the second application is a music application, the second display screen can display the application interface of the music application.

[0129] S805: The window management subsystem sends the second information to the resource scheduling and control subsystem.

[0130] Optionally, the second information is used to indicate that the second application is running in the foreground on the second display screen.

[0131] S806: The resource scheduling and control subsystem adds the application process of the second application to the first application process group, and performs resource scheduling on the second application according to the resource scheduling policy corresponding to the first application process group.

[0132] S807: The window management subsystem determines that the third application is running in the foreground on the third display screen.

[0133] For example, if the third application is a video application, the second display screen can display the application interface of the video application.

[0134] S808: The window management subsystem sends the third information to the resource scheduling and control subsystem.

[0135] Optionally, the third information is used to indicate that the third application is running in the foreground on the third display screen.

[0136] S809: The resource scheduling and control subsystem adds the application process of the third application to the first application process group, and performs resource scheduling on the third application according to the resource scheduling policy corresponding to the first application process group.

[0137] It should be noted that the execution order of S801 - S803, S804 - S806, and S807 - S809 in the embodiments of this application is not limited. In implementation, S801 - S803, S804 - S806, and S807 - S809 can be executed in any order, or S801 - S803, S804 - S806, and S807 - S809 can be executed simultaneously.

[0138] S810: The window management subsystem determines that the first application on the first display screen switches to running in the background.

[0139] S811: The window management subsystem sends the fourth information to the resource scheduling and control subsystem.

[0140] Optionally, the fourth piece of information is used to indicate that the first application in the first display screen switches to running in the background.

[0141] S812: The resource scheduling and control subsystem deletes the application process of the first application from the first application process group, adds the application process of the first application to the second application process group, and performs resource scheduling on the first application according to the resource scheduling policy corresponding to the second application process group.

[0142] S813: The resource scheduling and control subsystem determines that the system load is greater than a preset threshold, and kills the application processes in the second application process group.

[0143] S814: The resource scheduling and control subsystem determines that the system load is greater than a preset threshold, and determines that the priority of the second display screen in the preset display screen priority order is higher than the priority order of the third display screen. Then, the resource scheduling and control subsystem deletes the application process of the third application from the first application process group, adds the application process of the third application to the second application process group, and performs resource scheduling on the first application according to the resource scheduling policy corresponding to the second application process group.

[0144] It should be noted that the present application embodiment does not limit the execution order of S813 and S814. In implementation, S813 can be executed first and then S814, or S814 can be executed first and then S813, or S813 and S814 can be executed simultaneously.

[0145] Based on the same concept, the present application embodiment also provides a multi-screen resource scheduling method, which can be executed by an electronic device, and the electronic device can have Figure 5 and / or Figure 6 the structure shown. Figure 9 is a flowchart of a multi-screen resource scheduling method provided by the present application embodiment. Refer to Figure 9 and the method includes the following steps:

[0146] S901: The electronic device determines that the first application is running in the foreground on the first display screen of the electronic device, and sets the resource scheduling priority of the first application to the first priority.

[0147] S902: The electronic device determines that the second application is running in the foreground on the second display screen of the electronic device, and sets the resource scheduling priority of the second application to the first priority.

[0148] S903: The electronic device schedules system resources for the first application and the second application according to the first resource scheduling policy corresponding to the first priority.

[0149] It should be noted that the present application embodiment does not limit the execution order of S901 and S902. The present application Figure 9For the multi-screen resource scheduling method shown, reference may be made to the above embodiments of the present application during specific implementation, and repeated parts will not be elaborated.

[0150] Based on the above embodiments, the present application further provides an electronic device, which includes multiple functional modules; the multiple functional modules interact with each other to implement the functions of the electronic device or the functions executed by the electronic device in the methods described in the embodiments of the present application. For example, when executing Figure 9 the steps executed by the electronic device in the shown embodiment. The multiple functional modules can be implemented based on software, hardware, or a combination of software and hardware, and the multiple functional modules can be arbitrarily combined or divided based on specific implementations. For example, the electronic device may include Figure 7 the window management subsystem and the resource scheduling and control subsystem in the shown electronic device.

[0151] Based on the above embodiments, the present application further provides an electronic device, which includes at least one processor and at least one memory. Computer program instructions are stored in the at least one memory. When the electronic device runs, the at least one processor executes the functions of the first electronic device or the second electronic device in the methods described in the embodiments of the present application. For example, when executing Figure 9 the steps executed by the electronic device in the shown embodiment.

[0152] Based on the above embodiments, the present application further provides a computer program product containing instructions. When the computer program product runs on a computer, the computer is enabled to execute the methods described in the embodiments of the present application.

[0153] Based on the above embodiments, the present application further provides a computer-readable storage medium. A computer program is stored in the computer-readable storage medium. When the computer program is executed by a computer, the computer is enabled to execute the methods described in the embodiments of the present application.

[0154] Based on the above embodiments, the present application further provides a chip, which is used to read the computer program stored in the memory and implement the methods described in the embodiments of the present application.

[0155] Based on the above embodiments, the present application provides a chip system, which includes a processor for supporting a computer device to implement the methods described in the embodiments of the present application. In a possible design, the chip system further includes a memory for storing necessary programs and data of the computer device. The chip system can be composed of chips or can include chips and other discrete devices.

[0156] Those skilled in the art should understand that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk memory, CD-ROM, optical memory, etc.) that contain computer-usable program code.

[0157] The present application is described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to the present application. It should be understood that each flow and / or block in the flowchart and / or block diagram, and the combination of flows and / or blocks in the flowchart and / or block diagram, can be realized by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate means for realizing the functions specified in Figure 1 one or more of the processes Figure 1 or multiple processes and / or blocks

[0158] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory generate a manufactured article including instruction means that realize the functions specified in Figure 1 one or more of the processes Figure 1 or multiple processes and / or blocks

[0159] These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide steps for realizing the functions specified in Figure 1 one or more of the processes Figure 1 or multiple processes and / or blocks

[0160] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the scope of protection of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalent technologies, the present application also intends to include these changes and modifications.

Claims

1. A multi-screen resource scheduling method, characterized in that Applied to an electronic device, the electronic device includes a first display screen and a second display screen, and the method includes: Determine that a first application is running in the foreground on the first display screen, and set the resource scheduling priority of the first application to a first priority; Determine that a second application is running in the foreground on the second display screen, and set the resource scheduling priority of the second application to the first priority; Schedule system resources for the first application and the second application according to a first resource scheduling policy corresponding to the first priority.

2. The method according to claim 1, wherein The setting the resource scheduling priority of the first application to the first priority includes: Adding the application process of the first application to a first application process group, and the first application process group is an application process group corresponding to the first priority; The setting the resource scheduling priority of the second application to the first priority includes: Adding the application process of the second application to the first application process group.

3. The method according to claim 1 or 2, characterized in that, The method further includes: Determine that a third application is running in the background on the first display screen, and set the resource scheduling priority of the third application to a second priority, and the second priority is lower than the first priority; Determine that a fourth application is running in the background on the second display screen, and set the resource scheduling priority of the fourth application to the second priority; Schedule system resources for the third application and the fourth application according to a second resource scheduling policy corresponding to the second priority.

4. The method according to claim 3, wherein The setting the resource scheduling priority of the third application to the second priority includes: Adding the application process of the third application to a second application process group, and the second application process group is an application process group corresponding to the second priority; The setting the resource scheduling priority of the fourth application to the second priority includes: Adding the application process of the fourth application to the second application process group.

5. The method according to any one of claims 1 to 4, characterized in that, The method further includes: Determine that the system load is greater than a preset threshold, and control the application programs of the applications running on the first display screen and the second display screen in ascending order of resource scheduling priority.

6. The method according to any one of claims 1-5, characterized in that, The method further includes: Determine that the system load is greater than a preset threshold, determine that the priority of the first display screen is higher than the priority of the second display screen according to the preset display screen priority, and adjust the resource scheduling priority of the second application from the first priority to the second priority, and the first priority is higher than the second priority.

7. The method according to any one of claims 1-6, characterized in that, The method further includes: Determine that the first application switches from the foreground running state to the background running state, and set the resource scheduling priority of the first application to a second priority, and the second priority is lower than the first priority.

8. The method according to any one of claims 1 to 7, characterized in that, The system resources include at least one of central processing unit (CPU) resources, memory resources, input / output (IO) resources, and network access resources.

9. A multi-screen resource scheduling method, characterized in that, Applied to an electronic device, the electronic device includes a first display screen and a second display screen, and the method includes: Determine that a first application is running in the foreground on the first display screen, and set the resource scheduling priority of the first application to a first priority; Schedule system resources for the first application according to the first resource scheduling policy corresponding to the first priority; Determine that a second application is running foreground on the second display screen, and set the resource scheduling priority of the second application to a second priority; Schedule system resources for the second application according to the second resource scheduling policy corresponding to the second priority; Wherein, the first priority is higher than the second priority, and both the first priority and the second priority are higher than the resource scheduling priorities of the applications running in the background on the first display screen and the second display screen.

10. The method according to claim 9, characterized in that, The setting the resource scheduling priority of the first application to the first priority includes: Adding the application process of the first application to a first application process group, and the first application process group is the application process group corresponding to the first priority; The setting the resource scheduling priority of the second application to the second priority includes: Adding the application process of the second application to a second application process group, and the second application process group is the application process group corresponding to the second priority.

11. The method according to claim 9 or 10, characterized in that, The method further includes: Determine that a third application is running in the background on the first display screen, and set the resource scheduling priority of the third application to a third priority, and the third priority is lower than the second priority; Determine that a fourth application is running in the background on the second display screen, and set the resource scheduling priority of the fourth application to the third priority; Schedule system resources for the third application and the fourth application according to the third resource scheduling policy corresponding to the third priority.

12. The method according to claim 11, wherein The setting the resource scheduling priority of the third application to the third priority includes: Adding the application process of the third application to a third application process group, and the third application process group is the application process group corresponding to the third priority; The setting the resource scheduling priority of the fourth application to the third priority includes: Adding the application process of the fourth application to the third application process group.

13. The method according to any one of claims 9 to 12, characterized in that, The method further includes: Determine that the system load is greater than a preset threshold, and control the application programs of the applications running on the first display screen and the second display screen in ascending order of resource scheduling priority.

14. The method according to any one of claims 9-13, characterized in that, The method further includes: Determine that the first application switches from the foreground running state to the background running state, and set the resource scheduling priority of the first application to a third priority, and the third priority is lower than the second priority.

15. The method according to any one of claims 9 to 14, characterized in that, The system resources include at least one of central processing unit (CPU) resources, memory resources, input / output (IO) resources, and network access resources.

16. An electronic device, characterized in that, The electronic device includes a memory and a processor; wherein, the memory and the processor are coupled, and the memory is used to store a computer program. When the processor executes and calls the computer program, the electronic device executes the method according to any one of claims 1-8, or executes the method according to any one of claims 9-15.

17. A computer-readable storage medium, characterized in that, Instructions are stored in the computer-readable storage medium, and when it runs on a computer, it causes the computer to execute the method described in any one of claims 1-8, or execute the method described in any one of claims 9-15.