Processing method and apparatus, electronic device, storage medium, and program product
By moving tasks from low-priority scheduling groups to high-priority scheduling groups and allocating system resources to high-priority scheduling groups, the problem of insufficient processing power of electronic devices is solved, and response speed and user experience are improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- BEIJING XIAOMI MOBILE SOFTWARE CO LTD
- Filing Date
- 2025-01-20
- Publication Date
- 2026-07-21
AI Technical Summary
Too many applications installed on electronic devices can lead to excessive consumption of system resources, affecting the processing power and response speed of electronic devices and reducing user experience.
By moving tasks associated with user operations from the low-priority first scheduling group to the high-priority second scheduling group, and allocating system resources to the second scheduling group based on scheduling parameters, the response speed and smoothness of tasks are improved.
It improves the responsiveness of electronic devices to user operations, reduces lag, and enhances the smoothness of user operation and overall system performance.
Smart Images

Figure CN122431806A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of smart terminals, and more particularly to an application processing method, apparatus, electronic device, storage medium, and program product. Background Technology
[0002] With the development of electronic technology, electronic devices are becoming increasingly multifunctional. When a large number of applications are installed on an electronic device, it consumes a significant amount of system resources, reducing the device's processing power. Consequently, when users issue interactive commands, the device may not respond promptly, hindering its efficiency and responsiveness and ultimately reducing the user experience. Summary of the Invention
[0003] To overcome the problems in related technologies, this disclosure provides an application processing method, apparatus, electronic device, storage medium, and program product, which enables the electronic device to prioritize the execution of a first task, improves the response speed to the first task, and allocates more system resources to tasks in the second scheduling group, reduces lag when executing the first task, and improves the smoothness of user operation.
[0004] According to a first aspect of the present disclosure, an application processing method is provided, comprising:
[0005] Upon detecting a first operation, a first task associated with the first operation is determined from the first scheduling group;
[0006] The first task is moved from the first scheduling group to the second scheduling group; wherein the priority of the second scheduling group is higher than that of the first scheduling group.
[0007] Based on the scheduling parameters associated with the first operation, system resources are allocated to tasks within the second scheduling group.
[0008] In some embodiments, adjusting the first task from the first scheduling group to the second scheduling group includes:
[0009] Determine the second task associated with the second operation, and the second application that initiates the second task; wherein the second operation is the operation preceding the first operation;
[0010] If the matching degree between the application information of the first application that initiated the first task and the application information of the second application is less than a first threshold, the first task will be moved from the first scheduling group to the second scheduling group.
[0011] In some embodiments, the method further includes:
[0012] If the matching degree between the application information of the first application and the application information of the second application is less than the first threshold, the second task will be moved from the second scheduling group to the first scheduling group.
[0013] In some embodiments, the method further includes:
[0014] If the matching degree between the application information of the first application and the application information of the second application is greater than or equal to the first threshold, the scheduling parameters are determined based on the matching degree between the first task and the second task.
[0015] In some embodiments, the scheduling parameters include: the operating frequency of the hardware processing module and the duration of scheduling based on the operating frequency;
[0016] Determining the scheduling parameters based on the matching degree between the first task and the second task includes:
[0017] If the matching degree between the first task and the second task is less than a second threshold, the hardware processing module is controlled to adjust from a first operating frequency to a second operating frequency until the scheduling time based on the second operating frequency reaches a first duration; wherein, the second operating frequency is greater than the first operating frequency;
[0018] If the matching degree between the first task and the second task is greater than or equal to the second threshold, the hardware processing module is maintained at the second operating frequency until the scheduling time based on the second operating frequency reaches the second duration.
[0019] Wherein, the second duration is longer than the first duration.
[0020] In some embodiments, the method further includes:
[0021] The adjustment value is determined based on the type of the first task and / or the current device status information of the electronic device;
[0022] The second operating frequency is determined based on the adjustment value and the first operating frequency.
[0023] In some embodiments, adjusting the first task from the first scheduling group to the second scheduling group includes:
[0024] If the first application that initiated the first task is in a preset list, the first task is moved from the first scheduling group to the second scheduling group; wherein, the preset list is determined based on the data stored on the target end;
[0025] The method further includes:
[0026] If the first application is not in the preset list, the first task remains in the first scheduling group.
[0027] In some embodiments, the method further includes:
[0028] Obtain the historical tasks associated with each historical operation within a preset time period prior to the first operation;
[0029] The application information of the third application that initiated each of the historical tasks is sent to the target terminal; wherein, after receiving the application information of each of the third applications, the target terminal selects a target application from each of the third applications;
[0030] Obtain application information of the target application from the target terminal, and update the preset list based on the application information of the target application;
[0031] The target applications include: applications with a frequency greater than a preset frequency threshold and / or applications of the target type.
[0032] According to a second aspect of the present disclosure, an application processing apparatus is provided, comprising:
[0033] The task determination module is configured to determine a first task associated with the first operation from a first scheduling group when the first operation is detected.
[0034] The adjustment module is configured to adjust the first task from the first scheduling group to the second scheduling group; wherein the priority of the second scheduling group is higher than the priority of the first scheduling group.
[0035] The scheduling module is configured to allocate system resources to tasks within the second scheduling group based on scheduling parameters associated with the first operation.
[0036] In some embodiments, the adjustment module is specifically configured as follows:
[0037] Determine the second task associated with the second operation, and the second application that initiates the second task; wherein the second operation is the operation preceding the first operation;
[0038] If the matching degree between the application information of the first application that initiated the first task and the application information of the second application is less than a first threshold, the first task will be moved from the first scheduling group to the second scheduling group.
[0039] In some embodiments, the apparatus further includes:
[0040] The clearing module is configured to adjust the second task from the second scheduling group to the first scheduling group when the matching degree between the application information of the first application and the application information of the second application is less than the first threshold.
[0041] In some embodiments, the apparatus further includes:
[0042] The parameter determination module is configured to determine the scheduling parameters based on the matching degree between the first task and the second task when the matching degree between the application information of the first application and the application information of the second application is greater than or equal to the first threshold.
[0043] In some embodiments, the scheduling parameters include: the operating frequency of the hardware processing module and the duration of scheduling based on the operating frequency;
[0044] The parameter determination module is specifically configured as follows:
[0045] If the matching degree between the first task and the second task is less than a second threshold, the hardware processing module is controlled to adjust from a first operating frequency to a second operating frequency until the scheduling time based on the second operating frequency reaches a first duration; wherein, the second operating frequency is greater than the first operating frequency;
[0046] If the matching degree between the first task and the second task is greater than or equal to the second threshold, the hardware processing module is maintained at the second operating frequency until the scheduling time based on the second operating frequency reaches the second duration.
[0047] Wherein, the second duration is longer than the first duration.
[0048] In some embodiments, the apparatus further includes:
[0049] The frequency determination module is configured to determine an adjustment value based on the type of the first task and / or the current device status information of the electronic device.
[0050] The second operating frequency is determined based on the adjustment value and the first operating frequency.
[0051] In some embodiments, the adjustment module is further configured to:
[0052] If the first application that initiated the first task is in a preset list, the first task is moved from the first scheduling group to the second scheduling group; wherein, the preset list is determined based on the data stored on the target end;
[0053] The device further includes:
[0054] The control module is configured to maintain the first task in the first scheduling group when the first application is not in the preset list.
[0055] In some embodiments, the apparatus further includes:
[0056] The acquisition module is configured to acquire historical tasks associated with each historical operation within a preset time period prior to the first operation;
[0057] The sending module is configured to send application information of the third application that initiated each of the historical tasks to the target terminal; wherein, after receiving the application information of each of the third applications, the target terminal selects a target application from each of the third applications;
[0058] The execution module is configured to obtain application information of the target application from the target terminal, and update the preset list based on the application information of the target application;
[0059] The target applications include: applications with a frequency greater than a preset frequency threshold and / or applications of the target type.
[0060] According to a third aspect of the present disclosure, an electronic device is provided, comprising:
[0061] processor;
[0062] Memory used to store computer programs or instructions;
[0063] The processor executes the computer program or instructions to implement the steps in any of the application processing methods in the first aspect described above.
[0064] According to a fourth aspect of the present disclosure, a non-transitory computer-readable storage medium is provided, comprising:
[0065] When the computer program or instructions in the storage medium are executed by the processor, the steps in any of the application processing methods in the first aspect described above are implemented.
[0066] According to a fifth aspect of the present disclosure, a computer program product is provided, including a computer program or instructions, which, when executed by a processor, implement the steps of any of the application processing methods in the first aspect described above.
[0067] The technical solutions provided by the embodiments of this disclosure may include the following beneficial effects:
[0068] In this embodiment of the disclosure, upon detecting a first operation, a first task associated with the first operation is determined from a first scheduling group; the first task is moved from the first scheduling group to a second scheduling group; wherein the priority of the second scheduling group is higher than that of the first scheduling group; and system resources are allocated to the tasks in the second scheduling group based on the scheduling parameters associated with the first operation.
[0069] On the one hand, by adjusting the first task associated with the user operation to the second scheduling group with higher priority, electronic devices can execute the first task first, thereby improving the response speed for the first task. On the other hand, based on the scheduling parameters associated with the first operation, more system resources can be allocated to tasks in the second scheduling group, reducing lag when executing the first task and improving the smoothness of user operation.
[0070] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description
[0071] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.
[0072] Figure 1 This is a flowchart illustrating an application processing method according to an exemplary embodiment. Figure 1 ;
[0073] Figure 2 This is a schematic diagram illustrating the framework of an application processing method according to an exemplary embodiment;
[0074] Figure 3 This is a flowchart illustrating an application processing method according to an exemplary embodiment. Figure 2 ;
[0075] Figure 4 This is a flowchart illustrating an application processing method according to an exemplary embodiment. Figure 3 ;
[0076] Figure 5 This is a block diagram illustrating an application processing apparatus according to an exemplary embodiment;
[0077] Figure 6 This is a structural block diagram of an electronic device 600 according to an exemplary embodiment. Detailed Implementation
[0078] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.
[0079] Figure 1 This is a flowchart illustrating an application processing method according to an exemplary embodiment. Figure 1 ,like Figure 1 As shown, the application processing method mainly includes the following steps:
[0080] In step 101, if the first operation is detected, a first task associated with the first operation is determined from the first scheduling group;
[0081] In step 102, the first task is moved from the first scheduling group to the second scheduling group; wherein the priority of the second scheduling group is higher than that of the first scheduling group.
[0082] In step 103, system resources are allocated to tasks within the second scheduling group based on scheduling parameters associated with the first operation.
[0083] It should be noted that the application processing method proposed in this disclosure can be applied to electronic devices. Here, electronic devices may include terminal devices, such as mobile terminals or fixed terminals. Mobile terminals may include mobile phones, tablets, laptops, wearable electronic devices, etc. Fixed terminals may include desktop computers, smart TVs, in-vehicle systems, etc. In other embodiments, the application processing method may also be applied to applications installed on electronic devices.
[0084] In other embodiments, the application processing method in this disclosure can be configured in an application processing device, which can be located in an electronic device; this disclosure does not limit this. It should be noted that the execution entity in this disclosure can be a central processing unit (CPU) in the electronic device in hardware, and related background services in the electronic device in software; this is not limited.
[0085] Understandably, when a user action is detected, the user action will trigger a corresponding task, and the operating system will call the corresponding thread to execute the task, so that the result of the thread's task execution can be fed back to the user through the user interface, in order to reflect the efficiency and responsiveness of the electronic device when executing user actions.
[0086] Therefore, in this embodiment of the present disclosure, when the first operation is detected, the task associated with the first operation is determined first, thereby improving the accuracy of the electronic device in responding to user operations.
[0087] Here, the first operation includes, but is not limited to, clicking, long-pressing, or swiping. Furthermore, the first operation can be triggered by the user through manual touch or by voice command; this disclosure does not limit the specific actions taken in this regard.
[0088] Taking a click action as an example, when a user clicks on an application or issues a voice command, the task associated with the click action is the startup task, and the operating system can call either the main thread or the application rendering thread. Alternatively, when a user clicks on an application to be installed in the app store, the task associated with the click action is the installation task, and the operating system can call the installation thread.
[0089] Here, when an application starts, the operating system creates a thread, which can be called the main thread. The main thread can create other threads for the application (e.g., the application rendering thread, or Render Thread).
[0090] Taking the swipe operation as an example, if the user operates any function on the application's display interface or outputs voice commands to control any function on the display interface, and the task associated with the swipe operation is a bullet screen display task, the thread called by the operating system can be the main thread, the application rendering thread, or the bullet screen rendering thread distributed by the application rendering thread; if the task associated with the swipe operation is a keyboard pop-up task, the thread called by the operating system can be the main thread, the application rendering thread, or the keyboard pop-up rendering thread distributed by the application rendering thread.
[0091] In some embodiments, different applications are installed within the electronic device, enabling the device to perform different functions. When a user triggers a first operation on an application within the electronic device, the first task is initiated by that application. Here, the application within the electronic device can be an embedded application installed on the device, i.e., a system application, or a third-party application downloaded and installed by the user.
[0092] It should be noted that when a task is not triggered, it can be stored in the low-priority first scheduling group, which reduces the task's scheduling priority and saves system resources. When the first operation is detected, the first task is determined from the first scheduling group and moved from the first scheduling group to the high-priority second scheduling group, which increases the task's scheduling priority and improves the response speed of the task associated with the first operation.
[0093] Here, the priority of the second scheduling group is higher than that of the first scheduling group. This can be understood as the tasks in the second scheduling group being executed first. For example, when a task is in the second scheduling group, the operating system can allocate system resources to the task first, so that electronic devices can call the threads associated with the task, thereby improving the efficiency of task execution.
[0094] In some embodiments, tasks in the first scheduling group are not completely suspended; rather, their execution frequency is reduced compared to tasks in the second scheduling group. This allows tasks in the first scheduling group to be temporarily suspended or delayed when system resources are limited, ensuring that tasks in the second scheduling group receive timely responses and processing.
[0095] In some embodiments, in addition to the first task associated with the first operation, the second scheduling group may also include tasks from foreground applications or system service applications (e.g., system update tasks, virus scanning tasks, etc.).
[0096] For example, when the video application is not in the foreground (i.e., the video application is not running), the video application's task is placed in the first scheduling group. This reduces the scheduling priority of the video application's task, allowing the electronic device to optimize resource allocation and improve performance. Upon detecting a first operation that switches the video application from the background to the foreground, the video application's startup and rendering tasks can be moved from the first scheduling group to the second scheduling group. This increases the scheduling priority of the video application's task. When the video application is running in the foreground, the electronic device can prioritize its rendering tasks, ensuring smooth video display, reducing stuttering or frame drops, and improving the user experience.
[0097] In some embodiments, real-time scheduling strategies ensure that tasks within the second scheduling group receive sufficient system resources, reducing task execution lag and slow electronic device response. Simultaneously, non-real-time scheduling strategies, by fairly scheduling tasks within the first scheduling group, ensure the rational utilization of system resources and the stability of overall performance. Therefore, real-time scheduling strategies, such as SCHED_FIFO or SCHED_RR, are used to schedule tasks within the second scheduling group; while non-real-time scheduling strategies, such as time-sharing scheduling, are used to schedule tasks within the first scheduling group.
[0098] Here, SCHED_FIFO employs a First In First Out (FIFO) scheduling algorithm. Once a SCHED_FIFO-level task is executable, it will continue to execute until it is blocked or released. SCHED_RR is a SCHED_FIFO with time slices, employing a Round Robin (RR) scheduling algorithm. When a SCHED_RR-level task exhausts its time slice, other real-time tasks of the same priority will be scheduled in turn.
[0099] Time-sharing scheduling uses a nice value to determine task priority. The nice value ranges from -20 to 19. The smaller the nice value, the higher the task priority and the more system resources it receives; the larger the nice value, the lower the task priority and the less system resources it receives.
[0100] It should be noted that in actual use, users expect electronic devices to respond quickly to the first operation. Therefore, by using scheduling parameters associated with the first operation, more system resources can be allocated to tasks in the second scheduling group, thereby reducing lag when executing the first task and improving the smoothness of user operation.
[0101] Here, the scheduling parameters associated with the first operation refer to scheduling parameters that improve the execution efficiency of tasks within the second scheduling group by increasing their execution frequency. These scheduling parameters include at least one of the following: priority optimization coefficient, operating frequency of the hardware processing module, memory allocation, and the duration of scheduling based on the operating frequency. Specifically, the priority optimization coefficient represents a coefficient that optimizes the priority of the task; this coefficient can be positive or negative. The operating frequency of the hardware processing module represents the number of clock pulses generated by the hardware processing module per unit time; a higher operating frequency results in faster instruction execution. The hardware processing module includes at least a CPU and / or a Graphics Processing Unit (GPU). The memory allocation represents the amount of memory allocated to the task.
[0102] In some embodiments, the scheduling parameters associated with the first operation are preset parameters. When the first task is moved from the first scheduling group to the second scheduling group, the priority optimization coefficient of the first task is adjusted to a positive number, for example, +10, and the priority optimization coefficients of other tasks in the second scheduling group other than the first task are adjusted to negative numbers, for example, -10; and / or, the hardware processing module is controlled to operate based on a second operating frequency until the duration of scheduling based on the second operating frequency reaches a first duration.
[0103] In other implementations, the scheduling parameters associated with the first operation are dynamically adjusted based on the current device state information of the electronic device. When the device state information indicates that the electronic device is currently in a stable state, the control hardware processing module operates at a higher frequency and allocates more memory. Conversely, when the device state information indicates that the electronic device is currently in an unstable state, the control hardware processing module operates at a lower frequency and allocates less memory until the electronic device becomes stable, at which point the operating frequency of the hardware processing module is increased, and the memory allocation is increased.
[0104] In this embodiment of the disclosure, upon detecting a first operation, a first task associated with the first operation is determined from a first scheduling group; the first task is moved from the first scheduling group to a second scheduling group; wherein the priority of the second scheduling group is higher than that of the first scheduling group; and system resources are allocated to the tasks in the second scheduling group based on the scheduling parameters associated with the first operation.
[0105] On the one hand, the first task associated with the user operation is adjusted to the second scheduling group with higher priority, so that the electronic device can execute the first task first and improve the response speed for the first task; on the other hand, based on the scheduling parameters associated with the first operation, more system resources can be allocated to the tasks in the second scheduling group, reducing the lag when executing the first task and improving the smoothness of user operation.
[0106] In some embodiments, moving the first task from the first scheduling group to the second scheduling group includes:
[0107] Determine the second task associated with the second operation, and the second application that initiates the second task; wherein the second operation is the operation preceding the first operation;
[0108] If the matching degree between the application information of the first application that initiated the first task and the application information of the second application is less than a first threshold, the first task will be moved from the first scheduling group to the second scheduling group.
[0109] Here, the first task can be initiated by an application within the electronic device.
[0110] In this embodiment of the disclosure, the second operation is the operation preceding the first operation. It can be understood that the triggering time of the first operation and the triggering time of the second operation are consecutive in time, and the triggering time of the second operation is before the triggering time of the first operation.
[0111] Here, the second operation can be the same as the first operation, for example, both the first and second operations are click operations; the second operation can also be different from the first operation, for example, the second operation is a swipe operation and the first operation is a long press operation, and this is not limited in the embodiments of this disclosure.
[0112] It is understandable that when the matching degree between the application information of the first application and the application information of the second application is less than the first threshold, it is determined that the correlation between the first application and the second application is small. Since the task of the first application is in the first scheduling group, in order to improve the processing priority of the first task, the first task can be adjusted from the first scheduling group to the second scheduling group.
[0113] Here, the first threshold can be set arbitrarily according to requirements, and this embodiment of the disclosure does not limit it.
[0114] At the same time, the application information includes at least one of the following: application identifier and application type. The matching degree between the application information of the first application and the application information of the second application can be understood as the complementarity between the application types of the first application and the application types of the second application, or as the similarity between the identifiers of the first application and the identifiers of the second application.
[0115] Taking application information as an example, when the first application is a shopping application and the second application is a payment application, it is determined that there is functional complementarity and user experience consistency between the first and second applications. Further, it is determined that the complementarity between the first and second applications is high, therefore the matching degree between the application information of the first and second applications is greater than or equal to the first threshold. However, when both the first and second applications are music playback applications, it is determined that the first and second applications are functionally similar applications. Further, it is determined that the complementarity between the first and second applications is low, therefore the matching degree between the application information of the first and second applications is less than the first threshold.
[0116] Taking application information as the application identifier as an example, when the application identifier of the first application is the same as that of the second application, it is determined that the first application and the second application have a high similarity, and the matching degree between the application information of the first application and the application information of the second application is greater than or equal to a first threshold. When the application identifier of the first application is different from that of the second application, it is determined that the first application and the second application have a low similarity, and the matching degree between the application information of the first application and the application information of the second application is less than the first threshold.
[0117] In this embodiment of the disclosure, when the matching degree between the application information of the first application that initiates the first task and the application information of the second application that initiates the second task is less than a first threshold, it is determined that the correlation between the first application and the second application is small. Then, the first task is adjusted from the first scheduling group to the second scheduling group, so that the electronic device can execute the first task first and improve the response speed for the first task.
[0118] In some embodiments, the method further includes:
[0119] If the matching degree between the application information of the first application and the application information of the second application is less than the first threshold, the second task will be adjusted from the second scheduling group to the first scheduling group.
[0120] It should be noted that when there are many tasks in the second scheduling group, task blocking can easily occur, thereby affecting the efficiency of the electronic device in executing the first task. Therefore, in this embodiment of the disclosure, tasks that do not need to be upgraded in processing priority are selected from the second scheduling group to reduce the number of tasks in the second scheduling group.
[0121] Here, increasing the processing priority of a task can be understood as increasing its processing frequency. The task that needs to be prioritized is identified as the target task.
[0122] It should be explained that the second task associated with the second operation is a task that the electronic device has already executed. By obtaining the application information of the second application that initiated the second task, and by assessing the matching degree between the application information of the first application that initiated the first task and the application information of the second application, the probability value that the second task is the target task is determined, thereby improving the accuracy of adjusting the scheduling group to which the second task belongs.
[0123] Understandably, when the matching degree between the application information of the first application and the application information of the second application is less than the first threshold, the probability of determining the second task as the target task is low. The second task can be adjusted from the second scheduling group to the first scheduling group, thereby reducing the task blocking situation in the second scheduling group and improving the response speed for the first task.
[0124] In some embodiments, in order to improve the accuracy of adjusting the scheduling group to which the second task is located, if the application identifier of the first application and the application identifier of the second application are different, the application type of the first application and the application type of the second application are determined; and based on the application type of the first application and the application type of the second application, the degree of association between the first application and the second application is determined; if the degree of association is small, the matching degree between the application information of the first application and the application information of the second application is determined to be less than a first threshold.
[0125] In this embodiment of the disclosure, when the matching degree between the application information of the first application that initiates the first task and the application information of the second application that initiates the second task is less than a first threshold, it is determined that the second task is not a task that needs to be frequency-increased. Then, the second task is removed from the second scheduling group to reduce the number of tasks in the second scheduling group, reduce the situation of task blocking, thereby improving the efficiency of executing the first task and improving the response speed of the electronic device to the first task.
[0126] In some embodiments, the method further includes:
[0127] If the matching degree between the application information of the first application and the application information of the second application is greater than or equal to the first threshold, the scheduling parameters are determined based on the matching degree between the first task and the second task.
[0128] It should be noted that when the matching degree between the application information of the first application and the application information of the second application is greater than or equal to the first threshold, the probability of identifying the second task as the target task is relatively high. Since the matching degree between the first and second tasks can determine whether the first task is an associated task of the second task, and the second task is a task allocated system resources based on scheduling parameters associated with the second operation, the matching degree between the first and second tasks can improve the accuracy and efficiency of determining the scheduling parameters associated with the first operation.
[0129] Here, the matching degree between the first task and the second task can be determined based on at least one of the task type or the thread executing the task. In some embodiments, when the first task and the second task are executed by the same thread, a higher similarity between the first task and the second task indicates a higher matching degree. In other embodiments, when the task types of the first task and the second task are complementary, for example, the first task is a playback task and the second task is a stop playback task, a higher complementarity between the first task and the second task indicates a higher matching degree.
[0130] In some embodiments, when the first task and the second task have a high degree of matching, and the first task is determined to be an associated task of the second task, the scheduling parameters associated with the first operation can be determined based on the scheduling parameters associated with the second operation. For example, the scheduling parameters associated with the second operation can be used as the scheduling parameters associated with the first operation. Alternatively, based on the scheduling parameters associated with the second operation, the operating frequency of the hardware processing module, the amount of memory allocated, or the thread optimization coefficient can be adjusted to improve the efficiency of determining the scheduling parameters associated with the first operation.
[0131] In other embodiments, when the matching degree between the first task and the second task is low, it is determined that the first task is not an associated task of the second task. The scheduling parameters associated with the first operation can be determined based on the type of the first task or the current device state of the electronic device, thereby improving the accuracy of determining the scheduling parameters associated with the first operation.
[0132] In this embodiment of the disclosure, when the matching degree between the application information of the first application that initiates the first task and the application information of the second application that initiates the second task is greater than or equal to a first threshold, the scheduling parameters are determined based on the matching degree between the first task and the second task, thereby improving the accuracy of determining the scheduling parameters and thus improving the efficiency and accuracy of executing the first task.
[0133] In some embodiments, the scheduling parameters include: the operating frequency of the hardware processing module and the duration of scheduling based on the operating frequency;
[0134] Based on the matching degree between the first task and the second task, the scheduling parameters are determined, including:
[0135] If the matching degree between the first task and the second task is less than the second threshold, the control hardware processing module is adjusted from the first operating frequency to the second operating frequency until the scheduling time based on the second operating frequency reaches the first duration; wherein, the second operating frequency is greater than the first operating frequency;
[0136] If the matching degree between the first task and the second task is greater than or equal to the second threshold, the hardware processing module is kept at the second operating frequency until the scheduling time based on the second operating frequency reaches the second duration.
[0137] The second duration is longer than the first duration.
[0138] Understandably, in order to improve the accuracy of determining whether the first task is a related task of the second task, a second threshold can be set. After determining the matching degree between the first task and the second task, the scheduling parameters associated with the first operation can be determined based on the second threshold and the matching degree.
[0139] Here, the second threshold can be set arbitrarily according to requirements, and this embodiment does not limit it.
[0140] In some embodiments, for applications that rely on the performance of the hardware processing module, such as gaming applications, scientific computing applications, or graphics processing applications, increasing the operating frequency of the hardware processing module can effectively improve the smoothness of these applications and significantly enhance the user's interactive experience.
[0141] Therefore, in this embodiment of the disclosure, the operating frequency of the hardware processing module and the duration of scheduling based on the operating frequency can be adjusted by using the second threshold and the matching degree, thereby reducing the lag when executing the first task and improving the smoothness of user operation.
[0142] Understandably, if the matching degree between the first task and the second task is less than the second threshold, and it is determined that the first task is not a related task of the first task, the hardware processing module can be adjusted from the first operating frequency to the second operating frequency until the scheduling time based on the second operating frequency reaches the first duration, thereby improving the efficiency of determining the scheduling parameters.
[0143] Here, to improve the smoothness of the first application initiating the first task, the second operating frequency is greater than the first operating frequency. The first operating frequency can be the initial frequency of the hardware processing module, and the second operating frequency can be the target frequency of the hardware processing module.
[0144] In some embodiments, a longer duration of scheduling based on operating frequency may prevent tasks within the first scheduling group from being allocated system resources; conversely, a shorter duration of scheduling based on operating frequency may result in a shorter time to improve the smoothness of the first application, leading to a lower user experience. Therefore, the first duration can be determined based on historical experience or actual experiments, or it can be determined based on the task type of the first task, as long as the determined first duration can improve the smoothness of the first application without hindering the allocation of system resources to tasks within the first scheduling group.
[0145] It should be noted that, to ensure the smoothness of the second application, the hardware processing module is adjusted from the first operating frequency to the second operating frequency. Since the second task is the preceding task of the first task, if the matching degree between the first and second tasks is less than the second threshold, the first task is determined to be a related task of the first task. Therefore, the hardware processing module can be directly maintained at the second operating frequency, requiring only adjustment of the duration of scheduling based on the second operating frequency. This reduces the process of determining the operating frequency of the hardware processing module and improves the efficiency of determining scheduling parameters.
[0146] Here, since the first task is a related task of the first task, the duration of scheduling based on the second running frequency can be extended to a second duration that is greater than the first duration.
[0147] In this embodiment, if the matching degree between the first task and the second task is less than a second threshold, it is determined that the first task and the second task are not the same task. In this case, the operating frequency of the hardware processing module is re-determined, thereby reducing lag during the execution of the first task. If the matching degree between the first task and the second task is greater than or equal to the second threshold, it is determined that the first task and the second task are the same task. In this case, it is not necessary to determine the operating frequency of the hardware processing module; the duration of scheduling based on the operating frequency can be directly adjusted, reducing the system's processing flow and thus improving the response speed for the first task.
[0148] In some embodiments, the method further includes:
[0149] Determine the adjustment value based on the type of the first task and / or the current device status information of the electronic device;
[0150] The second operating frequency is determined based on the adjustment value and the first operating frequency.
[0151] In some embodiments, tasks such as playing media files or launching applications require more system resources. In this case, the second operating frequency of the hardware processing module can be set to a higher value to improve application smoothness. Conversely, tasks such as stopping media file playback or closing applications require fewer system resources. In this case, the second operating frequency of the hardware processing module can be set to a lower value to reduce the waste of system resources.
[0152] Therefore, in this embodiment of the disclosure, by assessing the system resources required to execute the first task based on the type of the first task, an adjustment value is determined based on the required system resources; and a second operating frequency is obtained based on the adjustment value and the first operating frequency, thereby improving the accuracy of the second operating frequency.
[0153] Here, the adjustment value is larger when more system resources are required to execute the first task, and smaller when fewer system resources are required to execute the first task.
[0154] It should be noted that over-allocating system resources can lead to system malfunctions. Therefore, in addition to the type of the first task, the adjustment value can also be determined based on the current operating information of the electronic device, so that the determined second operating frequency matches the system performance, thereby improving resource utilization and ensuring stable system operation.
[0155] Here, device status information includes, but is not limited to, the device casing temperature, available memory, memory usage, CPU load, or disk I / O activity of the electronic device.
[0156] In some embodiments, when the device status information indicates low CPU load, low device housing temperature, or low memory utilization, a larger adjustment value is determined to improve resource utilization; when the device status information indicates high CPU load, high device housing temperature, or high memory utilization, a smaller adjustment value is determined to ensure stable system operation.
[0157] Understandably, based on the type of the first task and the device status information, the adjustment value is determined so that the second operating frequency can match the system performance while ensuring that the first task can obtain sufficient system resources in a timely manner, thereby improving the smoothness of the first application while ensuring the stability of system operation.
[0158] In this embodiment of the disclosure, an adjustment value is determined based on the type and / or device status information of the first task. This allows system resources that match the current execution requirements to be allocated to each first task while ensuring stable system operation. This makes the current execution requirements match the execution speed of the first task, thereby improving the user's interactive experience.
[0159] In some embodiments, moving the first task from the first scheduling group to the second scheduling group includes:
[0160] If the first application that initiates the first task is in a preset list, the first task will be moved from the first scheduling group to the second scheduling group; wherein, the preset list is determined based on the data stored on the target end;
[0161] The method also includes:
[0162] If the first application is not in the preset list, keep the first task in the first scheduling group.
[0163] In some embodiments, lightweight, relatively simple applications do not require much system resources, and even if these applications are boosted, the user's interactive experience is relatively low.
[0164] Therefore, in this embodiment of the present disclosure, by setting a preset list and determining whether the first application is in the preset list, it is possible to determine whether the first task is a task that needs to be frequency-boosted, thereby reducing the situation of invalid frequency boosting and optimizing the processing performance of the system.
[0165] Here, the applications in the preset list are those that can improve the user's interactive experience after frequency boosting.
[0166] In some embodiments, it can be determined whether the first application is in the preset list by matching the identifier of the first application with the application identifier of the applications in the preset list.
[0167] Understandably, when the first application is in the preset list, if the first task is determined to require frequency boosting, it will be moved from the first scheduling group to the second scheduling group. Conversely, when the first application is not in the preset list, if the first task is determined to not require frequency boosting, it will remain in the first scheduling group. In this way, the system can flexibly adjust performance based on the application initiating the task, improving system scalability.
[0168] In this embodiment of the disclosure, the target device can obtain application information of the application that effectively boosts the frequency from some electronic devices. Therefore, in order to ensure the accuracy of the preset list, the application in the preset list can be determined based on the data stored by the target device.
[0169] Here, the interaction method between the electronic device and the target terminal can be arbitrarily set according to the type of the target terminal. For example, when the target terminal is in the cloud, the interaction can be carried out through network transmission or database synchronization; or, for example, when the target terminal is local, the interaction can be carried out through network transmission, near-field communication or storage device transmission. This disclosure does not limit this.
[0170] In some embodiments, when the target is the cloud, since the cloud can obtain usage data of electronic devices of different types and users, and determine the application information of applications that can effectively boost frequency from the usage data, the data obtained by the electronic device from the cloud has real-time and global reach, which is beneficial to improving the accuracy and robustness of the preset list.
[0171] In other embodiments, when the target is a local device, since the local device and the electronic device are in the same network or physical environment, the data transmission of the local device is more reliable and less susceptible to network fluctuations or interruptions because it does not need to rely on an external network. This reduces data transmission latency and enables real-time updates of the preset list.
[0172] In some embodiments, the applications in the preset list can be embedded applications in electronic devices, i.e., system applications of electronic devices, in addition to being determined based on data stored on the target device.
[0173] In this embodiment of the disclosure, by setting a preset list and determining whether the first application is in the preset list, it is possible to determine whether the first task is a task that needs to be frequency-increased, thereby improving the accuracy of determining the scheduling group in which the first task belongs, reducing invalid frequency increases, and optimizing the system's processing performance.
[0174] In some embodiments, the method further includes:
[0175] Retrieve historical tasks associated with each historical operation within a preset time period prior to the first operation;
[0176] The application information of the third-party application that initiated each historical task is sent to the target terminal; after receiving the application information of each third-party application, the target terminal selects the target application from each third-party application.
[0177] Obtain application information of the target application from the target end, and update the preset list based on the application information of the target application;
[0178] The target applications include applications whose frequency exceeds a preset frequency threshold and / or applications whose application type is the target type.
[0179] Understandably, considering that users' usage habits may change over time, in order to ensure the accuracy of the frequency-boosting applications in the preset list, we can obtain the historical tasks associated with each historical operation within a preset time period before the first operation, and then send the application information of the third-party application that initiated each historical task to the target end. This allows the target end to filter each third-party application and send the application information of the target application that meets the frequency-boosting conditions to the electronic device to update the preset list.
[0180] Here, the preset duration can be set arbitrarily according to needs, such as 10 days, but this embodiment does not limit it.
[0181] In this embodiment of the disclosure, after receiving the application information of each third application, the target device can filter the target application from each third application based on the frequency and / or type of the third application, so that the electronic device can obtain the application information of the target application from the target device and improve the accuracy of the preset list.
[0182] It is understandable that when the frequency of a third application exceeds a preset frequency threshold, the third application is identified as an application with a high degree of relevance to the user's usage habits. Therefore, a third application with a frequency exceeding the preset frequency threshold can be identified as a target application.
[0183] Here, the preset frequency threshold can be set arbitrarily according to requirements, such as 5 times, but this embodiment does not limit it.
[0184] In some embodiments, in gaming applications where users require immediate feedback for actions such as real-time combat and rapid scene switching, increasing the frequency of game operations can reduce application lag and latency, thereby improving the user's interactive experience. In video applications, increasing the frequency of playback operations ensures smooth video playback, reduces buffering time, and improves the user's viewing experience. In payment applications, increasing the frequency of payment operations improves the user's payment experience.
[0185] Therefore, the application type of the application that effectively performs frequency boosting can be identified as the target type, and the third application of the target type can be identified as the target application.
[0186] Here, after obtaining the application information of the target application, the electronic device can add the application information based on the target application to a preset list, or update the application information in the preset list to the application information of the target application. This embodiment of the present disclosure does not limit this.
[0187] In this embodiment of the disclosure, the application information of the third application that initiates each historical task is sent to the target end. The target end filters the target application from each third application based on the frequency and / or type of the third application, so that the electronic device can obtain the application information of the target application from the target end and update the preset list, thereby improving the accuracy of determining the scheduling group of the first task and reducing the situation of invalid frequency increase.
[0188] For example, Figure 2 This is a schematic diagram illustrating the framework of an application processing method according to an exemplary embodiment, such as... Figure 2As shown, the electronic device includes: a system service module 25 (TV Quality System Service, TVQS), an application 20 (System application), a window management module 22 (Window Manager Service, WMS), an activity management module (Activity Manager Service, AMS), and a controller module.
[0189] Application 20 includes a built-in key monitoring and notification module 21. This module monitors key events throughout the system, allowing it to capture current user interactions. Upon detecting a key event, it performs a type check and initiates subsequent related processes. This type check includes at least key press and key release checks.
[0190] The window management module 22 is used to manage the display and layout of all windows, and is responsible for handling input events, such as touch events and key events, to ensure that these events can be handled correctly by the windows.
[0191] The activity management module 23 is used to obtain task information from the button event processing window.
[0192] The control module 24 is used to generate a preset list based on the data stored on the target end; when a first application that initiates a key event is detected, it determines to adjust the first task associated with the first operation from the first scheduling group to the second scheduling group, and determines the operating frequency of the hardware processing module. At the same time, it designs timeout and switching mechanisms to reduce the waste of system resources and improve the smoothness of user interaction.
[0193] The system service module 25 is a management module that ensures service survival and normal function operation. It is used for initialization, system preparation and service binding when the device starts up; it calls the corresponding service to execute the instructions sent by the control module, that is, it calls the service to adjust the first task associated with the first operation from the first scheduling group to the second scheduling group, that is, it calls the service to adjust the operating frequency of the hardware processing module and the duration of scheduling based on the operating frequency.
[0194] For example, Figure 3 This is a flowchart illustrating an application processing method according to an exemplary embodiment. Figure 2 ,like Figure 3 As shown, the application processing method includes at least the following steps:
[0195] In step 301, the electronic device is initialized.
[0196] In step 302, the path is created.
[0197] In step 303, the service is created.
[0198] In step 304, the task scheduler is initialized.
[0199] In step 305, the task scheduler is started.
[0200] In step 306, the performance service is bound.
[0201] In step 307, it is determined whether the performance service connection was successful.
[0202] In some embodiments, if it is determined that the performance service connection is successful, step 308 and / or step 309 are performed.
[0203] In other embodiments, step 306 is performed if the performance service connection is determined to be successful.
[0204] In step 308, the calling service adjusts the first task associated with the first operation from the first scheduling group to the second scheduling group.
[0205] In step 309, the service is invoked to adjust the operating frequency of the hardware processing module and the duration of scheduling based on the operating frequency.
[0206] In step 310, it is determined whether the performance service connection is lost.
[0207] In some embodiments, if it is determined that the performance service connection is broken, step 306 is performed.
[0208] On the one hand, to avoid increased memory usage from new services and reduce Binder communication latency, this solution deploys the code within the system service module. This deployment approach not only improves system performance but also enhances system stability and security.
[0209] On the other hand, in the field of smart display devices, users have high expectations for smooth playback experience, fast application response and clear image display. This solution improves the scheduling priority of tasks associated with user operations and the operating frequency of hardware processing modules, enabling display devices to process high-resolution video streams, reducing display stuttering, and handling complex user interactions to improve the user experience.
[0210] Figure 4 This is a flowchart illustrating an application processing method according to an exemplary embodiment. Figure 3 ,like Figure 4 As shown, the application processing method includes at least the following steps:
[0211] In step 401, if a first operation is detected, a first task associated with the first operation is determined from the first scheduling group.
[0212] In step 402, the application information of the third application that initiated the historical operation within a preset time period before the first operation is sent to the target terminal.
[0213] In some embodiments, after receiving application information from each third application, the target device can select a target application from each third application; the electronic device obtains the application information of the target application from the target device and updates the preset list based on the application information of the target application; wherein, the target application includes: applications with a frequency greater than a preset frequency threshold and / or applications of the target type.
[0214] In step 403, the first application that initiates the first task is determined.
[0215] In step 404, it is determined whether the first application is in a preset list.
[0216] In some embodiments, if it is determined that the first application is in a preset list, step 405 is performed.
[0217] In other embodiments, the process ends if it is determined that the first application is not in a preset list.
[0218] Here, if the first application is not in the preset list, the first task is kept in the first scheduling group, and there is no need to perform a frequency increase operation.
[0219] In step 405, it is determined whether the matching degree between the application information of the first application and the application information of the second application is greater than or equal to the first threshold.
[0220] Here, upon detecting the first operation, the second task associated with the second operation and the application information of the second application that initiated the second task are determined; wherein, the second operation is the operation preceding the first operation.
[0221] In some embodiments, if it is determined that the matching degree between the application information of the first application and the application information of the second application is greater than or equal to a first threshold, step 406 is executed.
[0222] In some other embodiments, if it is determined that the matching degree between the application information of the first application and the application information of the second application is less than a first threshold, step 407 is executed.
[0223] In step 406, it is determined whether the matching degree between the first task and the second task is greater than or equal to the second threshold.
[0224] In some embodiments, if it is determined that the matching degree between the first task and the second task is greater than or equal to the second threshold, step 410 is performed.
[0225] In some embodiments, if it is determined that the matching degree between the first task and the second task is less than a second threshold, step 408 is performed.
[0226] In step 408, a second operating frequency is determined based on the type of the first task and / or the current device status information of the electronic device.
[0227] In some embodiments, an adjustment value is determined based on the type of the first task and / or the current device status information of the electronic device; a second operating frequency is determined based on the adjustment value and the first operating frequency.
[0228] In step 409, the control hardware processing module is adjusted from the first operating frequency to the second operating frequency until the scheduling time based on the second operating frequency reaches the first duration.
[0229] Here, the second operating frequency is greater than the first operating frequency.
[0230] In step 410, the duration of scheduling based on the second operating frequency is adjusted to the second duration.
[0231] Here, the second duration is longer than the first duration.
[0232] In step 411, the hardware processing module is maintained at the second operating frequency until the duration of scheduling based on the second operating frequency reaches the second duration.
[0233] On the one hand, the first task associated with user operation is adjusted to the second scheduling group with higher priority, so that electronic devices can execute the first task first and improve the response speed for the first task. On the other hand, by adjusting the operating frequency of the hardware processing module to the second operating frequency and ensuring that the scheduling time based on the second operating frequency is long enough, more system resources can be allocated to the first task, thereby reducing the lag when executing the first task and improving the smoothness of user operation.
[0234] Figure 5 This is a block diagram illustrating an application processing apparatus according to an exemplary embodiment, such as... Figure 5 As shown, the application processing device 500 includes:
[0235] The task determination module 501 is configured to determine a first task associated with the first operation from the first scheduling group when the first operation is detected.
[0236] The adjustment module 502 is configured to adjust the first task from the first scheduling group to the second scheduling group; wherein the priority of the second scheduling group is higher than the priority of the first scheduling group.
[0237] The scheduling module 503 is configured to allocate system resources to tasks within the second scheduling group based on scheduling parameters associated with the first operation.
[0238] In some embodiments, the adjustment module 502 is specifically configured as follows:
[0239] Determine the second task associated with the second operation, and the second application that initiates the second task; wherein the second operation is the operation preceding the first operation;
[0240] If the matching degree between the application information of the first application that initiated the first task and the application information of the second application is less than a first threshold, the first task will be moved from the first scheduling group to the second scheduling group.
[0241] In some embodiments, the device 500 further includes:
[0242] The clearing module is configured to adjust the second task from the second scheduling group to the first scheduling group when the matching degree between the application information of the first application and the application information of the second application is less than the first threshold.
[0243] In some embodiments, the device 500 further includes:
[0244] The parameter determination module is configured to determine the scheduling parameters based on the matching degree between the first task and the second task when the matching degree between the application information of the first application and the application information of the second application is greater than or equal to the first threshold.
[0245] In some embodiments, the scheduling parameters include: the operating frequency of the hardware processing module and the duration of scheduling based on the operating frequency;
[0246] The parameter determination module is specifically configured as follows:
[0247] If the matching degree between the first task and the second task is less than a second threshold, the hardware processing module is controlled to adjust from a first operating frequency to a second operating frequency until the scheduling time based on the second operating frequency reaches a first duration; wherein, the second operating frequency is greater than the first operating frequency;
[0248] If the matching degree between the first task and the second task is greater than or equal to the second threshold, the hardware processing module is maintained at the second operating frequency until the scheduling time based on the second operating frequency reaches the second duration.
[0249] Wherein, the second duration is longer than the first duration.
[0250] In some embodiments, the device 500 further includes:
[0251] The frequency determination module is configured to determine an adjustment value based on the type of the first task and / or the current device status information of the electronic device.
[0252] The second operating frequency is determined based on the adjustment value and the first operating frequency.
[0253] In some embodiments, the adjustment module 502 is further configured to:
[0254] If the first application that initiated the first task is in a preset list, the first task is moved from the first scheduling group to the second scheduling group; wherein, the preset list is determined based on the data stored on the target end;
[0255] The device 500 further includes:
[0256] The control module is configured to maintain the first task in the first scheduling group when the first application is not in the preset list.
[0257] In some embodiments, the device 500 further includes:
[0258] The acquisition module is configured to acquire historical tasks associated with each historical operation within a preset time period prior to the first operation;
[0259] The sending module is configured to send application information of the third application that initiated each of the historical tasks to the target terminal; wherein, after receiving the application information of each of the third applications, the target terminal selects a target application from each of the third applications;
[0260] The execution module is configured to obtain application information of the target application from the target terminal, and update the preset list based on the application information of the target application;
[0261] The target applications include: applications with a frequency greater than a preset frequency threshold and / or applications of the target type.
[0262] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.
[0263] Figure 6 This is a structural block diagram illustrating an electronic device 600 according to an exemplary embodiment. For example, the electronic device 600 may be a mobile phone, computer, digital broadcasting terminal, messaging device, game console, tablet device, medical device, fitness equipment, personal digital assistant, etc.
[0264] Reference Figure 6 The electronic device 600 may include one or more of the following components: processing component 602, memory 604, power supply component 606, multimedia component 608, audio component 610, input / output (I / O) interface 612, sensor component 614, and communication component 616.
[0265] Processing component 602 typically controls the overall operation of electronic device 600, such as operations associated with at least one of display, telephone call, data communication, camera operation, and recording operation. Processing component 602 may include one or more processors 620 to execute instructions to perform all or part of the steps of the methods described above. Furthermore, processing component 602 may include one or more modules to facilitate interaction between processing component 602 and other components. For example, processing component 602 may include a multimedia module to facilitate interaction between multimedia component 608 and processing component 602.
[0266] Memory 604 is configured to store various types of data to support the operation of electronic device 600. Examples of such data include at least one of the following: instructions for any application or method operating on electronic device 600, contact data, phonebook data, messages, pictures, and videos. Memory 604 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as Static Random Access Memory (SRAM), Electrically Erasable Programmable Read Only Memory (EEPROM), Erasable Programmable Read-Only Memory (EPROM), Programmable Read Only Memory (PROM), Read-Only Memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.
[0267] Power supply component 606 provides power to various components of electronic device 600. Power supply component 606 may include at least one of the following: a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to electronic device 600.
[0268] Multimedia component 608 includes a screen that provides an output interface between electronic device 600 and user. In some embodiments, the screen may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the screen includes a Touch Panel, the screen may be implemented as a touchscreen to receive input signals from the user. The Touch Panel includes one or more touch sensors to sense touches, swipes, and gestures on the Touch Panel. The touch sensors may sense not only the boundaries of touch or swipe actions but also the duration and pressure associated with the touch or swipe operation. In some embodiments, multimedia component 608 includes a front-facing camera and / or a rear-facing camera. When electronic device 600 is in an operating mode, such as a shooting mode or video mode, the front-facing camera and / or rear-facing camera may receive external multimedia data. Each front-facing camera and rear-facing camera may be a fixed optical lens system or have focal length and optical zoom capabilities.
[0269] Audio component 610 is configured to output and / or input audio signals. For example, audio component 610 includes a microphone (MIC) configured to receive external audio signals when electronic device 600 is in an operating mode, such as call mode, recording mode, and voice recognition mode. The received audio signals may be further stored in memory 604 or transmitted via communication component 616. In some embodiments, audio component 610 also includes a speaker for outputting audio signals.
[0270] I / O interface 612 provides an interface between processing component 602 and peripheral interface modules, such as keyboards, click wheels, and buttons. These buttons may include, but are not limited to, home buttons, volume buttons, power buttons, and lock buttons.
[0271] Sensor assembly 614 includes one or more sensors for providing state assessments of various aspects of electronic device 600. For example, sensor assembly 614 may detect the on / off state of electronic device 600, the relative positioning of components such as the display and keypad of electronic device 600, changes in position of electronic device 600 or one of its components, the presence or absence of user contact with electronic device 600, orientation or acceleration / deceleration of electronic device 600, and temperature changes of electronic device 600. Sensor assembly 614 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. Sensor assembly 614 may also include an optical sensor, such as a complementary metal-oxide-semiconductor (CMOS) or charge-coupled device (CCD) image sensor, for use in imaging applications. In some embodiments, sensor assembly 614 may also include, but is not limited to, at least one of the following: an accelerometer, a gyroscope, a magnetometer, a pressure sensor, and a temperature sensor.
[0272] Communication component 616 is configured to facilitate wired or wireless communication between electronic device 600 and other devices. Electronic device 600 can access wireless networks based on communication standards, such as Wi-Fi, 4G, 5G, or combinations thereof. In one exemplary embodiment, communication component 616 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, communication component 616 also includes a Near Field Communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wide Band (UWB), Bluetooth (BT), and other technologies.
[0273] In an exemplary embodiment, the electronic device 600 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components.
[0274] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 604 including executable instructions or a computer program, which can be executed by a processor 620 of an electronic device 600 to perform the above-described method. For example, the non-transitory computer-readable storage medium may be a ROM, random access memory (RAM), a compact disc read-only memory (CD-ROM), magnetic tape, floppy disk, and optical data storage device, etc.
[0275] A non-transitory computer-readable storage medium, when the instructions in the storage medium are executed by a processor of an electronic device, enables the electronic device to perform any of the application processing methods described in the embodiments of this disclosure. For example, the method includes:
[0276] Upon detecting a first operation, a first task associated with the first operation is determined from the first scheduling group;
[0277] The first task is moved from the first scheduling group to the second scheduling group; wherein the priority of the second scheduling group is higher than that of the first scheduling group.
[0278] Based on the scheduling parameters associated with the first operation, system resources are allocated to tasks within the second scheduling group.
[0279] This disclosure provides a computer program product comprising a computer program or executable instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer program or executable instructions from the computer-readable storage medium and executes the computer program or executable instructions, causing the computer device to perform any of the application processing methods described in this disclosure.
[0280] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.
[0281] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.
Claims
1. An application processing method, characterized in that, The method includes: Upon detecting a first operation, a first task associated with the first operation is determined from the first scheduling group; The first task is moved from the first scheduling group to the second scheduling group; wherein the priority of the second scheduling group is higher than that of the first scheduling group. Based on the scheduling parameters associated with the first operation, system resources are allocated to tasks within the second scheduling group.
2. The method according to claim 1, characterized in that, The step of moving the first task from the first scheduling group to the second scheduling group includes: Determine the second task associated with the second operation, and the second application that initiates the second task; wherein the second operation is the operation preceding the first operation; If the matching degree between the application information of the first application that initiated the first task and the application information of the second application is less than a first threshold, the first task will be moved from the first scheduling group to the second scheduling group.
3. The method according to claim 2, characterized in that, The method further includes: If the matching degree between the application information of the first application and the application information of the second application is less than the first threshold, the second task will be moved from the second scheduling group to the first scheduling group.
4. The method according to claim 2, characterized in that, The method further includes: If the matching degree between the application information of the first application and the application information of the second application is greater than or equal to the first threshold, the scheduling parameters are determined based on the matching degree between the first task and the second task.
5. The method according to claim 4, characterized in that, The scheduling parameters include: the operating frequency of the hardware processing module and the duration of scheduling based on the operating frequency; Determining the scheduling parameters based on the matching degree between the first task and the second task includes: If the matching degree between the first task and the second task is less than a second threshold, the hardware processing module is controlled to adjust from a first operating frequency to a second operating frequency until the scheduling time based on the second operating frequency reaches a first duration; wherein, the second operating frequency is greater than the first operating frequency; If the matching degree between the first task and the second task is greater than or equal to the second threshold, the hardware processing module is maintained at the second operating frequency until the scheduling time based on the second operating frequency reaches the second duration. Wherein, the second duration is longer than the first duration.
6. The method according to claim 5, characterized in that, The method further includes: The adjustment value is determined based on the type of the first task and / or the current device status information of the electronic device; The second operating frequency is determined based on the adjustment value and the first operating frequency.
7. The method according to any one of claims 1 to 6, characterized in that, The step of moving the first task from the first scheduling group to the second scheduling group includes: If the first application that initiated the first task is in a preset list, the first task is moved from the first scheduling group to the second scheduling group; wherein, the preset list is determined based on the data stored on the target end; The method further includes: If the first application is not in the preset list, the first task remains in the first scheduling group.
8. The method according to claim 7, characterized in that, The method further includes: Obtain the historical tasks associated with each historical operation within a preset time period prior to the first operation; The application information of the third application that initiated each of the aforementioned historical tasks is sent to the target terminal; wherein, after receiving the application information of each of the aforementioned third applications, the target terminal selects a target application from each of the aforementioned third applications; Obtain application information of the target application from the target terminal, and update the preset list based on the application information of the target application; The target applications include: applications with a frequency greater than a preset frequency threshold and / or applications of the target type.
9. An application processing device, characterized in that, The device includes: The task determination module is configured to determine a first task associated with the first operation from a first scheduling group when the first operation is detected. The adjustment module is configured to adjust the first task from the first scheduling group to the second scheduling group; wherein the priority of the second scheduling group is higher than the priority of the first scheduling group. The scheduling module is configured to allocate system resources to tasks within the second scheduling group based on scheduling parameters associated with the first operation.
10. An electronic device, characterized in that, include: processor; Memory used to store computer programs or instructions; The processor executes the computer program or instructions to implement the steps of the method according to any one of claims 1 to 8.
11. A non-transitory computer-readable storage medium storing a computer program or instructions, characterized in that, When the computer program or instructions in the storage medium are executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.
12. A computer program product, comprising a computer program or instructions, characterized in that, When the computer program or instructions are executed by a processor, they implement the steps of the method according to any one of claims 1 to 8.