WO2024032513A1 - 资源管控方法、电子设备、存储介质及程序产品 - Google Patents

资源管控方法、电子设备、存储介质及程序产品 Download PDF

Info

Publication number
WO2024032513A1
WO2024032513A1 PCT/CN2023/111326 CN2023111326W WO2024032513A1 WO 2024032513 A1 WO2024032513 A1 WO 2024032513A1 CN 2023111326 W CN2023111326 W CN 2023111326W WO 2024032513 A1 WO2024032513 A1 WO 2024032513A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic device
application
management
application program
control
Prior art date
Application number
PCT/CN2023/111326
Other languages
English (en)
French (fr)
Inventor
马佳俊
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2024032513A1 publication Critical patent/WO2024032513A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms

Definitions

  • This application relates to the field of electronic technology, and in particular to a resource management and control method, electronic equipment, storage media and program products.
  • an embodiment of the present application provides a resource management and control method, including: a first electronic device displays an interface of a first application program; the first electronic device responds to an operation on the first application program, calling an associated second The second application program of the electronic device, and establishes a first association relationship between the first application program and the second application program; the first association relationship includes that the first application program is in the foreground running state; when the first application program switches from the foreground running state to In the background running state, the first electronic device updates the first association relationship to the second association relationship; the second association relationship includes the first application program being in the background running state; according to the second association relationship, the first electronic device keeps the first application program alive.
  • the first electronic device when the first application program calls the second application program of the second electronic device, the first electronic device establishes a first association relationship between the first application program and the second application program.
  • the first association relationship can be updated to the second association relationship, and the first application program can be kept alive according to the second association relationship. Since the first application program is associated with the second application program of the second electronic device, the first electronic device can keep the first application program alive according to the association relationship. Therefore, even after the first application program is switched to the background running state, the first application program is switched to the background running state. Even if an application is in the background, it will not be cleared by the system. Subsequently, the first application can directly switch from the background running state to the foreground running state.
  • the method before the first electronic device calls the second application program of the associated second electronic device in response to the operation of the first application program, the method further includes: the first electronic device adopts the first management and control method Manage and control the first application program; before the first electronic device updates the first association relationship to the second association relationship when the first application program switches from the foreground running state to the background running state, the method also includes: the first electronic device adopts the second association relationship.
  • the second management and control method controls the first application, and the second management and control method controls the resources to a lesser extent than the first management and control method.
  • the second management and control method is adopted, wherein the second management and control method The degree of control of this method is smaller than the first control method before the first application calls the second application.
  • sufficient resources can be provided for the first application running in the distributed foreground, which can improve the performance of the first application.
  • the running speed avoids the lagging of the first application when multiple applications are running at the same time, improving the user's performance experience.
  • the first electronic device keeps the first application program alive, including: when the second application program is running in the foreground, the first electronic device uses a third control method to keep the first application program alive.
  • application the third management and control method controls resources to a greater extent than the first management and control method.
  • This application can keep the first application alive by using a third control method with a greater degree of control than the first control method in a distributed scenario when the first application is running in the background and the second application is running in the foreground. Keep the first application alive without taking up more resources.
  • the first electronic device keeps the first application program alive, and further includes: when the second application program is running in the background, the first electronic device uses a fourth control method to keep the first application program alive.
  • the fourth management and control method controls resources to a greater extent than the third management and control method.
  • this application adopts a fourth control method with a greater degree of control than the third control method to keep the first application alive. Keep the first application alive and occupy less resources to prevent other applications from being stuck when the first application takes up more resources.
  • the method further includes: when the first electronic device receives a second application end message sent by the second electronic device, or when the first electronic device detects that the second electronic device is offline, the first electronic device Delete the second association relationship and use the fifth management and control method to control the first application.
  • the fifth management and control method controls the resources to a greater extent than the fourth management and control method.
  • This application deletes the second association relationship in a distributed scenario, when the first application is running in the background and the second application ends or the second electronic device goes offline, so that the first application exits the distributed scenario and is in the distributed scenario. In ordinary background running scenarios, it takes up less resources.
  • using the second management and control method to control the first application program includes: increasing the priority of the process of the first application program; or, lock priority; or, increasing the central processing unit, graphics processor, Double rate synchronizes a frequency of at least one of the dynamic random access memories to process the first application.
  • This application can process the first application program by increasing the priority and lock priority of the process of the first application program, increasing the frequency of at least one of the central processor, the graphics processor, and the double-rate synchronous dynamic random access memory, etc.
  • the first application running in the distributed foreground is provided with sufficient resources.
  • a third control method is used to keep the first application program alive, including: increasing the priority of the process of the first application program; or, ranking the process of the first application program at the end of the list of killable processes. noodle.
  • the second application when the second application is running in the foreground, it can be kept alive by increasing the priority of the process of the first application or ranking the process of the first application at the end of the list of killable processes.
  • the first application that runs in the background and does not occupy many resources.
  • using a fourth control method to keep the first application alive includes: keeping the first application alive within a preset time.
  • the first application running in the background can be kept alive within the preset time to avoid When the first application takes up more resources, it causes other applications to freeze.
  • the fifth management and control method is used to control the first application, including: reducing the priority of the process of the first application; or freezing the first application when the system memory is lower than a preset memory value. program; or, clean the first application when the system memory is lower than the preset memory value.
  • this application reduces the priority of the first application's process, freezes the first application when the system memory is lower than the preset memory value, or freezes the first application in the system memory.
  • the memory value is lower than the preset value, the first application is cleared to avoid wasting resources.
  • the method further includes: when the first electronic device monitors the end of the first application, the first electronic device deletes the second association relationship.
  • the first electronic device when the first application program ends and the first electronic device deletes the second association relationship, then when the first application program is restarted, the first electronic device will directly control the first application program in a normal manner.
  • establishing a first association relationship between the first application program and the second application program includes: receiving a result of the call sent by the second electronic device; establishing a relationship between the first application program and the second application program according to the result. The first relationship.
  • the first electronic device establishes the first association relationship according to the result of the call sent by the second electronic device, so that the establishment of the first association relationship can be achieved.
  • an embodiment of the present application provides an electronic device.
  • the electronic device includes a processor and a memory.
  • the memory is used to store program instructions.
  • the processor calls the stored instructions, any possible embodiment of the first aspect is implemented. Methods.
  • an embodiment of the present application provides a computer-readable storage medium.
  • the computer-readable storage medium stores a program.
  • the program enables the electronic device to implement the method of any of the possible embodiments of the first aspect.
  • an embodiment of the present application provides a computer program product.
  • the computer program product includes computer execution instructions, and the computer execution instructions are stored in a computer readable storage medium; at least one processor of the electronic device can obtain the instruction from the computer readable storage medium.
  • Computer execution instructions are read from the medium, and at least one processor executes the computer execution instructions so that the electronic device performs the method of any possible embodiment of the first aspect above.
  • Figure 1 is a schematic diagram of a resource management and control system provided by an embodiment of the present application.
  • FIG. 2 is a schematic diagram of the physical structure of a first electronic device provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of the software architecture of the first electronic device and the second electronic device provided by the embodiment of the present application.
  • FIG. 4 is a schematic diagram of the software architecture of the first electronic device and the second electronic device provided by the embodiment of the present application, showing the work when the first application program of the first electronic device calls the second application program of the second electronic device. process.
  • Figure 5 is a schematic diagram of the software architecture of the first electronic device and the second electronic device provided by the embodiment of the present application, showing the working process when the first application program of the first electronic device switches from the foreground running state to the background running state. .
  • FIG. 6 is a schematic diagram of the software architecture of the first electronic device and the second electronic device provided by the embodiment of the present application, showing the working process when the first application program of the first electronic device ends.
  • FIG. 7 is a schematic diagram of the software architecture of the first electronic device and the second electronic device provided by the embodiment of the present application, showing the working process of the second electronic device when it goes offline.
  • Figure 8 is a schematic diagram of the functional modules of the first distributed management and control unit provided by the embodiment of the present application.
  • Figure 9-12 is a flow chart of the resource management and control method provided by the embodiment of the present application.
  • Figure 13 is a schematic diagram of a distributed game scenario provided by an embodiment of the present application.
  • Figure 14 is a schematic diagram of a distributed computing scenario provided by an embodiment of the present application.
  • Figure 15 is a flow chart of another resource management and control method provided by an embodiment of the present application.
  • words such as “such as” are used to represent examples, illustrations or illustrations. Any embodiment or design described as “such as” in the embodiments of the application is not to be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as “such as” is intended to present the relevant concept in a concrete way.
  • Existing electronic devices can be controlled based on whitelists or application types.
  • the application whitelist can be stored in the system of the electronic device.
  • the application whitelist is a list of applications that are allowed to run in the background. Therefore, applications in the application whitelist will not be cleaned up when running in the background, while applications outside the application whitelist will be cleaned up when running in the background.
  • the electronic device can divide the applications in the electronic device into multiple categories according to the type of application, such as instant messaging, payment, video, sports, etc.
  • Instant messaging categories may include and other applications.
  • Payment categories may include Wallet and other applications.
  • Video categories can include Huawei Video, and other applications.
  • the sports category can include applications such as sports and health.
  • the electronic device can also sort multiple categories according to important programs, etc. For example, the instant messaging category has the highest importance and can be ranked at the bottom of the killable process list when sorting. In this way, when the system of the electronic device executes the background cleaning application, it can clean the instant messaging category last.
  • the applications in the electronic device may change anytime and anywhere.
  • the system whitelist and the sorting of the applications in the electronic device depend on system upgrades and cannot be updated in real time. This will This may cause the application to be accidentally processed while running in the background.
  • Existing electronic devices can also predict the user's current behavior based on the user's habits, and perform resource management and control on the application based on the prediction. For example, if the electronic device detects that the user will use the address book at 5:30 pm for two consecutive weeks, the electronic device can build a model based on the detected information and predict based on the model that the user will use the address book at 5:30 pm that day. The electronic device will automatically switch the address book to the foreground, or keep the address book running in the background alive.
  • the electronic device will not be able to predict the user's current behavior, and it will not be able to reasonably control the resources of the application, which may cause the application to The program was mishandled while running in the background.
  • embodiments of this application propose a resource management and control method that can prevent distributed applications from being cleaned up when running in the background in a distributed scenario.
  • the resource management and control system 10 may include a first electronic device 11 and a second electronic device 12 , but is not limited thereto. In some other embodiments, the resource management and control system 10 may also include a third electronic device, etc., which is not limited in this application.
  • the first electronic device 11 may be a mobile phone, a tablet computer, a digital camera, a personal digital assistant (PDA), or a Wearable devices, laptops and other devices.
  • the second electronic device 12 may be a mobile phone, a tablet computer, a digital camera, a personal digital assistant (PDA), a laptop, a smart TV, a large screen, a smart screen, a monitor, or other devices. Only one first electronic device 11 is shown in FIG. 1 , but it is understandable that the number of first electronic devices 11 may also be multiple, and this application does not limit this.
  • the first application program 110 is installed in the first electronic device 11 .
  • the second application program 120 is installed in the second electronic device 12 .
  • the first application program 110 and the second application program 120 may be game application programs, computing application programs, etc.
  • the first electronic device 11 and the second electronic device 12 can be networked and establish a distributed network.
  • the distributed network can be a Mesh network, a Bluetooth network, a Wi-Fi network, etc. This application does not limit this.
  • the first application 110 of the first electronic device 11 can launch the second application 120 of the second electronic device 12 .
  • the second application program 120 of the second electronic device 12 may be in a foreground running state or a background running state.
  • the first electronic device 11 can establish a first association relationship between the first application program 110 and the second application program 120 and store the first association relationship.
  • the first electronic device 11 may also update the association relationship, for example, from the first association relationship to the second association relationship.
  • the first electronic device 11 can keep the first application program 110 alive according to the second association relationship.
  • the first electronic device 20 may be a mobile phone, a tablet computer, a digital camera, a personal digital assistant (PDA), a wearable device, a laptop or other devices.
  • PDA personal digital assistant
  • the first electronic device 20 may include a memory 21, a processor 22 and a communication interface 23. It can be understood that the structure shown in FIG. 2 does not constitute a limitation on the first electronic device 20.
  • the first electronic device 20 may include more or fewer components than shown in the figure, or combine certain components, or decompose certain components. components, or different component arrangements.
  • Memory 21 may be used to store software programs and/or modules/units.
  • the processor 22 implements various functions of the first electronic device 20 by running or executing software programs and/or modules/units stored in the memory 21 and calling data stored in the memory 21 .
  • the memory 21 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the storage data area may store data based on Data created using the first electronic device 20 (such as audio data, etc.) and so on.
  • the memory 21 may include non-volatile computer-readable memory, such as a hard disk, memory, plug-in hard disk, smart memory card (Smart Media Card, SMC), secure digital (Secure Digital, SD) card, flash memory card (Flash) Card), at least one disk storage device, flash memory device, or other non-volatile solid-state storage device.
  • non-volatile computer-readable memory such as a hard disk, memory, plug-in hard disk, smart memory card (Smart Media Card, SMC), secure digital (Secure Digital, SD) card, flash memory card (Flash) Card), at least one disk storage device, flash memory device, or other non-volatile solid-state storage device.
  • the processor 22 may be a central processing unit (Central Processing Unit, CPU), or other general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), or an on-site processor. Programmable gate array (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • the processor 22 can be a microprocessor or any conventional processor.
  • the processor 22 is the control center of the first electronic device 20 and connects various components of the entire first electronic device 20 using various interfaces and lines. part.
  • the processor 22 may also be provided with a memory 21 for storing instructions and data.
  • memory 21 in processor 22 is a cache memory.
  • Memory 21 may store instructions or data that have been recently used or recycled by processor 22 . If the processor 22 needs to use instructions or data again, it can be directly called from the memory 21 . Repeated access is avoided and the waiting time of the processor 22 is reduced, thus improving the efficiency of the system.
  • processor 22 may include one or more interfaces.
  • Interfaces may include integrated circuit (inter-integrated circuit, I2C) interface, integrated circuit built-in audio (inter-integrated circuit sound, I2S) interface, pulse code modulation (pulse code modulation, PCM) interface, universal asynchronous receiver and transmitter (universal asynchronous receiver/transmitter (UART) interface, mobile industry processor interface (MIPI), general-purpose input/output (GPIO) interface, SIM interface, and/or USB interface, etc.
  • I2C integrated circuit
  • I2S integrated circuit built-in audio
  • PCM pulse code modulation
  • UART universal asynchronous receiver and transmitter
  • MIPI mobile industry processor interface
  • GPIO general-purpose input/output
  • SIM interface SIM interface
  • USB interface universal asynchronous receiver/transmitter
  • the communication interface 23 may include a standard wired interface, a wireless interface, etc.
  • the communication interface 23 is used for communication between the first electronic device 20 and the second electronic device.
  • Application status includes non-running status and running status.
  • the application in non-running state means that the application has exited.
  • Running status The running status of an application in the operating system can be divided into foreground running status and background running status.
  • the foreground running state refers to running directly on the display window or interface of the display screen, showing the current interface of the program running, and can interact with the user of the terminal device through the displayed interface.
  • the background running state means that the display screen does not display the running interface of the application, but the application continues to provide services in the background.
  • For applications with a visual display interface they can switch from the background running state to the foreground running state, or from the foreground running state to the background running state; for applications without a visual display interface, It can be running in the background, but generally cannot be switched to the foreground running state.
  • Application identifier It can also be called user identification (UID) or application identification. It is an identification assigned by the system during the application installation process. Multiple applications can share an application identifier.
  • UID user identification
  • application identification It is an identification assigned by the system during the application installation process. Multiple applications can share an application identifier.
  • Process identification It can be a process identifier (PID) or a process name, where PID is the identity assigned by the operating system to the application process after the application is run. After the application stops running, the operating system will reclaim the PID, and when the application starts running again, the operating system will reassign a new PID.
  • PID process identifier
  • a process identifier uniquely identifies a process.
  • Package name The package name is mainly used by the system to identify applications. Multiple applications can share a package name.
  • Distributed network It is a type of wireless LAN, which is a mesh structure network. Communication is possible between every two electronic devices in a distributed network.
  • Binder system is a server/client model, including Binder server, Binder client, Binder proxy object (BpBinder) and Binder driver.
  • Binder server provides related services to Binder client.
  • the Binder server is in user space.
  • Binder client is the service object of Binder server.
  • the Binder client is in user space.
  • the Binder proxy object is a Binder interface that can monitor the end of the referenced Binder server.
  • the Binder proxy object can register with the Binder driver the death notification (Death Notification) of the Binder server referenced by the Binder proxy object.
  • the Binder proxy object can first define the death notification acceptance object (Death Recipient).
  • Binder driver is in the kernel space. When the Binder proxy object monitors the end of the referenced Binder server, the Binder driver can send a Binder server death notification to the death notification acceptance object.
  • the first electronic device 31 includes a first application program 310 , a first distributed management and control unit 311 and a first soft bus 312 .
  • the second electronic device 32 includes a second application program 320 , a second distributed management and control unit 321 and a second soft bus 322 .
  • the first application program 310 and the second application program 320 can be determined according to actual application requirements, and are not limited here.
  • the first application program 310 and the second application program 320 may be game APPs, computing APPs, etc.
  • the first application program 310 may be a game application A1, and the second application program 320 may be a game application A2; or, the first application program 310 may be a computing application C1, and the second application program 320 may be a computing application C2.
  • the first distributed management and control unit 311 and the second distributed management and control unit 321 can realize the calling and launching of cross-device applications.
  • the first distributed management and control unit 311 can also manage and control the resources used by the first application program 310.
  • the second distributed management and control unit 321 can also manage and control the resources used by the second application program 320.
  • Resources can include memory resources and computing resources. Memory resources may include random access memory (RAM) resources, etc. Computing resources may include processor resources, etc.
  • the first soft bus 312 and the second soft bus 322 can provide functions such as cross-device communication, device online monitoring, and device offline monitoring.
  • the first application 310 on the first electronic device 31 initiates distributed scheduling of the second application 320 on the second electronic device 32
  • the first application 310 The output distributed scheduling request may be transmitted to the second electronic device 32 through the first distributed management and control unit 311 and the first soft bus 312 , for example, to the second soft bus 322 of the second electronic device 32 .
  • the second soft bus 322 can transmit the distributed scheduling request to the second application program 320 through the second distributed management and control unit 321, so that the second application program 320 can respond to the distributed scheduling initiated by the first application program 310. Therefore, the first application program 310 on the first electronic device 31 can call the second application program 320 on the second electronic device 32 .
  • calling may include launching. Then, the call may include a call when the second application program is in a running state and a startup when the second application program is not in a running state.
  • the first application 310 of the first electronic device 31 is in the foreground running state
  • the second application program 310 of the second electronic device 32 The application 320 can be in a foreground running state or a background running state.
  • the second distributed management and control unit 321 returns the call result to the first electronic device 31 through the second soft bus 322, for example, returns the call result to the first soft bus 312 of the first electronic device 31.
  • the first soft bus 312 sends the result to the first distributed management and control unit 311.
  • the first distributed management and control unit 311 also establishes a first association relationship between the first application program 310 and the second application program 320 based on the result.
  • the second distributed management and control unit 321 also establishes a third association relationship between the first application program 310 and the second application program 320 based on the result.
  • the third association includes basic information of the application, running status information of the application, device ID of the electronic device, etc.
  • the first distributed management and control unit 311 and the second distributed management and control unit 321 can respectively control the first application program according to the first association relationship and the third association relationship. 310 and the resources used by the second application 320 are managed and controlled. In some embodiments, before the first application program 310 initiates distributed scheduling of the second application program 320 on the second electronic device 32, the first distributed management and control unit 311 may adopt the first management and control method for the first application program 310. way to control.
  • the first distributed management and control unit 311 can manage the first application program 310 in a second management and control manner.
  • the degree of management and control of resources by the second management and control method may be smaller than the degree of management and control of resources by the first management and control method. In some other embodiments, the degree of management and control of resources by the second management and control method may be equal to the degree of management and control of resources by the first management and control method.
  • the first distributed management and control unit 311 adopts the second management and control method for the first application program 310 according to the first association relationship.
  • the second distributed management and control unit 321 also keeps the second application program 320 alive according to the third association relationship.
  • the second distributed management and control unit 321 also uses a third management and control method to keep the second application 320 alive according to the third association relationship.
  • the degree of management and control of resources by the third management and control method may be equal to the management and control procedure of resources by the first management and control method. In some other embodiments, the degree of management and control of resources by the third management and control method may be greater than the degree of management and control of resources by the first management and control method.
  • the first application 310 on the first electronic device 31 switches from the foreground running state to the background running state
  • the first application 310 outputs Information that an application program 310 switches to the background running state can be sent to the second electronic device 32 through the first distributed management and control unit 311 and the first soft bus 312, for example, to the second soft bus 322 of the second electronic device 32.
  • the second soft bus 322 can send the information of switching the first application program 310 to the background running state to the second distributed management and control unit 321 .
  • the first distributed management and control unit 311 can update the first association relationship to the second association relationship according to the information that the first application program 310 switches to the background running state, and the second distributed management and control unit 321 can switch according to the first application program 310
  • the information about the background running status updates the third association relationship to the fourth association relationship.
  • the first distributed management and control unit 311 when the second application 320 is in the foreground running state, keeps the first application 310 alive according to the second association relationship. In some embodiments, the first distributed management and control unit 311 uses a third management and control method to keep the first application 310 alive according to the second association relationship. The second distributed management and control unit 321 uses the second management and control method to manage and control the second application 320 according to the fourth association relationship.
  • the first distributed management and control unit 311 and the second distributed management and control unit 321 can respectively keep the first application alive according to the second association relationship and the fourth association relationship.
  • program 310 and the keep-alive second application 320 the first distributed management and control unit 311 and the second distributed management and control unit 321 can respectively adopt a fourth management and control method to keep alive the first application 310 and keep alive the second application according to the second association relationship and the fourth association relationship.
  • the fourth management and control method controls resources to a greater extent than the third management and control method.
  • the second application program 320 when the second application program 320 switches from the foreground running state to the background running state, the second application program 320 outputs information that the second application program 320 switches to the background running state.
  • This information can be transmitted through the second distributed management and control unit 321 and the second soft bus 322 to the first electronic device 31 , such as the first soft bus 312 to the first electronic device 31 .
  • the first soft bus 312 can send the information of switching the second application program 320 to the background running state to the first distributed management and control unit 311 .
  • the first distributed management and control unit 311 updates the association relationship according to the information that the second application 320 switches to the background running state.
  • the second distributed management and control unit 321 also updates the association relationship according to the information that the second application 320 switches to the background running state.
  • the first distributed management and control unit 311 uses the second management and control method to control the first application program 310 according to the updated association relationship, and the second distributed management and control unit 321 controls the first application program 310 according to the updated association relationship.
  • the third control method is used to keep the second application 320 alive.
  • the first distributed management and control unit 311 and the second distributed management and control unit 321 can respectively adopt the fourth management and control method to keep the first application 310 alive and the second distributed management and control unit 321 according to the updated association relationship. 2 Applications 320.
  • the first application program 310 on the first electronic device 31 can also switch from the background running state to the foreground running state.
  • the management and control process of the first application program 310 by the first electronic device 31 is similar to the management and control process of the first application program 310 by the first electronic device 31 in FIG. 5
  • the management and control process of the second application program 320 by the second electronic device 32 The process is similar to the above-mentioned management and control process of the second application program 320 by the second electronic device 32 in FIG. 5 , and will not be described again here.
  • the first distributed management and control unit 311 can monitor End of first application 310.
  • the first distributed management and control unit 311 may send the information of the end of the first application 310 to the second electronic device 32 through the first soft bus 312, for example, to the second soft bus 322 of the second electronic device 32.
  • the second soft bus 322 may send the information of the end of the first application program 310 to the second distributed management and control unit 321.
  • the second distributed management and control unit 321 deletes the fourth association relationship according to the information that the first application 310 terminates.
  • the first distributed management and control unit 311 also deletes the second association relationship based on the information that the first application program 310 terminates. At this time, the first electronic device 31 cannot continue to control the second electronic device 32 .
  • the second distributed management and control unit 321 uses the first management and control method to manage the second application 320 .
  • the second distributed management and control unit 321 uses the fifth management and control method to control the second application program 320 .
  • the fifth management and control method controls resources to a greater extent than the fourth management and control method.
  • the fifth management and control method may be to limit resource usage by the application. It can be understood that if the first electronic device 31 subsequently restarts the first application program 310, the first distributed management and control unit 311 will first use the first management and control method to control the first application program 310, which is not limited in this application.
  • the second application program 320 may also end.
  • the management and control process of the first application program 310 by the first electronic device 31 is the same as the above-mentioned control process of the second electronic device 32 on the first application program 310 in FIG. 6 .
  • the management and control process of the two applications 320 is similar.
  • the management and control process of the second application 320 by the second electronic device 32 is similar to the management and control process of the first application 310 by the first electronic device 31 in Figure 6, which will not be repeated here. Repeat.
  • the first soft bus 312 when the first soft bus 312 detects that the second electronic device 32 is offline, the first soft bus 312 outputs information that the second electronic device 32 is offline.
  • the first distributed management and control unit 311 deletes the association relationship with the second electronic device 32 according to the information that the second electronic device 32 is offline.
  • the first distributed management and control unit 311 also uses the first management and control method to control the first application program 310 when the first application program 310 is in the foreground running state.
  • the first distributed management and control unit 311 also uses the fifth management and control method to control the first application program 310 when the first application program 310 is running in the background.
  • the associations related to the second electronic device 32 will be deleted, and this application does not limit this.
  • the second soft bus 322 may also detect that the first electronic device 31 is offline. At this time, the management and control process of the second electronic device on the second application program is different from the control process of the first electronic device on the first application program. The control process of the program is similar and will not be described again here. It can be understood that in a distributed scenario, when the first electronic device 31 goes offline, the association relationship with the first electronic device 32 will be deleted, and this application does not limit this.
  • the first distributed management and control unit 311 may include a first distributed scheduling module 313 and a first management and control module 314.
  • the first distributed scheduling module 313 is used to implement the call startup of cross-device applications and report information to the first management and control module 314 .
  • the first management and control module 314 is used to manage and control the resources used by the first application program 310 .
  • the first management and control module 314 may be different.
  • the first management and control module 314 may be AMS (Activity Manager Service).
  • AMS refers to Activity Management Service, which is a key system service in the Android platform.
  • the first management and control module 314 may be an iAware module. iAware is a security detection program.
  • the first application program 310 of the first electronic device 31 sends distributed scheduling requests or information to the second electronic device 32 through the first distributed scheduling module 313 .
  • the information may be information about switching between the front and back running states of the first application program 310, or information about the end of the first application program 310.
  • the first electronic device 31 manages and controls the resources used by the first application 310 through the first management and control module 314 .
  • the first application 310 is controlled using a first management and control method
  • the first application 310 is controlled using a second management and control method
  • the third management and control method is used to keep the first application 310 alive
  • the fourth management and control method is used to keep the third application 310 alive.
  • An application program 310, or the first application program 310 is controlled using the fifth control method.
  • the first electronic device 31 receives the call result through the first distributed scheduling module 313 and reports the call result to the first management and control module 314 according to the call result.
  • the first electronic device 31 establishes the first association relationship according to the reported call result through the first management and control module 314 .
  • the first electronic device 31 reports the information that the first application 310 switches to the background running state to the first management and control module 314 through the first distributed scheduling module 313 .
  • the first electronic device 31 switches to the background through the first management and control module 314 according to the reported first application 310
  • the status information updates the first association relationship to the second association relationship.
  • the first electronic device 31 reports the end information of the first application 310 to the first management and control module 314 through the first distributed scheduling module 313 .
  • the first electronic device 31 deletes the second association relationship through the first management and control module 314 according to the reported information that the first application 310 has ended.
  • the first electronic device 31 reports the offline information of the second electronic device 32 to the first management and control module 314 through the first distributed scheduling module 313 .
  • the first electronic device 31 uses the first management and control module 314 to delete the association relationship with the second electronic device 32 according to the reported information that the second electronic device 32 is offline.
  • the first application program 310 can also switch from the background running state to the foreground running state, and this application does not limit this.
  • the second distributed management and control unit 312 may include a second distributed scheduling module and a second management and control module, which is not limited in this application.
  • the first electronic device 1301 may be a mobile phone
  • the second electronic device 1302 may be a large-screen device, such as a monitor, a television, etc.
  • the first application program installed in the first electronic device 1301 and the second application program installed in the second electronic device 1302 may be game applications.
  • the game application A1 is installed in the first electronic device 1301, and the game application A2 is installed in the second electronic device 1302.
  • the game application A1 of the first electronic device 1301 can call the game application A2 of the second electronic device 1302 and communicate with the game application A2 of the second electronic device 1302 . Therefore, the first electronic device 1301 can control the game application A2 of the second electronic device 1302 through the game application A1 virtualized as a remote control.
  • Figure 13 is an example of a distributed game scenario.
  • the number of the first electronic device 1301 can be other numbers, such as two, etc., and the interfaces displayed by the first electronic device 1301 and the second electronic device 1302 can also be other numbers. Interface, this application does not limit this.
  • Resource management and control methods may include:
  • S901 The first electronic device and the second electronic device are networked and a distributed network is established.
  • the first electronic device can network with the second electronic device by scanning the QR code on the second electronic device.
  • the distributed network can be a Mesh network, a Bluetooth network, a Wi-Fi network, etc. This application does not limit this. It is understandable that the first electronic device and the second electronic device may be networked in other ways, which is not limited in this application.
  • the soft bus of the first electronic device and the soft bus of the second electronic device can be configured for the first electronic device according to the preset device ID generation rules.
  • a corresponding device ID is assigned to the second electronic device.
  • the second electronic device sends an online message to the first electronic device.
  • the online message includes the device ID of the second electronic device.
  • the first electronic device receives an instruction to start the game application A1, and starts the game application A1 according to the instruction to start the game application A1.
  • an application program with a visual display interface may have a corresponding application icon, while an application program without a visual display interface may not have a corresponding application icon.
  • the first electronic device may use the first management and control method to control the game application A1.
  • the first control method is the ordinary control method at the front desk.
  • the user when the user wants to control the game application A2 on the second electronic device through the game application A1 on the first electronic device, the user can operate the game application A1 displayed in the foreground running state on the first electronic device. Scheduling function in the interface.
  • the game application A1 on the first electronic device initiates distributed scheduling of the game application A2 on the second electronic device.
  • the distributed scheduling request includes the device ID of the first electronic device and the device ID of the second electronic device, which is not limited in this application.
  • the game application A1 of the first electronic device may transmit the distributed scheduling request to the second soft bus of the second electronic device through the first distributed scheduling module and the first soft bus.
  • the second soft bus of the second electronic device can transmit the distributed scheduling request to the game application A2 through the second distributed scheduling module, so that the game application A2 can respond or not respond to the distributed scheduling initiated by the game application A1, so that the game application A1
  • the game application A2 may or may not be called.
  • the first distributed scheduling module when transmitting the distributed scheduling request, may also serialize the distributed scheduling request and then send it to the first soft bus.
  • the process of serializing the distributed scheduling request can be to convert the status information of the distributed scheduling request into a storage or process of transmission.
  • the current state of the distributed dispatch request can be written to temporary or persistent storage. Thereafter, the distributed dispatch request can be recreated by reading or deserializing the object's state from the store.
  • the second distributed scheduling module may parse the serialized distributed scheduling request, and then send the parsed distributed scheduling request to the game application A2.
  • parsing the serialized distributed scheduling request is a deserialization process, so that the distributed scheduling request can be re-created.
  • S904 The second electronic device detects that the game application A1 calls the game application A2.
  • the second distributed scheduling module of the second electronic device detects whether the game application A1 calls the game application A2 according to the return value of the distributed scheduling. For example, when the return value of distributed scheduling is OK, the second distributed scheduling module detects that game application A1 calls game application A2. Otherwise, the second distributed scheduling module detects that the game application A1 does not call the game application A2.
  • the second distributed scheduling module of the second electronic device returns the result of the call to the first soft bus of the first electronic device through the second soft bus.
  • the first soft bus of the first electronic device transmits the call result to the first management and control module through the first distributed scheduling module.
  • the result of the call includes basic information of game application A1, running status information (status) of game application A1, device ID (device ID) of the first electronic device, basic information of game application A2, game application A2
  • the operating status information and the device ID of the second electronic device, etc. are not limited in this application.
  • the basic information may be a package name, an application identifier (UID), and a process identifier (PID), which are not limited in this application.
  • Basic information that uniquely identifies a running application.
  • the running status information can be the foreground running status or the background running status. In some embodiments, when game application A1 calls game application A2, the running status information of game application A1 is the foreground running status, and the running status information of game application A2 is the foreground running status.
  • the second softbus sends the result of the call to the first softbus of the first electronic device through the distributed network.
  • the second distributed scheduling module also serializes the result of the call before returning the result of the call to the first soft bus of the first electronic device, so that the first distributed scheduling module receives the serialized After the call result is obtained, the serialized call result is also parsed to recreate the call result. This application does not limit this.
  • the first electronic device establishes the first association relationship between the game application A1 and the game application A2 according to the call result.
  • the first management and control module of the first electronic device establishes the first association relationship between the game application A1 and the game application A2 according to the call result.
  • the first electronic device also stores the first association relationship. In some embodiments, the first management and control module of the first electronic device also stores the first association relationship.
  • the first association relationship includes basic information of game application A1, running status information of game application A1, device ID of the first electronic device, basic information of game application A2, running status information of game application A2, and The device ID of the second electronic device.
  • the basic information of game application A1 is package name 1, UID 1 and PID 1
  • the device ID of the first electronic device is device ID 1
  • the basic information of game application A2 is package name 2, UID 2 and PID 2
  • the second The device ID of the electronic device is device ID 2
  • the first association relationship is: package name 1, UID 1, PID 1, foreground running status, device ID 1; package name 2, UID 2, PID 2, foreground running status, device ID 2.
  • the first electronic device uses the second management and control method to control the game application A1 according to the first association relationship.
  • the first management and control module of the first electronic device uses the second management and control method to control the game application A1 according to the first association relationship.
  • the degree of management and control of resources by the second management and control method may be smaller than the degree of management and control of resources by the first management and control method.
  • Using the second control method to control the game application A1 can increase the priority of the process of the game application A1, lock the priority, or increase the central processing unit (CPU), graphics processing unit (GPU), and double-rate synchronous dynamic random access memory. (DDR) frequency to handle gaming applications A1, etc.
  • the lock priority means that the process of game application A1 competes for the lock first.
  • Using the second management and control method to control the game application A1 may also include migrating the process of the game application A1 from the first processor of the first electronic device to the second processor of the first electronic device, etc., the running speed of the second processor Higher than the operating speed of the first processor, this application does not limit this. Therefore, in a distributed game scenario, sufficient resources can be provided for the game application A1 running in the distributed foreground, which can improve the running speed of the game application A1 and avoid the lag of the game application A1 when multiple applications are running at the same time. Improve user performance experience.
  • the degree of management and control of resources by the second management and control method may be equal to the degree of management and control of resources by the first management and control method.
  • the resources used by the game application A1 in the foreground running state in the distributed game scenario are the same as those used in the non-distributed scenario.
  • the second electronic device establishes the third association relationship between the game application A1 and the game application A2 according to the call result.
  • the second distributed scheduling module of the second electronic device reports the call result to the second management and control module.
  • the second management and control module establishes a third association between the game application A1 and the game application A2 according to the call result.
  • the process by which the second management and control module establishes the third association between game application A1 and game application A2 based on the call result is similar to the process by which the first management and control module establishes the first association between game application A1 and game application A2 based on the reported call result. , which will not be described in detail here.
  • the second electronic device also stores a third association relationship. In some embodiments, the second management and control module of the second electronic device also stores a third association relationship.
  • the second electronic device uses the second management and control method to control the game application A2 based on the third association relationship.
  • the second management and control module of the second electronic device uses the second management and control method to control the game application A2 according to the third association relationship.
  • the second management and control method for game application A2 may be to increase the priority of the process of game application A2, lock the priority, or increase the central processing unit (CPU), graphics processing unit (GPU), dual Multiply the frequency of at least one of the dynamic random access memories (DDR) synchronized to process the gaming application A2, etc.
  • the lock priority means that the process of game application A2 competes for the lock first.
  • Using the second management and control method to control the game application A2 may also include migrating the process of the game application A2 from the first processor of the first electronic device to the second processor of the first electronic device. The running speed of the second processor Higher than the operating speed of the first processor, this application does not limit this.
  • the resources used by the game application A2 in the foreground running state in the distributed game scenario are the same as those used not in the distributed scenario.
  • embodiments of the present application also provide another resource management and control method, which method may include:
  • the user when the user wants to switch the game application A1 from the foreground running state to the background running state, the user can perform a first preset operation, such as switching from the bottom of the screen of the first electronic device on the interface of the game application A1 The edge begins to slide upward.
  • a first preset operation such as switching from the bottom of the screen of the first electronic device on the interface of the game application A1 The edge begins to slide upward.
  • the game application A1 is switched to the background running state. It is understandable that the game application A1 can switch from the foreground running state to the background running state in other ways, and this application does not limit this.
  • the game application A1 outputs the information that the game application A1 switches to the background running state to the second soft bus of the second electronic device through the first distributed scheduling module and the first soft bus.
  • the second soft bus of the second electronic device can transmit the information of switching the game application A1 to the background running state to the second management and control module through the second distributed scheduling module.
  • the first distributed scheduling module when transmitting the information that the game application A1 switches to the background running state, can serialize the information that the game application A1 switches to the background running state, and then sends it to the first soft bus.
  • serializing the information of switching the game application A1 to the background running state is a process of converting the status information of the information switching the game application A1 to the background running state into a form that can be stored or transmitted.
  • the current state of the information for switching the game application A1 to the background running state may be written to a temporary or persistent storage area. Thereafter, the information that the game application A1 switches to the background running state can be re-created by reading or deserializing the status of the information that the game application A1 switches to the background running state from the storage area.
  • the second distributed scheduling module when transmitting the information that the game application A1 switches to the background running state, can parse the serialized information that the game application A1 switches to the background running state, and obtain the parsed game information.
  • the information that application A1 switches to the background running state is reported to the second management and control module.
  • parsing the serialized distributed scheduling request is a deserialization process, so that the information of game application A1 switching to the background running state can be recreated.
  • the second electronic device updates the third association relationship to the fourth association relationship based on the information that the game application A1 switches to the background running state.
  • the second management and control module of the second electronic device updates the third association relationship to the fourth association relationship according to the information that the game application A1 switches to the background running state.
  • the second management and control module searches for a third association matching the game application A1 based on the information that the game application A1 switches to the background running state, and updates the third level based on the information that the game application A1 switches to the background running state.
  • the running status information of the game application A1 in the association is a background running status, so that the third association can be updated to the fourth association.
  • the second management and control module searches for the third association matching the game application A1 through the package name, UID and PID.
  • the fourth association relationship may be, for example: package name 1, UID 1, PID 1, background running status, device ID 1; package name 2, UID 2, PID 2, foreground running status, device ID 2.
  • the second electronic device also stores a fourth association relationship. In some embodiments, the second management and control module of the second electronic device also stores a fourth association relationship.
  • the second electronic device uses the second management and control method to control the game application A2 according to the fourth association relationship.
  • the second management and control module of the second electronic device uses the second management and control method to control the game application A2 according to the fourth association relationship.
  • game application A1 is in the background running state
  • game application A2 is in the foreground running state.
  • the game application A2 can be managed in a second management and control manner through the second management and control module. Therefore, sufficient resources can be provided for the game application A2 running in the distributed foreground, which can improve the running speed of the game application A2, avoid lagging of the game application A2 when multiple applications are running at the same time, and improve the user's performance experience.
  • the first electronic device updates the first association relationship to the second association relationship according to the information that the game application A1 switches to the background running state.
  • the first distributed scheduling module of the first electronic device reports information that the game application A1 switches to the background running state to the first management and control module.
  • the first management and control module updates the first association relationship to the second association relationship according to the information that the game application A1 switches to the background running state.
  • the first management and control module updates the first association relationship to the second association relationship based on the information that the game application A1 switches to the background running state, and the second management and control module updates the information based on the game application A1 switching to the background running state.
  • the process of converting the third association relationship into the fourth association relationship is similar and will not be described again here.
  • the first management and control module also stores the second association relationship.
  • S1005 The first electronic device keeps the game application A1 alive according to the second association relationship.
  • the first management and control module of the first electronic device keeps the game application A1 alive according to the second association relationship.
  • game application A1 is in the background running state
  • game application A2 is in the foreground running state.
  • the game application A1 of the first electronic device and the game application A2 of the second electronic device still have a distributed relationship.
  • the game application A1 is a program that the user may activate again, and the first management and control module can keep the game application A1 alive. .
  • the first management and control module uses a third management and control method to keep the game application A1 alive according to the second association relationship.
  • the degree of management and control of resources by the third management and control method may be equal to the degree of management and control of resources by the first management and control method, and then the first management and control module allows the game application A1 to use the resources normally.
  • the degree of management and control of resources by the third management and control method may be greater than the degree of management and control of resources by the first management and control method.
  • Using the third control method to keep game application A1 alive can increase the priority of the process of game application A1, or rank the process of game application A1 at the bottom of the killable process list. Therefore, when the game application A1 is running in the background, the game application A1 can be kept alive, so that the game application A1 running in the background will not be cleared by the system. When the subsequent user needs to continue the game, the game application A1 can be directly removed from the background. The running state switches to the foreground running state, and there is no need to re-execute the code scanning, networking process, and calling process.
  • the resource management and control method may also include:
  • the user when the user wants to close the game application A1 running in the background, the user can perform a second preset operation, such as sliding upward from the bottom edge of the screen of the first electronic device to the middle of the screen on the home interface.
  • the first electronic device enters a multi-tasking interface.
  • the multitasking interface can at least display task thumbnails of running applications.
  • the user can press and hold the task thumbnail of the game application A1 and slide it upward to cause the game application A1 to exit and be in a non-running state. It is understandable that the game application A1 can also be terminated in other ways, and this application does not limit this.
  • the first distributed scheduling module of the first electronic device may monitor the end of the game application A1.
  • the first distributed scheduling module can monitor the end of the first application program through the Binder object death notification mechanism, and this application does not limit this.
  • the Binder proxy object can register with the Binder driver to receive notification of the death of the game application A1 referenced by the Binder proxy object.
  • the Binder proxy object may first define the first distributed scheduling module as the death notification acceptance object.
  • the Binder driver can send a death notification of the game application A1 to the first distributed scheduling module. Therefore, the first distributed scheduling module can monitor the end of the game application A1.
  • the first electronic device outputs information that the game application A1 has ended to the second electronic device.
  • the first distributed scheduling module of the first electronic device transmits the information that the game application A1 ends to the second soft bus of the second electronic device through the first soft bus.
  • the second soft bus of the second electronic device can transmit the end information of the game application A1 to the second management and control module through the second distributed scheduling module.
  • the first distributed scheduling module may serialize the information of the end of the game application A1 and then send it to the first soft bus.
  • serializing the information about the end of the game application A1 is a process of converting the information about the end of the game application A1 into a form that can be stored or transmitted.
  • the current state of the game application A1 ended information may be written to a temporary or persistent storage area. Thereafter, the information that game application A1 ended can be recreated by reading or deserializing the object's state from storage.
  • the second distributed scheduling module when transmitting the distributed scheduling request, can parse the serialized information about the end of game application A1, and then report the parsed information about the end of game application A1 to the second management and control module.
  • parsing the serialized game application A1 end information is a deserialization process, so that the game application A1 end information can be re-created.
  • S1103 The second electronic device deletes the fourth association relationship based on the information that the game application A1 has ended.
  • the second management and control module of the second electronic device deletes the fourth association relationship based on the information that the game application A1 has ended. In some embodiments, the second management and control module searches for the fourth association matching the game application A1 based on the information about the end of the game application A1, and deletes the fourth association. In some embodiments, the second management and control module searches for the fourth association matching the game application A1 through the package name, UID and PID.
  • S1104 The second electronic device uses the first control method to control the game application A2.
  • the second management and control module of the second electronic device controls the game application A2 using the first management and control method. In some embodiments, if there is no fourth association relationship in the second electronic device, game application A2 and game application A1 no longer have an association relationship, and game application A2 in the foreground running state is no longer in a distributed scenario. At this time You can directly perform common front-end resource management and control on the game application A2.
  • S1105 The first electronic device deletes the second association relationship based on the information that the game application A1 has ended.
  • the first distributed scheduling module of the first electronic device reports the end information of the game application A1 to the first management and control module.
  • the first management and control module deletes the second association relationship based on the information that the game application A1 has ended.
  • the first management and control module searches for a second association matching the game application A1 based on the information about the termination of the game application A1, and deletes the second association. In some embodiments, the first management and control module searches for a second association matching the game application A1 through the package name, UID and PID. Therefore, there is no second association relationship in the first electronic device. When the game application A1 is subsequently restarted, the first management and control module will directly control the game application A1 using the first management and control method.
  • the resource management and control method may also include:
  • the first electronic device may detect that the second electronic device is offline through the first soft bus of the first electronic device.
  • the first soft bus can output the information that the second electronic device is offline to the first management and control module through the first distributed scheduling module.
  • the first management and control module deletes the association relationship with the second electronic device according to the information that the second electronic device is offline.
  • the first soft bus of the first electronic device regularly sends a heartbeat packet to the second soft bus of the second electronic device. If the first soft bus does not receive reply data beyond the preset time, the first soft bus detects that the second electronic device is offline. It can be understood that the first soft bus can also use other methods to detect that the second electronic device is offline, and this application does not limit this.
  • the first management and control module may search for an association relationship matching the second electronic device according to the offline information of the second electronic device, and delete the matching association relationship. Then, the first management and control module can delete the association relationship related to the second electronic device.
  • S1202 First Electronic Device uses the fifth control method to control the game application A1.
  • the first management and control template of the first electronic device uses the fifth management and control method to control the game application A1.
  • the game application A2 and the game application A1 are no longer There is a correlation relationship, and the game application A2 running in the background is no longer in a distributed scenario, and the fifth management and control method can be used to control the game application A1, thereby reducing the resource consumption and power consumption of the first electronic device.
  • the degree of management and control of resources by the fifth management and control method may be greater than the degree of management and control of resources by the third management and control method.
  • the fifth control method can be to limit the application program's use of resources.
  • using the fifth control method to control the game application A1 can reduce the priority of the process of the game application A1, freeze the game application A1 when the system memory is lower than the preset memory value, or freeze the game application A1 when the system memory is lower than the preset memory value. Clean up game applications A1, etc. when presetting memory values.
  • step S907 and step S909 can be omitted, and this application does not limit this.
  • the game application A1 on the first electronic device can also switch from the background running state to the foreground running state.
  • the information transmission process and the association update process of game application A1 switching to the foreground running state are similar to the above-mentioned steps S1001-S1002 and step S1004 respectively.
  • the management and control processes of the first management and control module and the second management and control module are similar to the above-mentioned.
  • Step S907 is similar to step S909 and will not be described again.
  • steps S908-S909 may be performed before step S905, or steps S908-S909 may be performed simultaneously with step S905, and this application does not limit this.
  • steps S1004-S1005 can be performed first, and then the first electronic device outputs the information that the game application A1 switches to the background running state to the third electronic device.
  • Two electronic devices; or steps S1004-S1005 are executed simultaneously with the first electronic device outputting the information that the game application A1 switches to the background running state to the second electronic device. This application does not limit this.
  • step S1105 may be performed before step S1102, or step S1105 may be performed simultaneously with step S1102, and this application does not limit this.
  • the resource management and control method shown in Figure 9-12 can be applied not only to distributed game scenarios, but also to distributed computing scenarios.
  • the first electronic device 1401 may be a smart watch
  • the second electronic device 1402 may be a mobile phone.
  • the first application program installed in the first electronic device 1401 and the second application program installed in the second electronic device 1402 may be computing applications.
  • the computing application C1 is installed in the first electronic device 1401
  • the computing application C2 is installed in the second electronic device 1402.
  • the computing application C1 of the first electronic device 1401 can call the computing application C2 of the second electronic device 1402 and communicate with the computing application C2 of the second electronic device 1402 .
  • the first electronic device 1401 can send the calculation task to the second electronic device 1402 for calculation, so that the calculation requirements with high energy consumption can be transferred to the second electronic device 1402 for processing.
  • FIG. 14 is an example of a distributed computing scenario.
  • the interfaces displayed by the first electronic device 1401 and the second electronic device 1402 can also be other interfaces, and this application is not limited thereto.
  • the resource management and control method applied to distributed computing scenarios is similar to the resource management and control method applied to distributed game scenarios. The differences are:
  • the computing application C2 is called for the computing application C1.
  • the computing application C1 of the first electronic device calls the computing application C2 of the second electronic device, the computing application C1 is in the foreground running state, and the computing application C2 is in the background running state, then the calculations in the first association relationship and the third association relationship
  • the running status information of application C1 is all in the foreground running status, while the running status information of computing application C2 is all in the background running status.
  • the first management and control module of the first electronic device uses the second management and control method to control the computing application C1 according to the first association relationship
  • the second management and control module of the second electronic device uses the third management and control method to keep the computing application C2 alive according to the third association relationship. .
  • the first management and control module of the first electronic device adopts the fourth management and control method keep-alive computing application C1 according to the second association relationship
  • the second management and control module of the second electronic device adopts the fourth management and control mode keep-alive computing application C2 according to the fourth association relationship.
  • the fourth management and control method's resource management and control procedures may be greater than the third management and control method's resource control degree, but less than the fifth management and control method's resource management and control degree.
  • the keep-alive calculation application C1 using the fourth control method may be the keep-alive calculation application C1 within a predetermined time (such as 3 minutes, etc.). That is, the priority of the process of computing application C1 is increased within a predetermined time, or the process of computing application C1 is ranked at the bottom of the killable process list, etc.
  • using the fourth management and control method to keep the computing application C1 alive can also further reduce the priority of the process of the computing application C1 compared to the third management and control method, and this application does not limit this.
  • the second management and control module uses the fifth management and control method to control the computing application C2, which is not limited by this application.
  • the computing application C1 on the first electronic device can also switch from the background running state to the foreground running state.
  • the first management and control module adopts the second management and control method to perform resource management and control on the computing application C1
  • the second management and control module adopts Use the third control method to keep alive the calculation application C2, this application does not limit this.
  • Figure 15 is a flow chart of another resource management and control method provided by an embodiment of the present application. Methods include:
  • S1501 The first electronic device displays the interface of the first application program.
  • the first electronic device In response to the operation of the first application program, the first electronic device calls the second application program of the associated second electronic device, and establishes a first association relationship between the first application program and the second application program; first association relationship Include the first application running in the foreground.
  • the method before the first electronic device calls the second application program of the associated second electronic device in response to the operation of the first application program, the method further includes: the first electronic device adopts the first management and control method to control the second application program of the second electronic device.
  • One application performs management and control; before the first electronic device updates the first association relationship to the second association relationship when the first application program switches from the foreground running state to the background running state, the method also includes: the first electronic device adopts the second management and control The first application is managed and controlled by the second management and control method, and the degree of resource management and control by the second management and control method is smaller than the degree of resource management and control by the first management and control method.
  • keeping the first application program alive on the first electronic device includes: when the second application program is running in the foreground, the first electronic device uses a third control method to keep the first application program alive,
  • the third management and control method has a greater degree of control over resources than the first management and control method.
  • keeping the first application program alive on the first electronic device also includes: when the second application program is running in the background, the first electronic device uses a fourth control method to keep the first application program alive.
  • the fourth management and control method has greater control over resources than the third management and control method.
  • the fifth management and control method is used to control the first application.
  • the fifth management and control method controls resources to a greater extent than the fourth management and control method.
  • using the second management and control method to control the first application program includes: increasing the priority of the process of the first application program; or, lock priority; or, increasing the CPU, graphics processor, double A frequency of at least one of the dynamic random access memories is rate synchronized to process the first application.
  • using the third management and control method to keep the first application program alive includes: increasing the priority of the process of the first application program; or, arranging the process of the first application program at the end of the list of killable processes.
  • using the fourth control method to keep the first application program alive includes: keeping the first application program alive within a preset time.
  • using the fifth management and control method to control the first application program includes: reducing the priority of the process of the first application program; or freezing the first application program when the system memory is lower than a preset memory value; or , clean the first application when the system memory is lower than the preset memory value.
  • the method further includes: when the first electronic device monitors the end of the first application, the first electronic device deletes the second association relationship.
  • establishing the first association relationship between the first application program and the second application program includes: receiving the result of the call sent by the second electronic device; establishing the first association relationship between the first application program and the second application program according to the result. relation.
  • embodiments of the present application also provide a computer-readable storage medium.
  • the computer-readable storage medium stores a program, and the program enables the electronic device to implement the method shown in Figure 15.
  • a computer program product includes computer execution instructions.
  • the computer execution instructions are stored in a computer-readable storage medium.
  • At least one processor of an electronic device can read the computer execution instructions from the computer-readable storage medium.
  • At least one processor The computer executes the instructions to cause the electronic device to execute the method shown in FIG. 15 .
  • the first electronic device displays the interface of the first application, and in response to the operation of the first application, calls the second application of the associated second electronic device and establishes the first application and the second application.
  • An association relationship and when the first application program switches from the foreground running state to the background running state, the first association relationship is updated to the second association relationship, and the first application program is kept alive according to the second association relationship, thereby avoiding distribution Scenario where distributed applications are cleaned up while running in the background.
  • the present application can be implemented by software plus necessary general hardware. Of course, it can also be implemented by dedicated hardware including dedicated integrated circuits, dedicated CPUs, dedicated memories, Special components, etc. to achieve. Under normal circumstances, all functions performed by computer programs can be easily implemented with corresponding hardware, and, used to implement The specific hardware structures of the same function can also be diverse, such as analog circuits, digital circuits or dedicated circuits. However, for this application, software program implementation is a better implementation in most cases. Based on this understanding, the technical solution of the present application can be embodied in the form of a software product in essence or that contributes to the existing technology.
  • the computer software product is stored in a readable storage medium, such as a computer floppy disk, A USB flash drive, mobile hard disk, ROM, RAM, magnetic disk or optical disk, etc., includes several instructions to cause a computer device (which can be a personal computer, server, or network device, etc.) to execute the methods described in various embodiments of this application.
  • a computer device which can be a personal computer, server, or network device, etc.
  • a computer program product includes one or more computer instructions. When computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part.
  • the computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • Computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, e.g., computer instructions may be transmitted from a website, computer, server or data center via a wired link (e.g. Coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) means to transmit to another website site, computer, server or data center.
  • a wired link e.g. Coaxial cable, optical fiber, digital subscriber line (DSL)
  • wireless such as infrared, wireless, microwave, etc.
  • Computer-readable storage media can be any available media that a computer can store, or a data storage device such as a server or data center integrated with one or more available media. Available media may be magnetic media (eg, floppy disk, hard disk, tape), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk (SSD)), etc.
  • Available media may be magnetic media (eg, floppy disk, hard disk, tape), optical media (eg, DVD), or semiconductor media (eg, Solid State Disk (SSD)), etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种资源管控方法、电子设备、存储介质及程序产品,可避免分布式场景下分布式应用后台被清理掉的情况。一种资源管控方法,方法包括:第一电子设备显示第一应用程序的界面;第一电子设备响应于对第一应用程序的操作,调用关联的第二电子设备的第二应用程序,并建立第一应用程序和第二应用程序的第一关联关系;第一关联关系包括第一应用程序处于前台运行状态;当第一应用程序从前台运行状态切换至后台运行状态,第一电子设备更新第一关联关系为第二关联关系;第二关联关系包括第一应用程序处于后台运行状态;根据第二关联关系,第一电子设备保活第一应用程序。

Description

资源管控方法、电子设备、存储介质及程序产品
本申请要求于2022年08月12日提交中国国家知识产权局、申请号为202210965984.1、发明名称为“资源管控方法、电子设备、存储介质及程序产品”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及电子技术领域,尤其涉及一种资源管控方法、电子设备、存储介质及程序产品。
背景技术
随着通信技术发展,多个电子设备间的互联协同得到广泛应用。例如,将手机,平板,手环,手表、显示器等不同设备部署在同一个分布式网络下,可以实现多个电子设备在分布式教育、分布式游戏、分布式计算、分布式办公、分布式健身等不同领域的应用。但是,在分布式场景下,目前并没有对应用程序进行管控的相关机制。
发明内容
鉴于以上内容,有必要提供一种资源管控方法、电子设备、存储介质及程序产品,可对分布式场景下的应用程序进行管控。
第一方面,本申请的一实施例提供一种资源管控方法,包括:第一电子设备显示第一应用程序的界面;第一电子设备响应于对第一应用程序的操作,调用关联的第二电子设备的第二应用程序,并建立第一应用程序和第二应用程序的第一关联关系;第一关联关系包括第一应用程序处于前台运行状态;当第一应用程序从前台运行状态切换至后台运行状态,第一电子设备更新第一关联关系为第二关联关系;第二关联关系包括第一应用程序处于后台运行状态;根据第二关联关系,第一电子设备保活第一应用程序。
本申请的第一方面,当第一应用程序调用第二电子设备的第二应用程序,第一电子设备建立第一应用程序和第二应用程序的第一关联关系。当第一应用程序从前台运行状态切换至后台运行状态,可更新第一关联关系为第二关联关系,并根据第二关联关系,保活第一应用程序。由于第一应用程序与第二电子设备的第二应用程序存在关联关系,则第一电子设备可根据关联关系保活第一应用程序,因此即使第一应用程序被切换至后台运行状态后,第一应用程序在后台也不会被系统清理,后续该第一应用程序可以直接从后台运行状态切换至前台运行状态。
根据本申请的一些实施例,在第一电子设备响应于对第一应用程序的操作,调用关联的第二电子设备的第二应用程序之前,方法还包括:第一电子设备采用第一管控方式对第一应用程序进行管控;在当第一应用程序从前台运行状态切换至后台运行状态,第一电子设备更新第一关联关系为第二关联关系之前,方法还包括:第一电子设备采用第二管控方式对第一应用程序进行管控,第二管控方式对资源的管控程度小于第一管控方式对资源的管控程度。本申请通过第一电子设备的第一应用程序调用第二电子设备的第二应用程序后,第一应用程序从前台运行状态切换至后台运行状态前,采用第二管控方式,其中,第二管控方式的管控程度小于第一应用程序调用第二应用程序之前的第一管控方式,可在分布式场景下,为分布式前台运行的第一应用程序提供足够的资源,可提高第一应用程序的运行速度,避免了在多个应用程序同时运行时第一应用程序的卡顿,提升用户的性能体验。
根据本申请的一些实施例,根据第二关联关系,第一电子设备保活第一应用程序,包括:当第二应用程序处于前台运行状态,第一电子设备采用第三管控方式保活第一应用程序,第三管控方式对资源的管控程度大于第一管控方式对资源的管控程度。本申请通过在分布式场景下,当第一应用程序处于后台运行状态且第二应用程序处于前台运行状态,采用管控程度大于第一管控方式的第三管控方式来保活第一应用程序,可保活第一应用程序,且不会占用较多资源。
根据本申请的一些实施例,根据第二关联关系,第一电子设备保活第一应用程序,还包括:当第二应用程序处于后台运行状态,第一电子设备采用第四管控方式保活第一应用程序,第四管控方式对资源的管控程度大于第三管控方式对资源的管控程度。本申请通过在分布式场景下,当第一应用程序处于后台运行状态且第二应用程序处于后台运行状态,采用管控程度大于第三管控方式的第四管控方式来保活第一应用程序,可保活第一应用程序,且占用较少资源,避免第一应用程序占用较多的资源时造成其他应用程序的卡顿。
根据本申请的一些实施例,方法还包括:当第一电子设备接收第二电子设备发送的第二应用程序结束的消息,或者当第一电子设备检测第二电子设备下线,第一电子设备删除第二关联关系,并采用第五管控方式对第一应用程序进行管控,第五管控方式对资源的管控程度大于第四管控方式对资源的管控程度。本申请通过在分布式场景下,当第一应用程序处于后台运行状态,且第二应用程序结束或者第二电子设备下线,删除第二关联关系,使得第一应用程序退出分布式场景,处于普通的后台运行场景下,占用更少的资源。
根据本申请的一些实施例,采用第二管控方式对第一应用程序进行管控包括:提高第一应用程序的进程的优先级;或者,锁优先级;或者,提高中央处理器、图形处理器、双倍速率同步动态随机存储器中至少一个的频率以处理第一应用程序。本申请通过提高第一应用程序的进程的优先级、锁优先级、将中央处理器、图形处理器、双倍速率同步动态随机存储器中至少一个的频率提高来处理第一应用程序等,可为分布式前台运行的第一应用程序提供足够的资源。
根据本申请的一些实施例,采用第三管控方式保活第一应用程序,包括:提高第一应用程序的进程的优先级;或者,将第一应用程序的进程排在可杀进程列表的最后面。本申请在分布式场景下,当第二应用程序处于前台运行状态,通过提高第一应用程序的进程的优先级、或者将第一应用程序的进程排在可杀进程列表的最后面可保活处于后台运行状态的第一应用程序,且不会占用较多资源。
根据本申请的一些实施例,采用第四管控方式保活第一应用程序,包括:在预设时间内保活第一应用程序。本申请在分布式场景下,当第二应用程序处于后台运行状态,通过在预设时间内保活第一应用程序,可在预设时间内保活处于后台运行状态的第一应用程序,避免第一应用程序占用较多的资源时造成其他应用程序的卡顿。
根据本申请的一些实施例,采用第五管控方式对第一应用程序进行管控,包括:降低第一应用程序的进程的优先级;或者,在系统内存低于预设内存值时冻结第一应用程序;或者,在系统内存低于预设内存值时清理第一应用程序。本申请在处于后台运行状态的第一应用程序退出分布式场景时,通过降低第一应用程序的进程的优先级、在系统内存低于预设内存值时冻结第一应用程序、或者在系统内存低于预设内存值时清理第一应用程序,避免了资源的浪费。
根据本申请的一些实施例,方法还包括:当第一电子设备监听到第一应用程序结束,第一电子设备删除第二关联关系。本申请通过当第一应用程序结束,第一电子设备删除第二关联关系,则后续在第一应用程序再重新启动时,第一电子设备会直接对第一应用程序采用普通方式进行管控。
根据本申请的一些实施例,建立第一应用程序和第二应用程序的第一关联关系,包括:接收第二电子设备发送的调用的结果;根据结果建立第一应用程序和第二应用程序的第一关联关系。本申请通过第一电子设备根据第二电子设备发送的调用的结果建立第一关联关系,可实现第一关联关系的建立。
第二方面,本申请的一实施例提供一种电子设备,电子设备包括处理器和存储器,存储器用于存储程序指令,处理器调用存储指令时,实现如上第一方面任意一种可能的实施例的方法。
第三方面,本申请的一实施例提供一种计算机可读存储介质,计算机可读存储介质存储有程序,程序使得电子设备实现如上第一方面任意一种可能的实施例的方法。
第四方面,本申请的一实施例提供一种计算机程序产品,计算机程序产品包括计算机执行指令,计算机执行指令存储在计算机可读存储介质中;电子设备的至少一个处理器可以从计算机可读存储介质中读取计算机执行指令,至少一个处理器执行计算机执行指令使得电子设备执行如上第一方面任意一种可能的实施例的方法。
本申请中第二方面到第四方面及其各种实现方式的有益效果,可以参考第一方面及其各种实现方式,以及第一方面中的有益效果分析,此处不再赘述。
附图说明
图1为本申请实施例提供的资源管控系统的示意图。
图2为本申请实施例提供的第一电子设备的实体结构示意图。
图3为本申请实施例提供的第一电子设备与第二电子设备的软件架构的组成示意图。
图4为本申请实施例提供的第一电子设备与第二电子设备的软件架构的组成示意图,示出了第一电子设备的第一应用程序调用第二电子设备的第二应用程序时的工作过程。
图5为本申请实施例提供的第一电子设备与第二电子设备的软件架构的组成示意图,示出了第一电子设备的第一应用程序从前台运行状态切换至后台运行状态时的工作过程。
图6为本申请实施例提供的第一电子设备与第二电子设备的软件架构的组成示意图,示出了第一电子设备的第一应用程序结束时的工作过程。
图7为本申请实施例提供的第一电子设备与第二电子设备的软件架构的组成示意图,示出了第二电子设备下线时的工作过程。
图8为本申请实施例提供的第一分布式管控单元的功能模块示意图。
图9-12为本申请实施例提供的资源管控方法的流程图。
图13为本申请实施例提供的分布式游戏场景的示意图。
图14为本申请实施例提供的分布式计算场景的示意图。
图15为本申请实施例提供的另一资源管控方法的流程图。
具体实施方式
在本申请实施例的描述中,“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“例如”等词旨在以具体方式呈现相关概念。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请中的技术领域的技术人员通常理解的含义相同。本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。应理解,本申请中除非另有说明,“多个”是指两个或多于两个。
现有的电子设备可基于白名单或应用类型进行管控。基于白名单进行管控时,电子设备的系统中可存储有应用白名单。应用白名单为允许后台运行的应用程序的名单。从而,位于应用白名单中的应用程序处于后台运行状态时不会被清理掉,而应用白名单外的应用程序处于后台运行状态时会被清理掉。基于应用类型进行管控时,电子设备可根据应用的类型将电子设备中的应用程序分为多个类,例如分为即时通信类、支付类、视频类、运动类等。即时通信类可包括等应用程序。支付类可包括钱包等应用程序。视频类可包括华为视频、等应用程序。运动类可包括运动健康等应用程序。电子设备还可对多个类按照重要程序等进行排序,例如即时通信类具有最高重要度,可在排序时排在可杀进程列表的最后面。如此,电子设备的系统在执行后台清理应用程序时,可最后才清理即时通信类。但是,由于应用程序的安装或卸载问题,电子设备内的应用程序随时随地都会变化,系统的白名单和电子设备内的应用程序的排序依赖于系统的升级,无法做到实时更新,这将会可能导致应用程序在后台运行时被误处理掉。
现有的电子设备还可根据用户的习惯预测用户当前的行为,并根据预测对应用程序进行资源管控。例如,电子设备侦测到用户连续两周在下午5点半会使用通讯录,则电子设备可根据侦测的信息建立模型,在当天下午5点半时根据模型预测用户将会使用通讯录,电子设备会将通讯录自动切换至前台,或者保活后台运行的通讯录等。但是,由于为根据预测对应用程序进行资源管控,当用户的行为不是规律性行为时,电子设备将无法预测用户当前的行为,也就无法合理地管控应用程序的资源,这将会可能导致应用程序在后台运行时被误处理掉。
有鉴于此,本申请实施例提出了一种资源管控方法,可避免分布式场景下分布式应用后台运行时被清理掉的情况。
参考图1,为本申请实施例提供的资源管控系统的示意图,资源管控系统10可以包括第一电子设备11和第二电子设备12,但不以此为限。在其他的一些实施例中,资源管控系统10还可以包括第三电子设备等,本申请对此不作限制。
第一电子设备11可为手机、平板电脑、数码相机、个人数字助理(personal digital assistant,PDA)、可 穿戴设备、膝上型计算机(laptop)等设备。第二电子设备12可为手机、平板电脑、数码相机、个人数字助理(personal digital assistant,PDA)、膝上型计算机(laptop)、智能电视、大屏、智慧屏、显示器等设备。图1中仅示出了一个第一电子设备11,但是可理解,第一电子设备11的数量也可为多个,本申请对此不作限制。
第一电子设备11内安装有第一应用程序110。第二电子设备12内安装有第二应用程序120。第一应用程序110和第二应用程序120可为游戏类应用程序、计算类应用程序等。第一电子设备11和第二电子设备12可进行组网,并建立分布式网络。分布式网络可为Mesh网络,蓝牙网络,Wi-Fi网络等,本申请对此不作限制。
在一些实施例中,第一电子设备11和第二电子设备12建立分布式网络后,第一电子设备11的第一应用程序110可启动第二电子设备12的第二应用程序120。此时,第二电子设备12的第二应用程序120可处于前台运行状态或后台运行状态。第一电子设备11可建立第一应用程序110与第二应用程序120的第一关联关系,并存储第一关联关系。
当第一应用程序110切换至后台运行状态时,第一电子设备11还可更新关联关系,例如从第一关联关系更新为第二关联关系。第一电子设备11可以根据第二关联关系保活第一应用程序110。
可理解,在第一电子设备11的第一应用程序110启动第二电子设备12的第二应用程序120后,第一电子设备11的第一应用程序110和第二电子设备12的第二应用程序120可互相通信,本申请对此不作限制。
参考图2,为本申请实施例提供的第一电子设备的实体结构示意图。第一电子设备20可为手机、平板电脑、数码相机、个人数字助理(personal digital assistant,PDA)、可穿戴设备、膝上型计算机(laptop)等设备。
第一电子设备20可包括存储器21、处理器22及通信接口23。可理解,图2中示出的结构并不构成对第一电子设备20的限定,第一电子设备20可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。
存储器21可用于存储软件程序和/或模块/单元。处理器22通过运行或执行存储在存储器21内的软件程序和/或模块/单元,以及调用存储在存储器21内的数据,实现第一电子设备20的各种功能。存储器21可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据第一电子设备20的使用所创建的数据(比如音频数据等)等。此外,存储器21可以包括非易失性计算机可读存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
处理器22可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器22可以是微处理器或者处理器22也可以是任何常规的处理器等,处理器22是第一电子设备20的控制中心,利用各种接口和线路连接整个第一电子设备20的各个部分。
处理器22中还可以设置有存储器21,用于存储指令和数据。在一些实施例中,处理器22中的存储器21为高速缓冲存储器。存储器21可以保存处理器22刚用过或循环使用的指令或数据。如果处理器22需要再次使用指令或数据,可从存储器21中直接调用。避免了重复存取,减少了处理器22的等待时间,因而提高了系统的效率。
在一些实施例中,处理器22可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,SIM接口,和/或USB接口等。
通信接口23可包括标准的有线接口、无线接口等。通信接口23用于供第一电子设备20与第二电子设备进行通信。
为了更好地理解本申请,下面先对本申请所涉及的一些术语和概念进行介绍。
应用程序状态:应用程序状态包括非运行状态和运行状态。应用程序处于非运行状态代表应用程序退出运行。
运行状态:应用程序在操作系统中的运行状态可以分为前台运行状态和后台运行状态。前台运行状态,是指直接在显示屏的显示窗口或界面上运行,呈现出程序运行的当前界面,可以和终端设备的使用者通过显示的界面进行互动。后台运行状态,是指显示屏不呈现应用的运行界面,但应用程序在后台继续提供服务。对于具有可视的显示界面的应用程序来说,其可以从后台运行状态切换成前台运行状态,或者从前台运行状态切换为后台运行状态;对于不具有可视的显示界面的应用程序来说,其可以处于后台运行状态,一般无法切换到前台运行状态。
应用标识符:也可以称为用户标识符(user identification,UID)或应用标识,是应用安装过程中系统为其分配的标识。多个应用可以共享一个应用标识符。
进程标识:可以为进程标识符(process identification,PID)或进程名,其中,PID是在应用运行后,操作系统为应用的进程分配的身份标识。在应用停止运行后,操作系统会将PID收回,当应用程序再次开始运行时,操作系统将重新分配新的PID。一个进程标识符唯一标识一个进程。
包名(package name):包名主要用于系统识别应用程序,多个应用程序可以共享一个包名。
分布式网络:是一种无线局域网类型,也就是网状结构网络。分布式网络中的每两个电子设备之间都可以进行通信。
Binder系统:Binder系统是一种服务器/客户机模式,包括Binder服务器、Binder客户端、Binder代理对象(BpBinder)和Binder驱动。
Binder服务器:Binder服务器为Binder客户端提供相关服务。Binder服务器处于用户空间。
Binder客户端:Binder客户端为Binder服务器的服务对象。Binder客户端处于用户空间。
Binder代理对象:Binder代理对象为一个Binder接口,可监听所引用的Binder服务器的结束。Binder代理对象可向Binder驱动注册Binder代理对象所引用的Binder服务器死亡接收通知(Death Notification)。在Binder代理对象向Binder驱动注册Binder代理对象所引用的Binder服务器死亡接收通知之前,Binder代理对象可先定义死亡通知接受对象(Death Recipient)。
Binder驱动:Binder驱动处于内核空间。当Binder代理对象监控到所引用的Binder服务器结束时,Binder驱动可发送一个Binder服务器死亡通知至死亡通知接受对象。
参考图3,为本申请实施例提供的第一电子设备与第二电子设备的软件架构的组成示意图。第一电子设备31包括第一应用程序310、第一分布式管控单元311及第一软总线312。第二电子设备32包括第二应用程序320、第二分布式管控单元321及第二软总线322。
第一应用程序310与第二应用程序320可以根据实际的应用需求进行确定,在此不作限定。例如,第一应用程序310与第二应用程序320可以是游戏类APP、计算类APP等。第一应用程序310可以为游戏应用A1,第二应用程序320可以为游戏应用A2;或者,第一应用程序310可以为计算应用C1,第二应用程序320可以为计算应用C2。
第一分布式管控单元311与第二分布式管控单元321可以实现跨设备应用程序的调用启动。第一分布式管控单元311还可对第一应用程序310使用的资源进行管控。第二分布式管控单元321还可对第二应用程序320使用的资源进行管控。资源可包括内存资源和计算资源。内存资源可包括随机存取存储器(random access memory,RAM)资源等。计算资源可包括处理器资源等。
第一软总线312与第二软总线322可以提供跨设备通信、设备上线监测及设备下线监测等功能。
在一些实施例中,如图4所示,当第一电子设备31上的第一应用程序310发起对第二电子设备32上的第二应用程序320的分布式调度时,第一应用程序310输出的分布式调度请求可以通过第一分布式管控单元311和第一软总线312传送至第二电子设备32,例如传送至第二电子设备32的第二软总线322。第二软总线322可通过第二分布式管控单元321将分布式调度请求传送至第二应用程序320,使得第二应用程序320可以响应第一应用程序310发起的分布式调度。从而,第一电子设备31上的第一应用程序310可调用第二电子设备32上的第二应用程序320。
在一些实施例中,调用可以包括启动。则,调用可以包括第二应用程序处于运行状态时的调用和第二应用程序处于不运行状态时的启动。
在一些实施例中,第一电子设备31的第一应用程序310为前台运行状态,第二电子设备32的第二应 用程序320可为前台运行状态或后台运行状态。当第一应用程序310调用第二应用程序320时,第二应用程序320可与第一应用程序310互相通信。第二分布式管控单元321通过第二软总线322将调用的结果返回至第一电子设备31,例如返回调用的结果至第一电子设备31的第一软总线312。第一软总线312将结果发送至第一分布式管控单元311。第一分布式管控单元311还根据结果建立第一应用程序310和第二应用程序320的第一关联关系。在一些实施例中,第二分布式管控单元321还根据结果建立第一应用程序310和第二应用程序320的第三关联关系。第三关联关系包括应用程序的基本信息、应用程序的运行状态信息及电子设备的设备ID等。
在一些实施例中,当第二应用程序320为前台运行状态时,第一分布式管控单元311和第二分布式管控单元321可分别根据第一关联关系和第三关联关系对第一应用程序310和第二应用程序320使用的资源进行管控。在一些实施例中,在第一应用程序310发起对第二电子设备32上的第二应用程序320的分布式调度之前,第一分布式管控单元311可对第一应用程序310采用第一管控方式进行管控。
在一些实施例中,在第一应用程序310调用第二电子设备32上的第二应用程序320之后,第一分布式管控单元311可对第一应用程序310采用第二管控方式进行管控。
在一些实施例中,第二管控方式对资源的管控程度可小于第一管控方式对资源的管控程度。在其他的一些实施例中,第二管控方式对资源的管控程度可等于第一管控方式对资源的管控程度。
在一些实施例中,当第二应用程序320为后台运行状态时,第一分布式管控单元311根据第一关联关系对第一应用程序310采用第二管控方式。第二分布式管控单元321还根据第三关联关系保活第二应用程序320。在一些实施例中,第二分布式管控单元321还根据第三关联关系采用第三管控方式保活第二应用程序320。在一些实施例中,第三管控方式对资源的管控程度可等于第一管控方式对资源的管控程序。在其他的一些实施例中,第三管控方式对资源的管控程度可大于第一管控方式对资源的管控程度。
在一些实施例中,如图5所示,在分布式场景下,当第一电子设备31上的第一应用程序310从前台运行状态切换至后台运行状态时,第一应用程序310输出的第一应用程序310切换至后台运行状态的信息可通过第一分布式管控单元311和第一软总线312发送至第二电子设备32,例如发送至第二电子设备32的第二软总线322。第二软总线322可以将第一应用程序310切换至后台运行状态的信息发送至第二分布式管控单元321。此时,第一分布式管控单元311可根据第一应用程序310切换至后台运行状态的信息更新第一关联关系为第二关联关系,第二分布式管控单元321可根据第一应用程序310切换至后台运行状态的信息更新第三关联关系为第四关联关系。
在一些实施例中,当第二应用程序320为前台运行状态时,第一分布式管控单元311根据第二关联关系保活第一应用程序310。在一些实施例中,第一分布式管控单元311根据第二关联关系采用第三管控方式保活第一应用程序310。第二分布式管控单元321根据第四关联关系对第二应用程序320采用第二管控方式进行管控。
在一些实施例中,当第二应用程序320为后台运行状态时,第一分布式管控单元311和第二分布式管控单元321可分别根据第二关联关系和第四关联关系保活第一应用程序310和保活第二应用程序320。在一些实施例中,第一分布式管控单元311和第二分布式管控单元321可分别根据第二关联关系和第四关联关系采用第四管控方式保活第一应用程序310和保活第二应用程序320。第四管控方式对资源的管控程度大于第三管控方式对资源的管控程度。
相应地,当第二应用程序320从前台运行状态切换至后台运行状态时,第二应用程序320输出第二应用程序320切换至后台运行状态的信息,该信息可通过第二分布式管控单元321和第二软总线322发送至第一电子设备31,例如发送至第一电子设备31的第一软总线312。第一软总线312可以将第二应用程序320切换至后台运行状态的信息发送至第一分布式管控单元311。第一分布式管控单元311根据第二应用程序320切换至后台运行状态的信息更新关联关系。第二分布式管控单元321还根据第二应用程序320切换至后台运行状态的信息更新关联关系。当第一应用程序310为前台运行状态时,第一分布式管控单元311根据更新的关联关系对第一应用程序310采用第二管控方式进行管控,第二分布式管控单元321根据更新的关联关系采用第三管控方式保活第二应用程序320。当第一应用程序310为后台运行状态时,第一分布式管控单元311和第二分布式管控单元321可分别根据更新的关联关系采用第四管控方式保活第一应用程序310和保活第二应用程序320。
可理解,第一电子设备31上的第一应用程序310还可从后台运行状态切换至前台运行状态,此时, 第一电子设备31对第一应用程序310的管控过程与上述的图5中的第一电子设备31对第一应用程序310的管控过程相似,第二电子设备32对第二应用程序320的管控过程与上述的图5中的第二电子设备32对第二应用程序320的管控过程相似,在此不再赘述。
在一些实施例中,如图6所示,在分布式场景下,当第一应用程序310结束时,即当第一应用程序310处于未运行状态时,第一分布式管控单元311可监听到第一应用程序310的结束。第一分布式管控单元311可通过第一软总线312将第一应用程序310结束的信息发送至第二电子设备32,例如发送至第二电子设备32的第二软总线322。第二软总线322可以将第一应用程序310结束的信息发送至第二分布式管控单元321。第二分布式管控单元321根据第一应用程序310结束的信息删除第四关联关系。第一分布式管控单元311还根据第一应用程序310结束的信息删除第二关联关系。此时,第一电子设备31无法继续操控第二电子设备32。
在一些实施例中,在第一应用程序310结束且第二应用程序320为前台运行状态时,第二分布式管控单元321对第二应用程序320采用第一管控方式进行管控。在第一应用程序310结束且第二应用程序320为后台运行状态时,第二分布式管控单元321对第二应用程序320采用第五管控方式进行管控。第五管控方式对资源的管控程度大于第四管控方式对资源的管控程度。在一些实施例中,第五管控方式可为限制应用程序使用资源。可理解,后续若第一电子设备31重新启动第一应用程序310,第一分布式管控单元311将首先对第一应用程序310采用第一管控方式进行管控,本申请对此不作限制。
可理解,在分布式场景下,也可为第二应用程序320结束,此时,第一电子设备31对第一应用程序310的管控过程与上述的图6中的第二电子设备32对第二应用程序320的管控过程相似,第二电子设备32对第二应用程序320的管控过程与上述的图6中的第一电子设备31对第一应用程序310的管控过程相似,在此不再赘述。
在一些实施例中,如图7所示,在分布式场景下,当第一软总线312检测到第二电子设备32下线时,第一软总线312输出第二电子设备32下线的信息至第一分布式管控单元311,第一分布式管控单元311根据第二电子设备32下线的信息删除与第二电子设备32相关的关联关系。第一分布式管控单元311还在第一应用程序310为前台运行状态时,对第一应用程序310采用第一管控方式进行管控。第一分布式管控单元311还在第一应用程序310为后台运行状态时,对第一应用程序310采用第五管控方式进行管控。
在一些实施例中,在分布式场景下,当第二电子设备32下线时,与第二电子设备32相关的关联关系都会被删除,本申请对此不作限制。
可理解,在分布式场景下,也可为第二软总线322检测到第一电子设备31下线,此时第二电子设备对第二应用程序的管控过程与第一电子设备对第一应用程序的管控过程相似,在此不再赘述。可理解,在分布式场景下,当第一电子设备31下线,与第一电子设备32相关的关联关系都会被删除,本申请对此不作限制。
请同时参考图8,第一分布式管控单元311可包括第一分布式调度模块313和第一管控模块314。第一分布式调度模块313用于实现跨设备应用程序的调用启动,及上报信息至第一管控模块314。第一管控模块314用于对第一应用程序310使用的资源进行管控。在不同的系统中,第一管控模块314可不同。例如在系统中,第一管控模块314可为AMS(Activity Manager Service)。AMS是指Activity管理服务,是Android平台中的一个关键系统服务。在鸿蒙系统中,第一管控模块314可为iAware模块。iAware是一款安全防护的检测程序。
第一电子设备31的第一应用程序310为通过第一分布式调度模块313将分布式调度请求或信息发送至第二电子设备32。信息可为第一应用程序310前后台运行状态切换的信息,或者第一应用程序310结束的信息。
第一电子设备31为通过第一管控模块314对第一应用程序310使用的资源进行管控。例如对第一应用程序310采用第一管控方式进行管控,对第一应用程序310采用第二管控方式进行管控,采用第三管控方式保活第一应用程序310,采用第四管控方式保活第一应用程序310,或者对第一应用程序310采用第五管控方式进行管控。
第一电子设备31为通过第一分布式调度模块313接收调用的结果,并根据调用的结果上报调用的结果至第一管控模块314。第一电子设备31为通过第一管控模块314根据上报的调用的结果建立第一关联关系。
第一电子设备31为通过第一分布式调度模块313上报第一应用程序310切换至后台运行状态的信息至第一管控模块314。第一电子设备31为通过第一管控模块314根据上报的第一应用程序310切换至后台运行 状态的信息更新第一关联关系为第二关联关系。
第一电子设备31为通过第一分布式调度模块313上报第一应用程序310结束的信息至第一管控模块314。第一电子设备31为通过第一管控模块314根据上报的第一应用程序310结束的信息删除第二关联关系。
第一电子设备31为通过第一分布式调度模块313上报第二电子设备32下线的信息至第一管控模块314。第一电子设备31为通过第一管控模块314根据上报的第二电子设备32下线的信息删除与第二电子设备32相关的关联关系。
可理解,第一应用程序310还可从后台运行状态切换为前台运行状态,本申请对此不作限制。
可理解,第二分布式管控单元312可包括第二分布式调度模块和第二管控模块,本申请对此不作限制。
参考图9-12,为本申请实施例提供的资源管控方式的流程图。资源管控方法可应用于分布式游戏场景。在分布式游戏场景下,如图13所示,第一电子设备1301可为手机,第二电子设备1302可为大屏设备,例如显示器,电视等。第一电子设备1301内安装的第一应用程序和第二电子设备1302内安装的第二应用程序可为游戏类应用程序。例如,第一电子设备1301内安装游戏应用A1,第二电子设备1302内安装游戏应用A2。第一电子设备1301的游戏应用A1可调用第二电子设备1302的游戏应用A2,并与第二电子设备1302的游戏应用A2进行互相通信。从而,第一电子设备1301可通过游戏应用A1虚拟化为遥控器来操控第二电子设备1302的游戏应用A2。可理解,图13是分布式游戏场景的一种示例,第一电子设备1301的数量可为其他数量,例如两个等,第一电子设备1301和第二电子设备1302显示的界面还可为其他界面,本申请对此不作限制。
资源管控方法可包括:
S901:第一电子设备与第二电子设备进行组网,并建立分布式网络。
在一些实施例中,第一电子设备可通过扫描第二电子设备上的二维码而与第二电子设备进行组网。分布式网络可为Mesh网络、蓝牙网络,Wi-Fi网络等,本申请对此不作限制。可理解,第一电子设备与第二电子设备进行组网的方式还可为其他方式,本申请对此不作限制。
在一些实施例中,在第一电子设备与第二电子设备组网成功时,第一电子设备的软总线和第二电子设备的软总线可根据预设设备ID生成规则分别为第一电子设备和第二电子设备分配相应的设备ID。在一些实施例中,在第一电子设备与第二电子设备组网成功后,第二电子设备发送上线消息至第一电子设备。上线消息包括第二电子设备的设备ID。
S902:第一电子设备接收启动游戏应用A1的指令,并根据启动游戏应用A1的指令启动游戏应用A1。
当用户想要通过第一电子设备在第二电子设备上玩游戏时,用户可操作第一电子设备上显示的游戏应用A1的应用图标,从而生成启动游戏应用A1的指令。响应于启动游戏应用A1的指令,第一电子设备启动游戏应用A1,并显示游戏应用A1的界面。通常情况下,具有可视的显示界面的应用程序可以具有对应的应用图标,而不具有可视的显示界面的应用程序不具有对应的应用图标。
在一些实施例中,在启动游戏应用A1后,第一电子设备可采用第一管控方式对游戏应用A1进行管控。第一管控方式为前台普通的管控方式。
通过上述的组网和启动游戏应用A1后,便可进行下面描述的游戏应用A1调用游戏应用A2时使用的资源的管控:
S903:当第一电子设备上的游戏应用A1发起对第二电子设备上的游戏应用A2的分布式调度,第一电子设备的游戏应用A1输出分布式调度请求至第二电子设备。
在一些实施例中,当用户想要通过第一电子设备上的游戏应用A1操控第二电子设备上的游戏应用A2时,用户可操作显示在第一电子设备上处于前台运行状态的游戏应用A1的界面中的调度功能。响应于对调度功能的操作,第一电子设备上的游戏应用A1发起对第二电子设备上的游戏应用A2的分布式调度。分布式调度请求包括第一电子设备的设备ID和第二电子设备的设备ID,本申请对此不作限制。在一些实施例中,第一电子设备的游戏应用A1可通过第一分布式调度模块及第一软总线传送分布式调度请求至第二电子设备的第二软总线。第二电子设备的第二软总线可通过第二分布式调度模块将分布式调度请求传送至游戏应用A2,使得游戏应用A2可以响应或者不响应游戏应用A1发起的分布式调度,从而游戏应用A1可以调用或者不调用游戏应用A2。
在一些实施例中,第一分布式调度模块在传送分布式调度请求时,还可将分布式调度请求序列化,再发送给第一软总线。将分布式调度请求序列化的过程可以为将分布式调度请求的状态信息转换为可以存储 或传输的形式的过程。在将分布式调度请求序列化期间,可将分布式调度请求的当前状态写入到临时或持久性存储区。此后,可以通过从存储区中读取或反序列化对象的状态,重新创建分布式调度请求。
在一些实施例中,第二分布式调度模块在传送分布式调度请求时,可解析序列化后的分布式调度请求,再将解析后得到的分布式调度请求发送至游戏应用A2。其中,解析序列化后的分布式调度请求为反序列化过程,从而可重新创建分布式调度请求。
S904:第二电子设备检测到游戏应用A1调用游戏应用A2。
在一些实施例中,第二电子设备的第二分布式调度模块根据分布式调度的返回值检测游戏应用A1是否调用游戏应用A2。例如,当分布式调度的返回值为OK时,则第二分布式调度模块检测到游戏应用A1调用游戏应用A2。否则,第二分布式调度模块检测到游戏应用A1没有调用游戏应用A2。
在一些实施例中,当游戏应用A1没有调用游戏应用A2时,流程结束,本申请对此不作限制。
S905:第二电子设备将调用的结果返回至第一电子设备。
在一些实施例中,第二电子设备的第二分布式调度模块将调用的结果通过第二软总线返回至第一电子设备的第一软总线。第一电子设备的第一软总线通过第一分布式调度模块将调用的结果传送至第一管控模块。
在一些实施例中,调用的结果包括游戏应用A1的基本信息、游戏应用A1的运行状态信息(status),第一电子设备的设备ID(device ID),游戏应用A2的基本信息,游戏应用A2的运行状态信息及第二电子设备的设备ID等,本申请对此不作限制。
在一些实施例中,基本信息可为包名、应用标识符(UID)及进程标识(PID),本申请对此不作限制。基本信息可以唯一的标识正在运行的应用程序。运行状态信息可为前台运行状态或者后台运行状态。在一些实施例中,游戏应用A1调用游戏应用A2时,游戏应用A1的运行状态信息为前台运行状态,游戏应用A2的运行状态信息为前台运行状态。
在一些实施例中,第二软总线通过分布式网络将调用的结果发送至第一电子设备的第一软总线。
在一些实施例中,第二分布式调度模块在将调用的结果返回至第一电子设备的第一软总线之前,还序列化调用的结果,从而第一分布式调度模块在接收到序列化的调用的结果之后,还解析序列化的调用的结果,来重新创建调用的结果,本申请对此不作限制。
S906:第一电子设备根据调用的结果建立游戏应用A1与游戏应用A2的第一关联关系。
在一些实施例中,第一电子设备的第一管控模块根据调用的结果建立游戏应用A1与游戏应用A2的第一关联关系。
在一些实施例中,第一电子设备还存储第一关联关系。在一些实施例中,第一电子设备的第一管控模块还存储第一关联关系。
在一些实施例中,第一关联关系包括游戏应用A1的基本信息,游戏应用A1的运行状态信息,第一电子设备的设备ID,游戏应用A2的基本信息,游戏应用A2的运行状态信息,及第二电子设备的设备ID。例如,游戏应用A1的基本信息为包名1,UID 1和PID 1,第一电子设备的设备ID为device ID 1,游戏应用A2的基本信息为包名2,UID 2和PID 2,第二电子设备的设备ID为device ID 2,则第一关联关系为:包名1,UID 1,PID 1,前台运行状态,device ID 1;包名2,UID 2,PID 2,前台运行状态,device ID 2。
S907:第一电子设备根据第一关联关系对游戏应用A1采用第二管控方式进行管控。
在一些实施例中,第一电子设备的第一管控模块根据第一关联关系对游戏应用A1采用第二管控方式进行管控。
在一些实施例中,第二管控方式对资源的管控程度可小于第一管控方式对资源的管控程度。对游戏应用A1采用第二管控方式进行管控可为提高游戏应用A1的进程的优先级,锁优先级,或者提高中央处理器(CPU)、图形处理器(GPU)、双倍速率同步动态随机存储器(DDR)中至少一个的频率以处理游戏应用A1等。其中,锁优先级代表游戏应用A1的进程优先竞争到锁。对游戏应用A1采用第二管控方式进行管控还可为将游戏应用A1的进程从第一电子设备的第一处理器迁移至第一电子设备的第二处理器中等,第二处理器的运行速率高于第一处理器的运行速率,本申请对此不作限制。从而,在分布式游戏场景下,可为分布式前台运行的游戏应用A1提供足够的资源,可提高游戏应用A1的运行速度,避免了在多个应用程序同时运行时游戏应用A1的卡顿,提升用户的性能体验。
在其他的一些实施例中,第二管控方式对资源的管控程度可等于第一管控方式对资源的管控程度。则, 处于前台运行状态的游戏应用A1在分布式游戏场景下使用的资源与不在分布式场景下使用的资源相同。
S908:第二电子设备根据调用的结果建立游戏应用A1与游戏应用A2的第三关联关系。
在一些实施例中,第二电子设备的第二分布式调度模块上报调用的结果至第二管控模块。第二管控模块根据调用的结果建立游戏应用A1与游戏应用A2的第三关联关系。
第二管控模块根据调用的结果建立游戏应用A1与游戏应用A2的第三关联关系的过程与第一管控模块根据上报的调用的结果建立游戏应用A1与游戏应用A2的第一关联关系的过程相似,在此不再赘述。
在一些实施例中,第二电子设备还存储第三关联关系。在一些实施例中,第二电子设备的第二管控模块还存储第三关联关系。
S909:第二电子设备根据第三关联关系对游戏应用A2采用第二管控方式进行管控。
在一些实施例中,第二电子设备的第二管控模块根据第三关联关系对游戏应用A2采用第二管控方式进行管控。
在一些实施例中,对游戏应用A2采用第二管控方式进行管控可为提高游戏应用A2的进程的优先级,锁优先级,或者提高中央处理器(CPU)、图形处理器(GPU)、双倍速率同步动态随机存储器(DDR)中至少一个的频率以处理游戏应用A2等。其中,锁优先级代表游戏应用A2的进程优先竞争到锁。对游戏应用A2采用第二管控方式进行管控还可为将游戏应用A2的进程从第一电子设备的第一处理器迁移至第一电子设备的第二处理器中,第二处理器的运行速率高于第一处理器的运行速率,本申请对此不作限制。从而,在分布式游戏场景下,可为分布式前台运行的游戏应用A2提供足够的资源,可提高游戏应用A2的运行速度,避免了在多个应用程序同时运行时游戏应用A2的卡顿,提升用户的性能体验。
在其他的一些实施例中,处于前台运行状态的游戏应用A2在分布式游戏场景下使用的资源与不在分布式场景下使用的资源相同。
在一些实施例中,当第一电子设备的游戏应用A1从前台运行状态切换至后台运行状态,现有的电子设备可能会清理游戏应用A1。对此,参考图10,本申请实施例还提供了另一种资源管控方法,该方法可以包括:
S1001:当第一电子设备上的游戏应用A1从前台运行状态切换至后台运行状态时,第一电子设备输出游戏应用A1切换至后台运行状态的信息至第二电子设备。
在一些实施例中,当用户想要将游戏应用A1从前台运行状态切换至后台运行状态时,用户可通过第一预设操作,例如在游戏应用A1的界面上从第一电子设备的屏幕底部边缘开始向上滑动。响应于第一预设操作,游戏应用A1被切换至后台运行状态。可理解,游戏应用A1从前台运行状态切换至后台运行状态的方式还可为其他方式,本申请对此不作限制。
在一些实施例中,游戏应用A1通过第一分布式调度模块和第一软总线输出游戏应用A1切换至后台运行状态的信息至第二电子设备的第二软总线。第二电子设备的第二软总线可通过第二分布式调度模块将游戏应用A1切换至后台运行状态的信息传送至第二管控模块。
在一些实施例中,第一分布式调度模块在传送游戏应用A1切换至后台运行状态的信息时,可将游戏应用A1切换至后台运行状态的信息序列化,再发送给第一软总线。在一些实施例中,将游戏应用A1切换至后台运行状态的信息序列化为将游戏应用A1切换至后台运行状态的信息的状态信息转换为可以存储或传输的形式的过程。在将游戏应用A1切换至后台运行状态的信息序列化期间,可将游戏应用A1切换至后台运行状态的信息的当前状态写入到临时或持久性存储区。此后,可以通过从存储区中读取或反序列化游戏应用A1切换至后台运行状态的信息的状态,重新创建游戏应用A1切换至后台运行状态的信息。
在一些实施例中,第二分布式调度模块在传送游戏应用A1切换至后台运行状态的信息时,可解析序列化后的游戏应用A1切换至后台运行状态的信息,并将解析后得到的游戏应用A1切换至后台运行状态的信息上报至第二管控模块。其中,解析序列化后的分布式调度请求为反序列化过程,从而可重新创建游戏应用A1切换至后台运行状态的信息。
S1002:第二电子设备根据游戏应用A1切换至后台运行状态的信息更新第三关联关系为第四关联关系。
在一些实施例中,第二电子设备的第二管控模块根据游戏应用A1切换至后台运行状态的信息更新第三关联关系为第四关联关系。在一些实施例中,第二管控模块根据游戏应用A1切换至后台运行状态的信息查找与游戏应用A1匹配的第三关联关系,并根据游戏应用A1切换至后台运行状态的信息更新第三关 联关系中的游戏应用A1的运行状态信息为后台运行状态,从而可将第三关联关系更新为第四关联关系。在一些实施例中,第二管控模块通过包名,UID和PID查找与游戏应用A1匹配的第三关联关系。继续以上述的游戏应用A1和游戏应用A2的基本信息的例子为例,第四关联关系可为例如:包名1,UID 1,PID 1,后台运行状态,device ID 1;包名2,UID 2,PID 2,前台运行状态,device ID 2。
在一些实施例中,第二电子设备还存储第四关联关系。在一些实施例中,第二电子设备的第二管控模块还存储第四关联关系。
S1003:第二电子设备根据第四关联关系对游戏应用A2采用第二管控方式进行管控。
在一些实施例中,第二电子设备的第二管控模块根据第四关联关系对游戏应用A2采用第二管控方式进行管控。在一些实施例中,在第四关联关系中,游戏应用A1为后台运行状态,游戏应用A2为前台运行状态。此时,第一电子设备的游戏应用A1与第二电子设备的游戏应用A2仍存在分布式关联关系,则可通过第二管控模块对游戏应用A2采用第二管控方式进行管控。从而,可为分布式前台运行的游戏应用A2提供足够的资源,可提高游戏应用A2的运行速度,避免了在多个应用程序同时运行时游戏应用A2的卡顿,提升用户的性能体验。
S1004:第一电子设备根据游戏应用A1切换至后台运行状态的信息更新第一关联关系为第二关联关系。
在一些实施例中,第一电子设备的第一分布式调度模块上报游戏应用A1切换至后台运行状态的信息至第一管控模块。第一管控模块根据游戏应用A1切换至后台运行状态的信息更新第一关联关系为第二关联关系。
可理解,在分布式游戏场景下,只要第二电子设备没有下线,第一电子设备的第一软总线和第二电子设备的第二软总线之间形成的数据传输通道不会断开,则游戏应用A1输出的游戏应用A1切换至后台运行状态的信息可以传输至第二电子设备,此时无需第二电子设备返回传输的结果至第一电子设备的第一分布式调度模块。
在一些实施例中,第一管控模块根据游戏应用A1切换至后台运行状态的信息更新第一关联关系为第二关联关系的过程与第二管控模块根据游戏应用A1切换至后台运行状态的信息更新第三关联关系为第四关联关系的过程相似,在此不再赘述。在一些实施例中,第一管控模块还存储第二关联关系。
S1005:第一电子设备根据第二关联关系保活游戏应用A1。
在一些实施例中,第一电子设备的第一管控模块根据第二关联关系保活游戏应用A1。在第二关联关系中,游戏应用A1为后台运行状态,游戏应用A2为前台运行状态。此时,第一电子设备的游戏应用A1与第二电子设备的游戏应用A2仍存在分布式关联关系,游戏应用A1为用户可能会再次启用的程序,则第一管控模块可保活游戏应用A1。
在一些实施例中,第一管控模块根据第二关联关系采用第三管控方式保活游戏应用A1。在一些实施例中,第三管控方式对资源的管控程度可等于第一管控方式对资源的管控程度,则第一管控模块允许游戏应用A1正常使用资源。
在其他的一些实施例中,第三管控方式对资源的管控程度可大于第一管控方式对资源的管控程度。采用第三管控方式保活游戏应用A1可为提高游戏应用A1的进程的优先级,或者将游戏应用A1的进程排在可杀进程列表的最后面等。从而,在游戏应用A1处于后台运行状态时,可保活游戏应用A1,使得处于后台运行状态的游戏应用A1不会被系统清理,则后续用户需要继续游戏时,可以直接将游戏应用A1从后台运行状态切换至前台运行状态,无需再重新执行一次扫码,组网流程,及调用流程。
参考图11,在一些实施例中,资源管控方法还可以包括:
S1101:当第一电子设备上的游戏应用A1结束时,第一电子设备监听到游戏应用A1结束。
在一些实施例中,当用户想要关闭后台运行的游戏应用A1时,用户可通过第二预设操作,例如在主界面上从第一电子设备的屏幕底部边缘开始向上滑动至屏幕中间。响应于第二预设操作,第一电子设备进入多任务的界面。多任务的界面至少可以显示处于运行状态的应用程序的任务缩略图。在多任务的界面中,用户可按住游戏应用A1的任务缩略图并向上滑动,就可使得游戏应用A1退出运行,处于未运行状态。可理解,游戏应用A1退出运行的方式还可为其他方式,本申请对此不作限制。
在一些实施例中,第一电子设备的第一分布式调度模块可监听到游戏应用A1结束。第一分布式调度模块可以通过Binder对象死亡通知机制来监听第一应用程序的结束,本申请对此不作限制。
在一些实施例中,Binder代理对象可向Binder驱动注册Binder代理对象所引用的游戏应用A1死亡接收通知。在Binder代理对象向Binder驱动注册Binder代理对象所引用的游戏应用A1死亡接收通知之前,Binder代理对象可先定义第一分布式调度模块为死亡通知接受对象。Binder代理对象监控到所引用的游戏应用A1结束时,Binder驱动可发送一个游戏应用A1死亡通知至第一分布式调度模块。从而,第一分布式调度模块可监听到游戏应用A1结束。
S1102:第一电子设备输出游戏应用A1结束的信息至第二电子设备。
在一些实施例中,第一电子设备的第一分布式调度模块通过第一软总线将游戏应用A1结束的信息传输至第二电子设备的第二软总线。第二电子设备的第二软总线可通过第二分布式调度模块将游戏应用A1结束的信息传送至第二管控模块。
在一些实施例中,第一分布式调度模块在传送游戏应用A1结束的消息时,可将游戏应用A1结束的信息序列化,再发送给第一软总线。在一些实施例中,将游戏应用A1结束的信息序列化为将游戏应用A1结束的信息转换为可以存储或传输的形式的过程。在将游戏应用A1结束的信息序列化期间,可将游戏应用A1结束的信息的当前状态写入到临时或持久性存储区。此后,可以通过从存储区中读取或反序列化对象的状态,重新创建游戏应用A1结束的信息。
在一些实施例中,第二分布式调度模块在传送分布式调度请求时,可解析序列化后的游戏应用A1结束的信息,再将解析后得到的游戏应用A1结束的信息上报至第二管控模块。其中,解析序列化后的游戏应用A1结束的信息为反序列化过程,从而可重新创建游戏应用A1结束的信息。
S1103:第二电子设备根据游戏应用A1结束的信息删除第四关联关系。
在一些实施例中,第二电子设备的第二管控模块根据游戏应用A1结束的信息删除第四关联关系。在一些实施例中,第二管控模块根据游戏应用A1结束的信息查找与游戏应用A1匹配的第四关联关系,并删除第四关联关系。在一些实施例中,第二管控模块通过包名,UID和PID查找与游戏应用A1匹配的第四关联关系。
S1104:第二电子设备对游戏应用A2采用第一管控方式进行管控。
在一些实施例中,第二电子设备的第二管控模块对游戏应用A2采用第一管控方式进行管控。在一些实施例中,第二电子设备内不存在第四关联关系,则游戏应用A2和游戏应用A1不再存在关联关系,处于前台运行状态的游戏应用A2不再处于分布式场景下,此时可直接对游戏应用A2进行前台普通的资源管控。
S1105:第一电子设备根据游戏应用A1结束的信息删除第二关联关系。
在一些实施例中,第一电子设备的第一分布式调度模块上报游戏应用A1结束的信息至第一管控模块。第一管控模块根据游戏应用A1结束的信息删除第二关联关系。
在一些实施例中,第一管控模块根据游戏应用A1结束的信息查找与游戏应用A1匹配的第二关联关系,并删除第二关联关系。在一些实施例中,第一管控模块通过包名,UID和PID查找与游戏应用A1匹配的第二关联关系。从而,第一电子设备内不存在第二关联关系,后续在游戏应用A1再重新启动时,第一管控模块会直接对游戏应用A1采用第一管控方式进行管控。
参考图12,在一些实施例中,资源管控方法还可以包括:
S1201:当第一电子设备检测第二电子设备下线,第一电子设备删除与第二电子设备相关的关联关系。
在一些实施例中,第一电子设备可通过第一电子设备的第一软总线检测第二电子设备下线。当第一软总线检测第二电子设备下线,第一软总线可通过第一分布式调度模块输出第二电子设备下线的信息至第一管控模块。第一管控模块根据第二电子设备下线的信息删除与第二电子设备相关的关联关系。
在一些实施例中,第一电子设备的第一软总线会定时向第二电子设备的第二软总线发送心跳包。若第一软总线超过预设时间没有收到回复数据,则第一软总线检测到第二电子设备下线。可理解,第一软总线检测第二电子设备下线的方式还可为其他方式,本申请对此不作限制。
在一些实施例中,第一管控模块可根据第二电子设备下线的信息查找与第二电子设备匹配的关联关系,并删除匹配的关联关系。则,第一管控模块可删除与第二电子设备相关的关联关系。
S1202:第一电子设备对游戏应用A1采用第五管控方式进行管控。
在一些实施例中,第一电子设备的第一管控模板对游戏应用A1采用第五管控方式进行管控。在一些实施例中,第一电子设备内不存在与第二电子设备相关的关联关系,则游戏应用A2和游戏应用A1不再 存在关联关系,处于后台运行状态的游戏应用A2不再处于分布式场景下,可对游戏应用A1采用第五管控方式进行管控,从而可降低第一电子设备的资源消耗和功耗。
在一些实施例中,第五管控方式对资源的管控程度可大于第三管控方式对资源的管控程度。第五管控方式可为限制应用程序使用资源。在一些实施例中,对游戏应用A1采用第五管控方式进行管控可为降低游戏应用A1的进程的优先级,在系统内存低于预设内存值时冻结游戏应用A1,或者在系统内存低于预设内存值时清理游戏应用A1等。
可理解,步骤S907和步骤S909可省略,本申请对此不作限制。
可理解,第一电子设备上的游戏应用A1也可从后台运行状态切换至前台运行状态。此时,游戏应用A1切换至前台运行状态的信息的传输过程和关联关系的更新过程分别与上述的步骤S1001-S1002和步骤S1004相似,第一管控模块和第二管控模块的管控过程与上述的步骤S907和步骤S909相似,在此不再赘述。
可理解,步骤S908-S909可在步骤S905之前,或者步骤S908-S909可与步骤S905同时执行,本申请对此不作限制。
可理解,当第一电子设备上的游戏应用A1从前台运行状态切换至后台运行状态时,可先执行步骤S1004-S1005,再第一电子设备输出游戏应用A1切换至后台运行状态的信息至第二电子设备;或者步骤S1004-S1005与第一电子设备输出游戏应用A1切换至后台运行状态的信息至第二电子设备同时执行,本申请对此不作限制。
可理解,步骤S1105可在步骤S1102之前,或者步骤S1105可与步骤S1102同时执行,本申请对此不作限制。
可理解,图9-12所示的资源管控方法不仅可应用于分布式游戏场景,还可应用于分布式计算场景。在分布式计算场景下,如图14所示,第一电子设备1401可为智能手表,第二电子设备1402可为手机。第一电子设备1401内安装的第一应用程序和第二电子设备1402内安装的第二应用程序可为计算类应用程序。例如第一电子设备1401内安装计算应用C1,第二电子设备1402内安装计算应用C2。第一电子设备1401的计算应用C1可调用第二电子设备1402的计算应用C2,并与第二电子设备1402的计算应用C2互相通信。从而,第一电子设备1401可将计算任务发送给第二电子设备1402进行计算,从而可将能耗较高的计算需求转移到第二电子设备1402进行处理。可理解,图14是分布式计算场景的一种示例,第一电子设备1401和第二电子设备1402显示的界面还可为其他界面,本申请对此不作限制。
应用于分布式计算场景的资源管控方法与应用于分布式游戏场景的资源管控方法相似,不同之处在于:
在分布式计算场景下,为计算应用C1调用计算应用C2。在第一电子设备的计算应用C1调用第二电子设备的计算应用C2时,计算应用C1处于前台运行状态,且计算应用C2处于后台运行状态,则第一关联关系和第三关联关系中的计算应用C1的运行状态信息均为前台运行状态,而计算应用C2的运行状态信息均为后台运行状态。第一电子设备的第一管控模块根据第一关联关系对计算应用C1采用第二管控方式进行管控,第二电子设备的第二管控模块根据第三关联关系采用第三管控方式保活计算应用C2。
在计算应用C1从前台运行状态切换至后台运行状态时,第二关联关系和第四关联关系中的计算应用C1的运行状态信息均为后台运行状态,且计算应用C2的运行状态信息也均为后台运行状态。第一电子设备的第一管控模块根据第二关联关系采用第四管控方式保活计算应用C1,第二电子设备的第二管控模块根据第四关联关系采用第四管控方式保活计算应用C2。第四管控方式对资源的管控程序可大于第三管控方式对资源的管控程度,但小于第五管控方式对资源的管控程度。例如,采用第四管控方式保活计算应用C1可为在预定时间(例如3分钟等)内保活计算应用C1。即,在预定时间内提高计算应用C1的进程的优先级,或者将计算应用C1的进程排在可杀进程列表的最后面等。在一些实施例中,采用第四管控方式保活计算应用C1还可为相较于第三管控方式进一步降低计算应用C1的进程的优先级等,本申请对此不作限制。
在计算应用C1结束时,第二管控模块对计算应用C2采用第五管控方式进行管控,本申请对此不作限制。
可理解,第一电子设备上的计算应用C1也可从后台运行状态切换至前台运行状态。在计算应用C1切换至前台运行状态时,第一管控模块对计算应用C1采用第二管控方式进行资源管控,第二管控模块采 用第三管控方式保活计算应用C2,本申请对此不作限制。
可理解,图9-12所示的资源管控方法还可应用于其他的分布式场景,本申请对此不作限制。
图15为本申请实施例提供的另一资源管控方法的流程图。方法包括:
S1501:第一电子设备显示第一应用程序的界面。
S1502:第一电子设备响应于对第一应用程序的操作,调用关联的第二电子设备的第二应用程序,并建立第一应用程序和第二应用程序的第一关联关系;第一关联关系包括第一应用程序处于前台运行状态。
S1503:当第一应用程序从前台运行状态切换至后台运行状态,第一电子设备更新第一关联关系为第二关联关系;第二关联关系包括第一应用程序处于后台运行状态。
S1504:根据第二关联关系,第一电子设备保活第一应用程序。
在一些实施例中,在第一电子设备响应于对第一应用程序的操作,调用关联的第二电子设备的第二应用程序之前,方法还包括:第一电子设备采用第一管控方式对第一应用程序进行管控;在当第一应用程序从前台运行状态切换至后台运行状态,第一电子设备更新第一关联关系为第二关联关系之前,方法还包括:第一电子设备采用第二管控方式对第一应用程序进行管控,第二管控方式对资源的管控程度小于第一管控方式对资源的管控程度。
在一些实施例中,根据第二关联关系,第一电子设备保活第一应用程序包括:当第二应用程序处于前台运行状态,第一电子设备采用第三管控方式保活第一应用程序,第三管控方式对资源的管控程度大于第一管控方式对资源的管控程度。
在一些实施例中,根据第二关联关系,第一电子设备保活第一应用程序还包括:当第二应用程序处于后台运行状态,第一电子设备采用第四管控方式保活第一应用程序,第四管控方式对资源的管控程度大于第三管控方式对资源的管控程度。
在一些实施例中,当第一电子设备接收第二电子设备发送的第二应用程序结束的消息,或者当第一电子设备检测第二电子设备下线,第一电子设备删除第二关联关系,并采用第五管控方式对第一应用程序进行管控,第五管控方式对资源的管控程度大于第四管控方式对资源的管控程度。
在一些实施例中,采用第二管控方式对第一应用程序进行管控包括:提高第一应用程序的进程的优先级;或者,锁优先级;或者,提高中央处理器、图形处理器、双倍速率同步动态随机存储器中至少一个的频率以处理第一应用程序。
在一些实施例中,采用第三管控方式保活第一应用程序包括:提高第一应用程序的进程的优先级;或者,将第一应用程序的进程排在可杀进程列表的最后面。
在一些实施例中,采用第四管控方式保活第一应用程序包括:在预设时间内保活第一应用程序。在一些实施例中,采用第五管控方式对第一应用程序进行管控包括:降低第一应用程序的进程的优先级;或者,在系统内存低于预设内存值时冻结第一应用程序;或者,在系统内存低于预设内存值时清理第一应用程序。
在一些实施例中,方法还包括:当第一电子设备监听到第一应用程序结束,第一电子设备删除第二关联关系。
在一些实施例中,建立第一应用程序和第二应用程序的第一关联关系包括:接收第二电子设备发送的调用的结果;根据结果建立第一应用程序和第二应用程序的第一关联关系。
除以上方法和设备外,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有程序,程序使得电子设备实现图15所示的方法。
一种计算机程序产品,计算机程序产品包括计算机执行指令,计算机执行指令存储在计算机可读存储介质中;电子设备的至少一个处理器可以从计算机可读存储介质中读取计算机执行指令,至少一个处理器执行计算机执行指令使得电子设备执行图15所示的方法。
本案通过第一电子设备显示第一应用程序的界面,并响应于对第一应用程序的操作,调用关联的第二电子设备的第二应用程序并建立第一应用程序和第二应用程序的第一关联关系,并在第一应用程序从前台运行状态切换至后台运行状态时,更新第一关联关系为第二关联关系,及根据第二关联关系保活第一应用程序,从而可避免分布式场景下分布式应用后台运行时被清理掉的情况。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现 同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。

Claims (14)

  1. 一种资源管控方法,其特征在于,所述方法包括:
    第一电子设备显示第一应用程序的界面;
    所述第一电子设备响应于对所述第一应用程序的操作,调用关联的第二电子设备的第二应用程序,并建立所述第一应用程序和所述第二应用程序的第一关联关系;所述第一关联关系包括所述第一应用程序处于前台运行状态;
    当第一应用程序从所述前台运行状态切换至后台运行状态,所述第一电子设备更新所述第一关联关系为第二关联关系;所述第二关联关系包括所述第一应用程序处于所述后台运行状态;
    根据所述第二关联关系,所述第一电子设备保活所述第一应用程序。
  2. 如权利要求1所述的方法,其特征在于,
    在所述第一电子设备响应于对所述第一应用程序的操作,调用关联的第二电子设备的第二应用程序之前,所述方法还包括:
    所述第一电子设备采用第一管控方式对所述第一应用程序进行管控;
    在所述当第一应用程序从所述前台运行状态切换至后台运行状态,所述第一电子设备更新所述第一关联关系为第二关联关系之前,所述方法还包括:
    所述第一电子设备采用第二管控方式对所述第一应用程序进行管控,所述第二管控方式对资源的管控程度小于所述第一管控方式对所述资源的管控程度。
  3. 如权利要求2所述的方法,其特征在于,所述根据所述第二关联关系,所述第一电子设备保活所述第一应用程序,包括:
    当所述第二应用程序处于所述前台运行状态,所述第一电子设备采用第三管控方式保活所述第一应用程序,所述第三管控方式对所述资源的管控程度大于所述第一管控方式对所述资源的管控程度。
  4. 如权利要求3所述的方法,其特征在于,所述根据所述第二关联关系,所述第一电子设备保活所述第一应用程序,还包括:
    当所述第二应用程序处于所述后台运行状态,所述第一电子设备采用第四管控方式保活所述第一应用程序,所述第四管控方式对所述资源的管控程度大于所述第三管控方式对所述资源的管控程度。
  5. 如权利要求4所述的方法,其特征在于,所述方法还包括:
    当所述第一电子设备接收所述第二电子设备发送的所述第二应用程序结束的消息,或者当所述第一电子设备检测所述第二电子设备下线,所述第一电子设备删除所述第二关联关系,并采用第五管控方式对所述第一应用程序进行管控,所述第五管控方式对所述资源的管控程度大于所述第四管控方式对所述资源的管控程度。
  6. 如权利要求2至5任一项所述的方法,其特征在于,所述采用第二管控方式对所述第一应用程序进行管控包括:
    提高所述第一应用程序的进程的优先级;
    或者,锁优先级;
    或者,提高中央处理器、图形处理器、双倍速率同步动态随机存储器中至少一个的频率以处理所述第一应用程序。
  7. 如权利要求3至5任一项所述的方法,其特征在于,所述采用第三管控方式保活所述第一应用程序,包括:
    提高所述第一应用程序的进程的优先级;
    或者,将所述第一应用程序的进程排在可杀进程列表的最后面。
  8. 如权利要求4至5任一项所述的方法,其特征在于,所述采用第四管控方式保活所述第一应用程序,包括:
    在预设时间内保活所述第一应用程序。
  9. 如权利要求5所述的方法,其特征在于,所述采用第五管控方式对所述第一应用程序进行管控,包括:
    降低所述第一应用程序的进程的优先级;
    或者,在系统内存低于预设内存值时冻结所述第一应用程序;
    或者,在系统内存低于所述预设内存值时清理所述第一应用程序。
  10. 如权利要求1至9任一项所述的方法,其特征在于,所述方法还包括:
    当所述第一电子设备监听到所述第一应用程序结束,所述第一电子设备删除所述第二关联关系。
  11. 如权利要求1至10任一项所述的方法,其特征在于,所述建立所述第一应用程序和所述第二应用程序的第一关联关系,包括:
    接收所述第二电子设备发送的所述调用的结果;
    根据所述结果建立所述第一应用程序和所述第二应用程序的所述第一关联关系。
  12. 一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器用于存储程序指令,所述处理器调用所述存储指令时,实现如权利要求1至11任一项所述的资源管控方法。
  13. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序,所述程序使得电子设备实现如权利要求1至11任一项所述的资源管控方法。
  14. 一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机执行指令,所述计算机执行指令存储在计算机可读存储介质中;电子设备的至少一个处理器可以从所述计算机可读存储介质中读取所述计算机执行指令,所述至少一个处理器执行所述计算机执行指令使得所述电子设备执行如权利要求1至11任一项所述的资源管控方法。
PCT/CN2023/111326 2022-08-12 2023-08-04 资源管控方法、电子设备、存储介质及程序产品 WO2024032513A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210965984.1A CN117632393A (zh) 2022-08-12 2022-08-12 资源管控方法、电子设备、存储介质及程序产品
CN202210965984.1 2022-08-12

Publications (1)

Publication Number Publication Date
WO2024032513A1 true WO2024032513A1 (zh) 2024-02-15

Family

ID=89850749

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/111326 WO2024032513A1 (zh) 2022-08-12 2023-08-04 资源管控方法、电子设备、存储介质及程序产品

Country Status (2)

Country Link
CN (1) CN117632393A (zh)
WO (1) WO2024032513A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014107506A1 (de) * 2014-05-27 2015-12-03 Lonexx GmbH Verfahren zum Austausch von Nutzdaten zwischen mobilen Endgeräten
CN110806926A (zh) * 2019-09-05 2020-02-18 华为技术有限公司 一种资源管控方法及设备
CN111007995A (zh) * 2019-11-20 2020-04-14 维沃移动通信有限公司 一种数据处理方法及电子设备
CN112799622A (zh) * 2021-01-22 2021-05-14 维沃移动通信(杭州)有限公司 一种应用的控制方法、装置及电子设备
CN113220365A (zh) * 2021-05-07 2021-08-06 维沃移动通信有限公司 控制方法和控制装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014107506A1 (de) * 2014-05-27 2015-12-03 Lonexx GmbH Verfahren zum Austausch von Nutzdaten zwischen mobilen Endgeräten
CN110806926A (zh) * 2019-09-05 2020-02-18 华为技术有限公司 一种资源管控方法及设备
CN111007995A (zh) * 2019-11-20 2020-04-14 维沃移动通信有限公司 一种数据处理方法及电子设备
CN112799622A (zh) * 2021-01-22 2021-05-14 维沃移动通信(杭州)有限公司 一种应用的控制方法、装置及电子设备
CN113220365A (zh) * 2021-05-07 2021-08-06 维沃移动通信有限公司 控制方法和控制装置

Also Published As

Publication number Publication date
CN117632393A (zh) 2024-03-01

Similar Documents

Publication Publication Date Title
EP3547715B1 (en) Method and apparatus for reducing continuous-wakeup delay of bluetooth loudspeaker, and bluetooth loudspeaker
WO2018103484A1 (zh) 直播页面的数据处理方法、装置和系统
CN110300328B (zh) 一种视频播放控制方法、装置及可读存储介质
US20220409999A1 (en) Rendering method and apparatus
CN109343902A (zh) 音频处理组件的运行方法、装置、终端及存储介质
JP7100154B2 (ja) プロセッサコアのスケジューリング方法、装置、端末及び記憶媒体
CN106658064B (zh) 虚拟礼物展示方法及装置
CN114564435A (zh) 异构多核芯片的核间通信方法、装置及介质
US20200409727A1 (en) Graphical user interface redrawing method. terminal device and computer readable storage medium
WO2018086454A1 (zh) 页面数据处理方法和装置
JP6092352B2 (ja) キャッシュコヒーレンシの制御システムと制御方法
TWI668634B (zh) 基於軟體容器提供雲端服務之系統及方法
WO2024032513A1 (zh) 资源管控方法、电子设备、存储介质及程序产品
CN116820527B (zh) 程序升级方法、装置、计算机设备和存储介质
CN113419649A (zh) 用于操作电子装置的方法及其装置
CN111857902B (zh) 应用的显示方法、装置、设备和可读存储介质
CN106550021B (zh) 推送消息的推送方法及装置
CN112114965A (zh) 应用程序的运行方法、装置、终端及存储介质
CN109413180B (zh) 一种数据采集方法、系统及设备和存储介质
CN113965915B (zh) 数据处理方法和电子设备
CN116048757A (zh) 任务处理方法、装置、电子设备和存储介质
WO2022022442A1 (zh) 数据处理方法、装置、智能网卡和服务器
CN113568748B (zh) 一种应用进程处理方法、装置、存储介质及电子设备
US11303595B2 (en) Method and device for displaying text and video in two threads
CN113676504B (zh) 一种低功耗分布式调用方法、设备及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23851734

Country of ref document: EP

Kind code of ref document: A1