CN115016631B - 进程调度方法和终端设备 - Google Patents
进程调度方法和终端设备 Download PDFInfo
- Publication number
- CN115016631B CN115016631B CN202111383522.0A CN202111383522A CN115016631B CN 115016631 B CN115016631 B CN 115016631B CN 202111383522 A CN202111383522 A CN 202111383522A CN 115016631 B CN115016631 B CN 115016631B
- Authority
- CN
- China
- Prior art keywords
- terminal equipment
- label
- scheduling
- terminal device
- scheduled
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 609
- 230000006870 function Effects 0.000 claims description 58
- 238000004891 communication Methods 0.000 claims description 29
- 230000005540 biological transmission Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims description 6
- 230000002035 prolonged effect Effects 0.000 abstract description 8
- 238000012545 processing Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 12
- 238000007726 management method Methods 0.000 description 8
- 244000089409 Erythrina poeppigiana Species 0.000 description 6
- 235000009776 Rathbunia alamosensis Nutrition 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 241000824311 Daku Species 0.000 description 1
- 206010044565 Tremor Diseases 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3209—Monitoring remote activity, e.g. over telephone lines or network connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Telephone Function (AREA)
Abstract
本申请提供一种进程调度方法和终端设备,涉及终端技术领域。该进程调度方法,对于进程集合中具有第一标签的第一进程而言,当第一进程被指示调度时,终端设备禁止调度第一进程。这样一来,相当于终端设备的CPU不会执行第一进程,即CPU不会对第一进程分配资源。如此,减少了终端设备的功耗,提高了终端设备的续航时长。或者,将第一进程设置在待调度的进程队列的末尾,由于终端设备每次都是从待调度的进程队列中,执行待调度的进程队列中排序最靠前的进程。这样一来,终端设备执行第一进程的概率降低,即CPU对第一进程分配较少的资源,如此,也减少了终端设备的功耗,提高了终端设备的续航时长。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种进程调度方法和终端设备。
背景技术
目前,随着终端技术的发展,终端设备已经成为人们工作生活的一部分。通常地,终端设备安装有多个应用程序(application,APP)。不同的应用程序可以为用户提供不同的服务,丰富以及方便了用户的生活。
通常情况下,用户在终端设备打开应用程序后,终端设备开始运行在前台被打开的应用程序的进程,如此,应用程序可以为用户提供对应的服务。
然而,应用程序在运行的过程中的功耗较大。这样,会影响终端设备的续航时长。
发明内容
本申请提供一种进程调度方法和终端设备,以改善应用程序在前台运行的过程中的功耗较大,影响终端设备的续航时长的问题。
第一方面,本申请提供了一种进程调度方法,包括:终端设备获取在前台运行的目标应用的进程集合。在进程集合中的第一进程被指示调度时,终端设备获取第一进程的第一标签。终端设备识别第一标签。当第一标签用于指示禁止调度第一进程时,终端设备禁止调度第一进程。或者,当第一标签用于指示第一进程的优先级低于预设阈值时,终端设备将第一进程设置在待调度的进程队列的末尾。
本申请提供的进程调度方法,对于进程集合中具有第一标签的第一进程而言,当第一进程被指示调度时,终端设备禁止调度第一进程。这样一来,相当于终端设备的CPU不会执行第一进程,即CPU不会对第一进程分配资源。如此,减少了终端设备的功耗,提高了终端设备的续航时长。或者,将第一进程设置在待调度的进程队列的末尾,由于终端设备每次都是从待调度的进程队列中,执行待调度的进程队列中排序最靠前的进程。这样一来,终端设备执行第一进程的概率降低,即CPU对第一进程分配较少的资源,如此,也减少了终端设备的功耗,提高了终端设备的续航时长。
在一种可能的实施方式中,第一标签为可中断的等待状态的标识、暂停状态的标识或者跟踪状态的标识。其中,可中断的等待状态的标识、暂停状态的标识或者跟踪状态的标识用于指示禁止调度第一进程。
在一种可能的实施方式中,在终端设备将第一进程设置在待调度的进程队列的末尾之后,本申请提供的的方法还包括:终端设备从待调度的进程队列中,执行待调度的进程队列中排序最靠前的进程。
如此,终端设备调度第一进程的概率低,进而为第一进程分配的资源也少,节省了功耗。
在一种可能的实施方式中,在终端设备获取在前台运行的目标应用的进程集合之前,本申请提供的方法还包括:终端设备对第一进程标记第一标签。
如此,终端设备可以识别第一标签的内容,来决定如何调度第一进程。
进一步地,终端设备对第一进程标记第一标签,包括:终端设备确定执行第一进程是否需要调用终端设备的硬件模块。当不需要调用硬件模块时,终端设备将第一进程的第一标签标记为指示禁止调度。
当终端设备调用硬件模块时,可以实现目标功能。通常地,调用硬件模块实现的目标功能是能够被用户感知到的功能。进而,若在执行第一进程时不需要调度硬件模块时,可以将第一进程的第一标签标记为指示禁止调度,不影响用户的使用体验感。
更进一步地,本申请提供的方法还包括:当需要调用硬件模块时,终端设备获取第一进程的工作参数。当工作参数满足预设条件时,终端设备将第一标签设置为低于预设阈值的优先级。
当终端设备调用硬件模块时,能够实现目标功能。进而,当满足预设条件时,说明目标功能是用户不感兴趣的功能。如此,终端设备可以将第一进程的第一标签标记为指示低于预设阈值的优先级,不影响用户的使用体验感。
更进一步地,当终端设备确定硬件模块为通信模块时,工作参数为第一进程被执行时的数据传输速率。当工作参数满足预设条件时,终端设备将第一标签设置为低于预设阈值的优先级,包括:终端设备获取目标应用的类型。当目标应用的类型不是即时聊天应用时,终端设备确定数据传输速率是否低于预设速率阈值。当数据传输速率低于预设速率阈值时,终端设备将第一标签设置为低于预设阈值的优先级。
当终端设备运行的应用程序类型为不是即时聊天应用,且在执行第一进程时调用了通信模块进行数据传输,且数据传输速率为低于预设速率阈值,则说明终端设备在执行消息收发功能(非即时聊天应用的消息收发功能为用户不感兴趣的功能),则第一进程的第一标签标记为低于预设阈值的优先级,不影响用户的使用体验感。
在一种可能的实施方式中,本申请提供的方法还包括:在进程集合中的第二进程被指示调度时,终端设备获取第二进程的第一标签。终端设备识别第二进程的第一标签。当第二进程的第一标签用于指示禁止调度第二进程时,终端设备禁止调度第二进程。或者,当第二进程的第一标签用于指示第二进程的优先级低于预设阈值时,终端设备将第二进程设置在待调度的进程队列的末尾。
在一种可能的实施方式中,本申请提供的方法还包括:当第一标签用于指示禁止调度第一进程,且第一进程被指示调用的次数大于预设的次数阈值时,终端设备更新第一标签。其中,更新后的第一标签用于指示优先级。或者,当第一标签用于指示优先级低于预设阈值,且第一进程被指示调用次数大于预设的次数阈值时,终端设备更新第一标签,更新后的第一标签所指示的优先级高于预设阈值。其中,第一进程被指示调用为用户触发的。
如此,第一标签指示的内容可以根据用户的行为更新。
在一种可能的实施方式中,第一进程为保活进程、或非即时聊天应用的消息接收进程。
在一种可能的实施方式中,在终端设备获取在前台运行的目标应用的进程集合之前,本申请提供的方法还可以包括:响应于用户的操作,终端设备对第一进程标记第一标签。
如此,第一标签指示的内容是用户设置的。
进一步地,当用户的操作为禁止第一进程对应的目标功能时,终端设备将第一进程的第一标签标记为指示禁止调度。
或者,进一步地,当用户的操作为终止正在执行的第一进程时,且终止的次数超过预设阈值时,终端设备将第一标签设置为低于预设阈值的优先级。
在一种可能的实施方式中,在终端设备禁止调度第一进程,或者,终端设备将第一进程设置在待调度的进程队列的末尾后,本申请提供的方法还包括:终端设备生成在前台运行的目标应用的进程调度日志。终端设备响应于来自测试终端的日志获取请求,向测试终端发送进程调度日志。
如此,用户可以在测试终端的显示界面查阅到进程调度日志。
第三方面,本申请还提供一种终端设备,包括处理器和存储器,存储器用于存储代码指令;处理器用于运行代码指令,使得电子设备以执行如第一方面或第一方面的任一种实现方式中描述的进程调度方法。
第四方面,本申请还提供一种计算机可读存储介质,计算机可读存储介质存储有指令,当指令被执行时,使得计算机执行如第一方面或第一方面的任一种实现方式中描述的进程调度方法。
第五方面,本申请还提供一种计算机程序产品,包括计算机程序,当计算机程序被运行时,使得计算机执行如第一方面或第一方面的任一种实现方式中描述的进程调度方法。
应当理解的是,本申请的第二方面至第五方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为终端设备显示的首页界面的界面示意图;
图2为本申请实施例提供的终端设备的硬件***架构示意图;
图3为本申请实施例提供的终端设备的软件***架构示意图;
图4为本申请实施例提供的进程调度方法的流程图之一;
图5为本申请实施例提供的应用的进程集合包括第一进程和第二进程的示意图;
图6为本申请实施例提供的快手被触发在手机的前台运行的界面示意图;
图7为本申请实施例提供的显示快手的进程调度日志的界面示意图;
图8为本申请实施例提供的显示快手的进程调度日志的界面示意图;
图9为本申请实施例提供的快手在手机的前台运行时,响应到到广告消息传输请求的界面示意图;
图10为本申请实施例提供的进程调度方法的流程图之二;
图11为本申请实施例提供的进程调度方法的流程图之三;
图12为本申请实施例提供的进程调度方法的流程图之四;
图13为本申请实施例提供的进程调度装置的功能模块示意图;
图14为本申请实施例提供的一种终端设备的硬件结构示意图;
图15为本申请实施例提供的一种芯片的结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一值和第二值仅仅是为了区分不同的值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
通常情况下,用户在终端设备打开应用后,终端设备开始运行在前台被打开的应用的进程,如此,应用可以为用户提供对应的服务。
例如,当用户想要观看直播时,用户可以打开的首页界面,以便选择将要观看的直播内容。如图1中的(a)所示,终端设备在响应于对/>打开操作后,终端设备显示的首页界面101。可以理解地,在/>在终端设备的前台运行时,终端设备可以获取在前台运行/>的进程列表。其中,进程列表包括:处于可运行状态的界面数据获取进程、数据解析进程、以及页面显示进程(可以理解地,界面数据获取进程、数据解析进程、以及页面显示进程也可以为一个主进程)等,处于可中断的等待状态的视频播放进程、音频播放进程、视频解码进程、消息收发进程、以及保活进程。当进程列表中的某个进程由于占用资源过多或出现异常,在执行过程中被***关闭时,终端设备的/>可以将保活进程设置为可运行状态(即指示调度保活进程),以执行保活进程,以便将处于关闭的进程设置为可执行状态。
然而,对于用户而言,可能并不关心终端设备在执行保活进程对应的功能。如此,若终端设备高频率的调度保活进程,会使得终端设备的功耗较高,影响终端设备的续航。
有鉴于此,本申请提供了一种进程调度方法,包括:终端设备获取在前台运行的目标应用的进程集合。在进程集合中的第一进程被指示调度时,终端设备获取第一进程的第一标签。终端设备识别上述第一标签。当第一标签用于指示禁止调度第一进程时,终端设备禁止调度第一进程。或者,当第一标签用于指示第一进程的优先级低于预设阈值时,终端设备将第一进程设置在待调度的进程队列的末尾。
可以理解地,本申请提供的进程调度方法,对于进程集合中具有第一标签的第一进程而言,当第一进程被指示调度时,终端设备禁止调度第一进程。这样一来,相当于终端设备的CPU不会执行第一进程,即CPU不会对第一进程分配资源。如此,减少了终端设备的功耗,提高了终端设备的续航时长。或者,将第一进程设置在待调度的进程队列的末尾,由于终端设备每次都是从待调度的进程队列中,执行待调度的进程队列中排序最靠前的进程。这样一来,终端设备执行第一进程的概率降低,即CPU对第一进程分配较少的资源,如此,也减少了终端设备的功耗,提高了终端设备的续航时长。
可以理解的是,上述终端设备也可以称为终端,(terminal)、用户设备(userequipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对终端设备所采用的具体技术和具体设备形态不做限定。
为了能够更好地理解本申请实施例,下面对本申请实施例的终端设备的结构进行介绍。示例性的,图2为本申请实施例提供的一种终端设备的结构示意图。
终端设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,传感器模块180,按键190,指示器192,摄像头193,以及显示屏194等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对终端设备的具体限定。在本申请另一些实施例中,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器110中还可以设置存储器,用于存储指令和数据。处理器110可以用于调度应用的进程,以完成进程对应的功能。例如,调度显示进程完成视频显示,或者,调度声音播放进程,以完成声音播放等,在此不做限定。
终端设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
移动通信模块150可以提供应用在终端设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。
终端设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。在一些实施例中,终端设备可以包括1个或N个显示屏194,N为大于1的正整数。
终端设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
摄像头193用于捕获静态图像或视频。在一些实施例中,终端设备可以包括1个或N个摄像头193,N为大于1的正整数。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。
终端设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端设备可以通过扬声器170A收听音乐,或收听免提通话。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端设备接听电话或语音信息时,可以通过将收话器170B靠近人耳接听语音。麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
终端设备的软件***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构等,在此不再赘述。
本申请实施例以分层架构的Android***为例,示例性说明终端设备100的软件结构。图3为本申请实施例适用的终端设备的一种软件结构框图。分层架构将终端设备100的软件***分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可以将Android***分为五层,分别为应用程序层(applications)、应用程序框架层(application framework)、安卓运行时(Android runtime)和***库、硬件抽象层(hardware abstract layer,HAL)以及内核层(kernel)。
应用程序层可以包括一系列应用程序包,应用程序层通过调用应用程序框架层所提供的应用程序接口(application programming interface,API)运行应用程序。如图3所示,应用程序包可以包括日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供API和编程框架。应用程序框架层包括一些预先定义的函数。如图3所示,应用程序框架层可以包括窗口管理器,电话管理器,音频管理器、蓝牙管理器、网络数据管理器、位置信息管理器以及应用程序管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话等。视图***包括可视控件,例如显示文字的控件,显示图片的控件等。视图***可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。电话管理器用于提供终端设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。蓝牙管理可以用于实现蓝牙的功能,例如,蓝牙的开启或关闭,以及控制蓝牙模块进行数据传输等。网络数据管理器,可以用于管理网络数据;位置信息管理器用于管理GPS模块采集位置信息。应用程序管理器,可以用于获取在前台运行的目标应用的进程集合,以及从进程集合中,识别被标记有第一标签的第一进程。
安卓运行时包括核心库和虚拟机。安卓运行时负责安卓***的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。***库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子***进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成和图层处理等。2D图形引擎是2D绘图的绘图引擎。
硬件抽象层,可以包含多个库模块,库模块如可以为摄像头库模块、马达库模块等。Android***可以为设备硬件加载相应的库模块,进而实现应用程序框架层访问设备硬件的目的。设备硬件可以包括如终端设备中的马达、摄像头等。
内核层是硬件和软件之间的层。内核层用于驱动硬件,使得硬件工作。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动,马达驱动,CPU调度等,本申请实施例对此不做限制。当第一标签用于指示禁止调度第一进程的情况下,在CPU被指示调度第一进程后,CPU可以识别到第一进程的第一标签,进而,禁止调度第一进程。或者,第一标签还可以用于指示第一进程的优先级低于预设的阈值。当第一进程被指示调度时,CPU可以识别到第一进程被标记有第一标签。这样,CPU在将第一进程加入到待调度的进程队列的末尾。
本申请涉及的专业术语:
进程(Process):是计算机中的程序关于某数据集合上的一次运行活动,是***进行资源分配和调度的基本单位,是操作***结构的基础。
保活进程:当保活进程被执行时,可以激活被关闭的进程。其中,进程被关闭的原因可能是由于占用资源过大或者出现异常。
可运行状态(TASK_RUNNING)的进程:即处于R状态的进程,是指正在CPU上执行的进程或者在待调度队列中的进程。
可中断的等待状态(TASK_INTERRUPTIBLE)的进程:即处于S状态的进程,是指处于睡眠状态的进程。当进程被指示调度时,进程被唤醒变成可运行状态。
不可中断的等待状态(TASK_UNINTERRUPTIBLE)的进程:即处于D状态的进程,是指进程被挂起而进入睡眠。但是当进程被指示调度时,进程仍然保持睡眠,不会变成可运行状态。
暂停状态(TASK_STOPPED)的进程:即处于T状态的进程。当进程接收到暂停指示后,处于暂停状态。处于暂停状态的进程,不允许进程通过signal系列的***调用重新设置对应的信号处理函数。即进程被指示调度时,进程仍然保持暂停状态,不会变成可运行状态。
跟踪状态(TASK_TRACED)的进程:也是指处于T状态的进程。当进程暂停下来,等待跟踪它的进程对它进行操作。处于跟踪状态的进程不能响应唤醒指示而被唤醒,即进程仍然保持暂停状态,不会变成可运行状态。
下面,以终端设备为手机100为例,对本申请实施例提供的进程调度方法进行说明,该示例并不构成对本申请实施例的限定。下述实施例可以相互结合,对于相同或相似的概念或过程不再赘述。
在日常生活中,用户为了满足不同的使用需求,手机100可能具有多种不同类型的应用。例如,手机100具有即时聊天应用、直播应用、以及新闻浏览应用等类型的应用。进一步地,即时聊天应用可以包括以及/>等应用;直播应用可以包括抖音、和等应用;新闻浏览应用可以包括/>以及/>等应用。
其中,任一应用对应有一个进程集合。例如,对应的进程集合包括消息收发进程、数据下载进程、定位进程以及保活进程等;/>对应的进程集合包括消息收发进程、视频显示进程、音频播放进程以及保活进程等;/>对应的进程集合包括消息收发进程、页面下载进程、页面显示进程以及保活进程等。
图4为本申请实施例提供的进程调度方法的一种实施例的流程示意图。如图4所示,本申请实施例提供的进程调度方法可以包括:
S401:手机100对各个应用对应的进程集合中的第一进程,标记第一标签。
示例性地,当第一标签用于指示禁止调度时,第一标签可以是不可中断的等待状态的标识“TASK_UNINTERRUPTIBLE”、暂停状态的标识“TASK_STOPPED”、或跟踪状态的标识“TASK_TRACED”等,在此不作限定。可以理解地,可中断的等待状态的标识、暂停状态的标识或者跟踪状态的标识可以用于指示禁止调度第一进程。当然地,第一标签还可以是其他的数值、符号以及字母等,在此不作限定。另外,当第一标签用于指示允许调度时,第一标签可以是可运行状态的标识““TASK_RUNNING”、或者可中断的等待状态的标识“TASK_INTERRUPTIBLE”。可以理解地,如图5所示,每个应用的进程集合可以划分为具有指示禁止调度的第一标签的进程集合,具有指示允许调度的第一标签的进程集合。
示例性地,上述的S401的具体实现包括但不限于以下两种实现方式:
第一种实现方式:手机100可以确定执行第一进程是否需要调用手机100的硬件模块。当不需要调用硬件模块时,手机100将第一进程的第一标签标记为指示禁止调度。
可以理解地,当手机100调用硬件模块时,可以实现目标功能。通常地,调用硬件模块实现的目标功能是能够被用户感知到的功能。例如,对于即时聊天应用而言,目标功能可以是调用通信模块实现的消息收发功能、调用通信模块实现的数据下载功能以及调用定位模块实现的定位功能等。对于直播应用而言,目标功能可以是调用显示模块实现的视频播放功能、以及调用通信模块实现的消息收发功能等。对于新闻浏览应用而言,目标功能可以是调用显示模块实现的数据显示功能、以及调用通信模块实现的消息收发功能等。如此,当不需要调用硬件模块时,手机100执行第一进程实现的功能用户可能感知不到,如此,手机100可以对不需要调用硬件模块的第一进程,标记指示禁止调度的第一标签。
其中,各个应用的进程调用的硬件模块可以如表1所示。
表1
从表1中可以看出,以及/>的保活进程未调用硬件模块。如此,手机100可以将/>以及/>的保活进程的第一标签标记为指示禁止调度。可以理解地,保活进程即被标记指示禁止调度的第一标签的第一进程。
而手机100可以将的消息收发进程、数据下载进程以及定位进程的第一标签标记为指示允许调度;/>的视频显示进程、音频播放进程以及消息收发进程的第一标签标记为指示允许调度;/>的消息收发进程、页面下载进程、页面显示进程的第一标签标记为指示允许调度。
第二种实现方式:当用户的操作为禁止第一进程对应的目标功能时,手机100将第一进程的第一标签标记为指示禁止调度。
示例性地,当手机100在前台运行直播应用时,直播应用正执行消息收发进程弹出广告窗(弹出广告窗即目标功能)。其中,广告窗包括第一控件和第二控件(附图中未示),第一控件用于指示允许接收广告消息,第二控件用于指示禁止接收广告消息。若手机100响应到用户对第二控件的触发操作时,则将直播应用的消息收发进程的第一标签标记为指示禁止调度。
可以理解地,上述的S401的方案,介绍的是手机100如何预先对各个应用对应的进程集合中的第一进程标记第一标签的流程。下面,结合S402-S405说明手机100如何禁止调度第一进程。
S402:手机100获取在前台运行的目标应用的进程集合。
示例性地,手机100的内部存储器可以预存储有各个应用的程序包名与进程集合的映射关系。当目标应用在前台运行时,手机100可以记录目标应用的程序包名。进而,手机100可以根据目标应用的程序包名和映射关系,获取在前台运行的目标应用的进程集合。
示例性地,下面以目标应用为为例,说明手机100如何获取/>的进程集合。如图6所示,手机100显示***桌面601,***桌面601包括/>的图标602。手机100可以响应于用户对/>的图标602的触发操作,显示/>的首页界面603。可以理解地,此时手机100检测到/>在前台运行。进而,手机100根据/>的程序包名和映射关系,获取的进程集合。
S403:手机100在进程集合中第一进程被指示调度时,获取第一进程的第一标签。
可以理解地,进程集合中分为两种进程,第一种进程为待调度的进程队列中的进程。例如,处于可运行状态“TASK_RUNNING”的进程。第二种进程为不在待调度的进程队列中的进程,例如,处于可中断的等待状态“TASK_INTERRUPTIBLE”或不可中断的等待状态“TASK_UNINTERRUPTIBLE等的进程。可以理解地,位于待调度的进程队列中的进程已经被指示调度,而未处于待调度的进程队列中的进程才可以被指示调度。
S404:手机100识别第一标签。
S405:当第一标签用于指示禁止调度第一进程时,手机100禁止调度第一进程。
下面,以第一进程为的保活进程、第一标签为“TASK_UNINTERRUPTIBLE”为例,说明手机100如何禁止调度第一进程。
当的某一个进程出现异常时,可能会被关闭,如此,手机100指示调度保活进程以激活被关闭的进程。进而,手机100识别保活进程携带的第一标签。当手机100识别到保活进程携带有“TASK_UNINTERRUPTIBLE”时,则手机100禁止调度保活进程。
综上上述,本申请提供的进程调度方法,对于进程集合中具有指示禁止调度的第一标签的第一进程而言,当第一进程被指示调度时,手机100禁止调度第一进程。这样一来,相当于手机100的CPU不会执行第一进程,即CPU不会对第一进程分配资源。如此,减少了手机100的功耗,提高了手机100的续航时长。
另外,手机100还可以生成在前台运行的目标应用的进程调度日志。手机100还可以响应于来自测试终端的日志获取请求,发送进程调度日志到用户终端显示。如此,用户可以在测试终端的显示界面查阅到进程调度日志。
示例性地,当目标应用为时,如图7中的(a)所示,在现有技术中,/> 的进程调度日志包括主进程“com.ss.android.ugc.aweme”、消息收发进程1“com.ss.android.ugc.aweme:push”、保活进程A“[Thread-38]”,消息收发进程2“com.ss.android.ugc.aweme:pushservic”、保活进程B“[Thread-38]”。如图7中的(b)所示,在本申请实施例中,/>的进程调度日志包括/>的主进程“com.ss.android.ugc.aweme”、消息收发进程1“com.ss.android.ugc.aweme:push”、消息推送进程2“com.ss.android.ugc.aweme:pushservic”。可见,在本申请实施例中,/>的保活进程被禁止调度。
示例性地,当目标应用为时,如图8中的(a)所示,在现有技术中,/> 的进程调度日志包括新闻浏览进程1“com sina news”、新闻浏览进程2“com sina news:QS”、消息收发进程“com sina news:pushservic”、以及多个ping进程“ping”。如图8中的(b)所示,在本申请实施例中,/>的进程调度日志包括新闻浏览进程1“com sina news”、新闻浏览进程2“com sina news:QS”、消息收发进程“com sina news:pushservic”、以及多个进程“ping”。可见,在本申请实施例中,多个进程“ping”被禁止调度。
在上述的S401中,是以目标功能为手机100预定义的用户能够感知到的功能为例进行说明,手机如何为各个应用的进程集合中的第一进程标记第一标签的。另外,当目标功能是手机100预定义的用户感兴趣的功能时,手机100还可以根据应用的类型、执行第一进程时的工作参数以及是否调用硬件模块,为各个应用的进程集合中的第一进程标记第一标签。示例性地,S401的具体实现方案还可以为:
手机100确定执行第一进程是否需要调用手机100的硬件模块。当需要调用硬件模块时,手机100获取第一进程的工作参数。当工作参数满足预设条件时,手机100将第一标签设置为指示禁止调度(在下述图10对应的实施例中,第一标签设置为优先级低于预设阈值)。
示例性地,当手机100确定硬件模块为通信模块时,工作参数为第一进程被执行时的数据传输速率。手机100确定的目标应用的类型。当目标应用的类型不是即时聊天应用时,手机100确定数据传输速率是否低于预设速率阈值。当数据传输速率低于预设速率阈值时,手机100将第一标签设置为指示禁止调度(在下述图10对应的实施例中,第一标签设置为优先级低于预设阈值)。
可以理解地,各个应用具有不同的类型各个应用的进程集合中的进程可以具有工作参数。例如,的消息收发进程的工作参数可以包括数据传输速率:1k/s等。/>的视频显示进程的工作参数可以包括帧率:30fps、以及解码格式:MP4格式等。/>的页面下载进程包括数据传输速率:100k/s等。
示例地,表2示意出了不同的应用对应的进程集合、应用类型、以及进程集合中进程的工作参数。
表2
示例性地,手机100可以获取运行的应用程序的类型,当手机100运行的应用程序类型为直播应用(即不是即时聊天应用),且在执行进程时调用了通信模块进行数据传输,且数据传输速率为1k/s(低于预设速率阈值10k/s),则说明手机100在执行消息收发功能(直播应用的消息收发功能为用户不感兴趣的功能),则将该进程确定为消息收发进程,并将直播应用的消息收发进程的第一标签标记为指示禁止调度。
当手机100运行的应用程序类型为即时聊天应用,且在执行进程时调用了通信模块进行数据传输,且数据传输速率为1k/s,则说明手机100在执行消息收发功能(即时聊天应用的消息收发功能为用户感兴趣的功能),则将该进程确定为消息收发进程,并将即时聊天应用的消息收发进程的第一标签标记为指示允许调度。
另外,当手机100运行的应用程序类型为即时聊天应用,且在执行进程时调用了通信模块进行数据传输,且数据传输速率为100k/s,则说明手机100在执行数据下载功能(即时聊天应用的数据下载功能为用户感兴趣的功能),则将该进程确定为数据下载进程,并将即时聊天应用的数据下载进程的第一标签标记为指示允许调度。
这样一来,如图9中的(a)-(b)所示,当手机100在显示的首页界面901响应到广告消息的传输请求时,手机100指示调度/>的消息收发进程。然后,手机100识别到消息收发进程的第一标签指示禁止调度时,则禁止调度消息收发进程接收广告消息。进而,如图9中的(b)所示,手机100不会在通知栏显示广告消息。
另外,在上述的实施例中,是以手机100在第一进程被指示调度时,禁止调度第一进程为例,说明如何降低手机100的功耗的。在另一实施例中,手机100还可以使得第一进程的优先级低于待调度的进程队列中其他进程的优先级,来降低手机100的功耗。
可以理解地,在图4基础上,上述的S401-S404的步骤及其具体实现方式中,用于指示禁止调度第一进程的第一标签,可以替换为指示第一进程的优先级低于预设阈值的第一标签。当第一标签被替换为指示第一进程的优先级低于预设阈值后,如图10所示,上述的S405的方案还可以替换为S1001-S1002。其中,
S1001:当第一标签用于指示第一进程的优先级低于预设阈值时,手机100将第一进程设置在待调度的进程队列的末尾。
示例性地,手机100确定待调度的进程队列的方式为:手机100检测出处于可运行状态(TASK_RUNNING)的进程,即位于待调度的进程队列的进程。
S1002:手机100从待调度的进程队列中,执行待调度的进程队列中排序最靠前的进程。
可见,由于手机100每次都是从待调度的进程队列中,执行待调度的进程队列中排序最靠前的进程。这样一来,手机100执行第一进程的概率降低,即CPU对第一进程分配较少的资源,如此,也减少了手机100的功耗,提高了手机100的续航时长。
示例性地,以第一进程为直播应用的保活进程或消息收发进程为例,手机100对的保活进程标记有优先级“100”、视频显示进程标记有优先级“1”、视频显示进程标记有优先级“2”...,消息收发进程标记有优先级“99”。其中,被标记的数值越大的进程的优先级越低。当设定的阈值为90时,直播应用的保活进程、消息收发进程低于设定的阈值。
当保活进程或消息收发进程被指示调度时,手机100保活进程或消息收发进程设置在待调度的进程队列的末尾。通常地,手机100运行直播应用时,待调度的进程队列中通常包括多个进程,且待调度的进程队列中进程可能随时在增加。而手机100优先执行进程队列排序最靠前的进程,由于保活进程或消息收发进程排在待调度队列的末尾。如此,手机100调度保活进程或消息收发进程的概率低,如此,也减少了手机100的功耗,提高了手机100的续航时长。
另外,当第一标签用于指示第一进程的优先级低于预设阈值时,上述的S401中手机100对第一进程标记第一标签的具体实现方式还可以为:当用户的操作为终止正在执行的第一进程时,且终止的次数超过预设阈值时,手机100将第一标签设置为低于预设阈值的优先级。
当手机100在前台运行直播应用时,直播应用正执行消息收发进程弹出广告窗(附图中未示)。其中,广告窗包括第三控件,第三控件用于指示关闭广告窗。若手机100响应到用户对第三控件的触发操作时,则终止正在执行的消息收发进程。当消息收发进程被终止的次数大于预设的阈值时,说明用户对执行消息收发进程对应的目标功能不感兴趣。如此,手机100可以将直播应用的消息收发进程的第一标签标记为优先级低于预设阈值。
在另一些实施例中,第一标签所示指示的内容还可以根据用户的实际需求而更新。示例性地,当第一标签用于指示禁止调度第一进程,且第一进程被指示调用的次数大于预设的次数阈值时,其中,第一进程被指示调用为用户触发的,说明用户具有调用第一进程的需求。如此,手机100更新第一标签,其中,更新后的第一标签用于指示优先级。这样一来,当第一进程再次被指示调度时,手机100可以根据第一标签指示的优先级将第一进程设置在待调度的进程队列中,以满足用户的需求。
或者,当第一标签用于指示优先级低于预设阈值,且第一进程被指示调用次数大于预设的次数阈值时,其中,第一进程被指示调用为用户触发的,说明用户具有优先调用第一进程的需求。如此,手机100更新第一标签,更新后的第一标签所指示的优先级高于设定的阈值。如此,当第一进程再次被指示调度时,手机100可以根据第一标签指示的优先级将第一进程设置在待调度的进程队列中,以满足用户的需求。
另外,在进程集合中的第二进程被指示调度时,手机100获取第二进程的第一标签。手机100识别第二进程的第一标签。当手机100第二进程的第一标签用于指示禁止调度第二进程时,手机100禁止调度第二进程。或者,当第二进程的第一标签用于指示第二进程的优先级低于预设阈值时,手机100将第二进程设置在待调度的进程队列的末尾。可以理解地,当手机100调度的第二进程的原理与手机100调度第一进程的原理相同,在此不再赘述。
可以理解地,本申请实施例提供的进程调度方法的一种实现方式可以概括为如图11所示的流程。如图11所示,本申请实施例提供的进程调度方法包括:
S1101:手机100确定执行第一进程是否调用手机100的硬件模块,如果否,则执行S1102,如果是,则执行S1103。
S1102:手机100将第一进程的第一标签标记为指示禁止调度。
S1103:手机100将第一进程的第一标签标记为指示允许调度。
在S1102或S1103之后,本申请实施例提供的进程调度方法还包括:
S1104:手机100获取在前台运行的目标应用的进程集合。
S1105:手机100在进程集合中第一进程被指示调度时,获取第一进程的第一标签。
S1106:手机100识别第一标签是否用于指示禁止调度,如果是,执行S1107,如果否,则执行S1108。
S1107:手机100禁止调度第一进程。
S1108:手机100根据第一进程的优先级将第一进程设置在待调度的队列中。
可以理解地,本申请实施例提供的进程调度方法的另一种实现方式可以概括为如图12所示的流程。如图12所示,本申请实施例提供的进程调度方法包括:
S1201:手机100确定执行第一进程是否需要调用手机100的硬件模块,如果否,则执行S1202,如果否,则执行1203。
S1202:手机100将第一进程的第一标签标记为指示低于预设阈值的优先级。进而,跳转到S1208。
S1203:手机100确定硬件模块是否为通信模块,如果是,则执行S1204。
S1204:手机100获取目标应用的类型。
S1205:手机100确定目标应用的类型是否为即时聊天应用,如果是,则执行S1206。
S1206:手机100确定第一进程被执行时的数据传输速率是否大于预设的速率阈值,如果是,则执行S1207。
S1207:手机100将第一进程的第一标签设置为低于预设阈值的优先级。
S1208:手机100获取在前台运行的目标应用的进程集合。
S1209:手机100在进程集合中第一进程被指示调度时,获取第一进程的第一标签。
S1210:手机100识别第一标签是否用于指示低于预设阈值的优先级,如果是,则执行S1211,如果否,则执行S1212。
S1211:手机100将第一进程设置在待调度的进程队列的末尾。
S1212:手机100根据第一进程的优先级将第一进程设置在待调度的队列中。
如图13所示,本申请提供了一种进程调度装置1300,包括:处理单元1301,用于获取在前台运行的目标应用的进程集合。在进程集合中的第一进程被指示调度时,获取第一进程的第一标签。识别第一标签。当第一标签用于指示禁止调度第一进程时,禁止调度第一进程。或者,当第一标签用于指示第一进程的优先级低于预设阈值时,将第一进程设置在待调度的进程队列的末尾。
在一种可能的实施方式中,第一标签为可中断的等待状态的标识、暂停状态的标识或者跟踪状态的标识。其中,可中断的等待状态的标识、暂停状态的标识或者跟踪状态的标识用于指示禁止调度第一进程。
在一种可能的实施方式中,处理单元1301,还用于从待调度的进程队列中,执行待调度的进程队列中排序最靠前的进程。
在一种可能的实施方式中,处理单元1301,还用于终端设备对第一进程标记第一标签。
进一步地,处理单元1301,具体用于确定执行第一进程是否需要调用终端设备的硬件模块。当不需要调用硬件模块时,将第一进程的第一标签标记为指示禁止调度。
更进一步地,处理单元1301,具体用于当需要调用硬件模块时,获取第一进程的工作参数。当工作参数满足预设条件时,将第一标签设置为低于预设阈值的优先级。
更进一步地,当确定硬件模块为通信模块时,工作参数为第一进程被执行时的数据传输速率。处理单元1301,具体用于获取目标应用的类型。当目标应用的类型不是即时聊天应用时,确定数据传输速率是否低于预设速率阈值。当数据传输速率低于预设速率阈值时,将第一标签设置为低于预设阈值的优先级。
在一种可能的实施方式中,处理单元1301还用于在进程集合中的第二进程被指示调度时,终端设备获取第二进程的第一标签,识别第二进程的第一标签。当第二进程的第一标签用于指示禁止调度第二进程时,禁止调度第二进程。或者,当第二进程的第一标签用于指示第二进程的优先级低于预设阈值时,将第二进程设置在待调度的进程队列的末尾。
在一种可能的实施方式中,处理单元1301,还用于当第一标签用于指示禁止调度第一进程,且第一进程被指示调用的次数大于预设的次数阈值时,更新第一标签。其中,更新后的第一标签用于指示优先级。或者,当第一标签用于指示优先级低于预设阈值,且第一进程被指示调用次数大于预设的次数阈值时,更新第一标签,更新后的第一标签所指示的优先级高于预设阈值。其中,第一进程被指示调用为用户触发的。
在一种可能的实施方式中,第一进程为保活进程、或非即时聊天应用的消息接收进程。
在一种可能的实施方式中,处理单元1301,还用于响应于用户的操作,终端设备对第一进程标记第一标签。
进一步地,当用户的操作为禁止第一进程对应的目标功能时,处理单元1301还用于将第一进程的第一标签标记为指示禁止调度。或者,进一步地,当用户的操作为终止正在执行的第一进程时,且终止的次数超过预设阈值时,处理单元1301还用于将第一标签设置为低于预设阈值的优先级。
在一种可能的实施方式中,处理单元1301还用于生成在前台运行的目标应用的进程调度日志。该进程调度装置1300还可以包括:通信单元1302,用于响应于来自测试终端的日志获取请求,向测试终端发送进程调度日志。
示例性的,图14为本申请实施例提供的一种终端设备的硬件结构示意图,如图14所示,该终端设备包括处理器1401,通信线路1404以及至少一个通信接口(图14中示例性的以通信接口1403为例进行说明)。
处理器1401可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路1404可包括在上述组件之间传送信息的电路。
通信接口1403,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线局域网(wireless local area networks,WLAN)等。
可能的,该终端设备还可以包括存储器1402。
存储器1402可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路1404与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器1402用于存储执行本申请方案的计算机执行指令,并由处理器1401来控制执行。处理器1401用于执行存储器1402中存储的计算机执行指令,从而实现本申请实施例所提供的进程调度方法。
可能的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,处理器1401可以包括一个或多个CPU,例如图14中的CPU0和CPU1。
在具体实现中,作为一种实施例,终端设备可以包括多个处理器,例如图14中的处理器1401和处理器1405。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
示例性的,图15为本申请实施例提供的一种芯片的结构示意图。芯片150包括一个或两个以上(包括两个)处理器1510和通信接口1530。
在一些实施方式中,存储器1540存储了如下的元素:可执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
本申请实施例中,存储器1540可以包括只读存储器和随机存取存储器,并向处理器1510提供指令和数据。存储器1540的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
本申请实施例中,存储器1540、通信接口1530以及存储器1540通过总线***1520耦合在一起。其中,总线***1520除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。为了便于描述,在图15中将各种总线都标为总线***1520。
上述本申请实施例描述的方法可以应用于处理器1510中,或者由处理器1510实现。处理器1510可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1510中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1510可以是通用处理器(例如,微处理器或常规处理器)、数字信号处理器(digitalsignal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门、晶体管逻辑器件或分立硬件组件,处理器1510可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。其中,软件模块可以位于随机存储器、只读存储器、可编程只读存储器或带电可擦写可编程存储器(electricallyerasable programmable read only memory,EEPROM)等本领域成熟的存储介质中。该存储介质位于存储器1540,处理器1510读取存储器1540中的信息,结合其硬件完成上述方法的步骤。
在上述实施例中,存储器存储的供处理器执行的指令可以以计算机程序产品的形式实现。其中,计算机程序产品可以是事先写入在存储器中,也可以是以软件形式下载并安装在存储器中。
计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。例如,可用介质可以包括磁性介质(例如,软盘、硬盘或磁带)、光介质(例如,数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本申请实施例还提供了一种计算机可读存储介质。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
作为一种可能的设计,计算机可读介质可以包括紧凑型光盘只读储存器(compactdisc read-only memory,CD-ROM)、RAM、ROM、EEPROM或其它光盘存储器;计算机可读介质可以包括磁盘存储器或其它磁盘存储设备。而且,任何连接线也可以被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,DSL或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘(CD),激光盘,光盘,数字通用光盘(digital versatile disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。
上述的组合也应包括在计算机可读介质的范围内。以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种进程调度方法,其特征在于,所述方法包括:
终端设备获取在前台运行的目标应用的进程集合;
在所述进程集合中的第一进程被指示调度时,所述终端设备获取所述第一进程的第一标签;
所述终端设备识别所述第一标签;
当所述第一标签用于指示禁止调度所述第一进程时,所述终端设备禁止调度所述第一进程;
或者,当所述第一标签用于指示所述第一进程的优先级低于预设阈值时,所述终端设备将所述第一进程设置在待调度的进程队列的末尾;
在所述终端设备获取在前台运行的目标应用的进程集合之前,所述方法还包括:
所述终端设备对所述第一进程标记所述第一标签;
或者,响应于用户的操作,所述终端设备对所述第一进程标记所述第一标签;
所述终端设备对所述第一进程标记所述第一标签,包括:
所述终端设备确定执行所述第一进程是否需要调用所述终端设备的硬件模块;
当不需要调用所述硬件模块时,所述终端设备将所述第一进程的所述第一标签标记为指示禁止调度;
当需要调用所述硬件模块时,所述终端设备获取所述第一进程的工作参数;
当所述工作参数满足预设条件时,所述终端设备将所述第一标签设置为低于预设阈值的优先级;
当所述终端设备确定所述硬件模块为通信模块时,所述工作参数为第一进程被执行时的数据传输速率;
所述当所述工作参数满足预设条件时,所述终端设备将所述第一标签设置为低于预设阈值的优先级,包括:
所述终端设备获取所述目标应用的类型,
当所述目标应用的类型不是即时聊天应用时,所述终端设备确定所述数据传输速率是否低于预设速率阈值;
当所述数据传输速率低于所述预设速率阈值时,所述终端设备将所述第一标签设置为低于预设阈值的优先级。
2.根据权利要求1所述的方法,其特征在于,所述第一标签为可中断的等待状态的标识、暂停状态的标识或者跟踪状态的标识,其中,所述可中断的等待状态的标识、暂停状态的标识或者跟踪状态的标识用于指示禁止调度所述第一进程。
3.根据权利要求1所述的方法,其特征在于,在所述终端设备将所述第一进程设置在所述待调度的进程队列的末尾之后,所述方法还包括:
所述终端设备从所述待调度的进程队列中,执行所述待调度的进程队列中排序最靠前的进程。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述进程集合中的第二进程被指示调度时,所述终端设备获取所述第二进程的第一标签;
终端设备识别所述第二进程的第一标签;
当所述第二进程的第一标签用于指示禁止调度所述第二进程时,所述终端设备禁止调度所述第二进程;
或者,当所述第二进程的第一标签用于指示所述第二进程的优先级低于预设阈值时,所述终端设备将所述第二进程设置在待调度的进程队列的末尾。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一标签用于指示禁止调度所述第一进程,且所述第一进程被指示调用的次数大于预设的次数阈值时,所述终端设备更新所述第一标签,其中,更新后的所述第一标签用于指示优先级;
或者,当所述第一标签用于指示优先级低于预设阈值,且所述第一进程被指示调用次数大于预设的次数阈值时,所述终端设备更新所述第一标签,更新后的所述第一标签所指示的优先级高于所述预设阈值;
其中,所述第一进程被指示调用为用户触发的。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述第一进程为保活进程、或非即时聊天应用的消息接收进程。
7.根据权利要求1所述的方法,其特征在于,当所述用户的操作为禁止所述第一进程对应的目标功能时,所述终端设备将所述第一进程的所述第一标签标记为指示禁止调度。
8.根据权利要求1所述的方法,其特征在于,当所述用户的操作为终止正在执行的第一进程时,且终止的次数超过预设阈值时,所述终端设备将所述第一标签设置为低于预设阈值的优先级。
9.根据权利要求1所述的方法,其特征在于,在所述终端设备禁止调度所述第一进程,或者,所述终端设备将所述第一进程设置在待调度的进程队列的末尾后,所述方法还包括:
所述终端设备生成在前台运行的所述目标应用的进程调度日志;
所述终端设备响应于来自测试终端的日志获取请求,向所述测试终端发送所述进程调度日志。
10.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使得所述终端设备执行如权利要求1至9任一项所述的方法。
11.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得计算机执行如权利要求1至9任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111383522.0A CN115016631B (zh) | 2021-11-22 | 2021-11-22 | 进程调度方法和终端设备 |
EP22839610.7A EP4206864A1 (en) | 2021-11-22 | 2022-09-13 | Process scheduling method and terminal device |
US18/006,763 US20240248752A1 (en) | 2021-11-22 | 2022-09-13 | Process scheduling method and terminal device |
PCT/CN2022/118545 WO2023087875A1 (zh) | 2021-11-22 | 2022-09-13 | 进程调度方法和终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111383522.0A CN115016631B (zh) | 2021-11-22 | 2021-11-22 | 进程调度方法和终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115016631A CN115016631A (zh) | 2022-09-06 |
CN115016631B true CN115016631B (zh) | 2023-07-18 |
Family
ID=83064808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111383522.0A Active CN115016631B (zh) | 2021-11-22 | 2021-11-22 | 进程调度方法和终端设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240248752A1 (zh) |
EP (1) | EP4206864A1 (zh) |
CN (1) | CN115016631B (zh) |
WO (1) | WO2023087875A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115016631B (zh) * | 2021-11-22 | 2023-07-18 | 荣耀终端有限公司 | 进程调度方法和终端设备 |
CN116661985B (zh) * | 2022-10-25 | 2024-05-14 | 荣耀终端有限公司 | 一种垃圾回收的守护线程的管理方法、装置及电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107944257A (zh) * | 2017-11-21 | 2018-04-20 | 广东欧珀移动通信有限公司 | 以服务方式启动应用的控制方法、装置、存储介质及终端 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69738646T2 (de) * | 1996-08-28 | 2008-11-13 | Hitachi, Ltd. | Verfahren zur Ausführung eines Prozesses und Betriebsmittelzugriffsverfahren in einem Computer-System |
US8250384B2 (en) * | 2009-01-05 | 2012-08-21 | International Business Machines Corporation | Optimizer mechanism to increase battery length for mobile devices |
US8677361B2 (en) * | 2010-09-30 | 2014-03-18 | International Business Machines Corporation | Scheduling threads based on an actual power consumption and a predicted new power consumption |
WO2012108058A1 (ja) * | 2011-02-10 | 2012-08-16 | 富士通株式会社 | スケジューリング方法、設計支援方法、およびシステム |
US9218497B2 (en) * | 2014-02-24 | 2015-12-22 | Microsoft Technology Licensing, Llc | Incentive-based app execution |
CN107368326A (zh) * | 2016-05-13 | 2017-11-21 | 腾讯科技(深圳)有限公司 | 进程控制方法和装置 |
CN107479951B (zh) * | 2017-07-31 | 2020-02-11 | Oppo广东移动通信有限公司 | 进程管控方法、装置、存储介质及电子设备 |
CN107463403B (zh) * | 2017-07-31 | 2020-04-21 | Oppo广东移动通信有限公司 | 进程控制方法、装置、存储介质以及电子设备 |
CN107943269B (zh) * | 2017-11-21 | 2021-01-01 | Oppo广东移动通信有限公司 | 调度作业控制方法、装置、终端设备及存储介质 |
CN109992394B (zh) * | 2017-12-29 | 2021-08-17 | Oppo广东移动通信有限公司 | 进程处理方法和装置、电子设备、计算机可读存储介质 |
CN110032267B (zh) * | 2018-01-10 | 2021-05-18 | Oppo广东移动通信有限公司 | 信息处理方法、装置、移动终端及计算机可读存储介质 |
CN110032429B (zh) * | 2018-01-10 | 2022-03-18 | Oppo广东移动通信有限公司 | 信息处理方法、装置、移动终端及计算机可读存储介质 |
EP3779690A4 (en) * | 2018-04-20 | 2021-05-12 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | PROCESSOR CORE PLANNING METHOD AND DEVICE, TERMINAL DEVICE AND STORAGE MEDIUM |
CN115016631B (zh) * | 2021-11-22 | 2023-07-18 | 荣耀终端有限公司 | 进程调度方法和终端设备 |
-
2021
- 2021-11-22 CN CN202111383522.0A patent/CN115016631B/zh active Active
-
2022
- 2022-09-13 US US18/006,763 patent/US20240248752A1/en active Pending
- 2022-09-13 WO PCT/CN2022/118545 patent/WO2023087875A1/zh active Application Filing
- 2022-09-13 EP EP22839610.7A patent/EP4206864A1/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107944257A (zh) * | 2017-11-21 | 2018-04-20 | 广东欧珀移动通信有限公司 | 以服务方式启动应用的控制方法、装置、存储介质及终端 |
Also Published As
Publication number | Publication date |
---|---|
WO2023087875A1 (zh) | 2023-05-25 |
CN115016631A (zh) | 2022-09-06 |
US20240248752A1 (en) | 2024-07-25 |
EP4206864A1 (en) | 2023-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240231890A1 (en) | Memory management method and electronic device | |
US11861382B2 (en) | Application starting method and apparatus, and electronic device | |
CN113553130B (zh) | 应用执行绘制操作的方法及电子设备 | |
CN115016631B (zh) | 进程调度方法和终端设备 | |
KR20150066083A (ko) | 전자 장치의 멀티 태스킹 방법 및 그 전자 장치 | |
CN113032766B (zh) | 应用权限管理的方法和装置 | |
WO2022078105A1 (zh) | 内存管理方法、电子设备以及计算机可读存储介质 | |
CN113986092B (zh) | 消息显示方法和装置 | |
WO2021185352A1 (zh) | 一种版本升级方法及相关装置 | |
CN116048933B (zh) | 一种流畅度检测方法 | |
CN113709026B (zh) | 即时通信消息的处理方法、设备、存储介质和程序产品 | |
CN111381996B (zh) | 内存异常处理方法及装置 | |
CN116737330B (zh) | 任务处理方法和电子设备 | |
CN116088955B (zh) | 进程处理方法和终端设备 | |
CN116055443B (zh) | 识别社交场景的方法、电子设备及计算机可读存储介质 | |
CN116088944B (zh) | 界面显示方法和装置 | |
CN116089320B (zh) | 垃圾回收方法和相关装置 | |
CN117131497B (zh) | 一种软件检测方法及电子设备 | |
WO2023185684A1 (zh) | 一种应用程序的进程查杀方法及电子设备 | |
CN117130698A (zh) | 一种菜单显示方法及电子设备 | |
CN116095230A (zh) | 应用程序推荐方法和相关装置 | |
CN118277120A (zh) | 一种管理***服务的方法及相关装置 | |
CN115700443A (zh) | 分屏推荐方法和装置 | |
CN118394242A (zh) | 一种悬浮窗的管理方法及相关装置 | |
CN117707242A (zh) | 温度控制方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40075862 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |