CN116737330B - 任务处理方法和电子设备 - Google Patents
任务处理方法和电子设备 Download PDFInfo
- Publication number
- CN116737330B CN116737330B CN202211071787.1A CN202211071787A CN116737330B CN 116737330 B CN116737330 B CN 116737330B CN 202211071787 A CN202211071787 A CN 202211071787A CN 116737330 B CN116737330 B CN 116737330B
- Authority
- CN
- China
- Prior art keywords
- task
- processed
- priority
- identification
- electronic equipment
- 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
- 238000003672 processing method Methods 0.000 title abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 55
- 238000000034 method Methods 0.000 claims description 53
- 238000004590 computer program Methods 0.000 claims description 13
- 230000000694 effects Effects 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 11
- 230000006872 improvement Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000010295 mobile communication Methods 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 5
- 208000015181 infectious disease Diseases 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 210000000988 bone and bone Anatomy 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000824311 Daku Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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
- G06F9/5038—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 considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Telephone Function (AREA)
Abstract
本申请提供一种任务处理方法和电子设备,涉及终端技术领域。该任务处理方法,在对待处理任务的标识的未处理时长进行计时的情况下,使得所述待处理任务位于实时任务队列中,可以使得系统组件对待处理任务进行优先处理。而且,由于关键时长点小于预设的应用未响应ANR超时时长,电子设备在确定对待处理任务的标识计时的未处理时长,达到配置参数中的关键时长点时,提高待处理任务的标识的优先级,以使得系统组件对待处理任务进行优先处理。这样一来,可以尽量使得待处理任务在ANR超时时长内被处理,以避免电子设备出现ANR事件。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种任务处理方法和电子设备。
背景技术
目前,随着终端技术的发展,终端设备已经成为人们工作生活的一部分。终端设备可以在前台运行一个应用程序的同时,还可以在后台运行多个应用程序。如此,各个正在运行的应用程序的线程占用了大量的电子设备的CPU的资源。
这样一来,当某一应用程序接受到任务请求(如刷新页面,跳转页面)时,任务请求关联的待处理任务,可能不会得到CPU的及时处理。这样一来,若接收到任务请求的是在后台运行的应用程序,则电子设备会关闭该后台运行的应用程序。若接收到任务请求的是在前台运行的应用程序,则电子设备会先显示弹窗,以让用户选择是继续等待还是关闭应用程序。如此,会因任务请求关联的待处理任务没有得到CPU的及时处理,而造成在后台运行的应用程序被误关闭;或者在前台运行的应用程序,因任务请求关联的待处理任务没有得到CPU的及时处理显示上述的弹窗。其中,前述的电子设备会关闭该后台运行的应用程序及电子设备先显示弹窗,均为电子设备的出现了应用未响应ANR事件。
发明内容
本申请提供一种任务处理方法和电子设备,可以优先处理待处理任务,使得待处理任务可以得到CPU的及时处理。
第一方面,本申请提供了一种任务处理方法,应用于电子设备。本申请提供的方法包括:电子设备根据监听接收到的任务请求,获取任务请求对应的目标应用程序的标识和待处理任务的标识,并对待处理任务的标识的未处理时长进行计时,且使得所述待处理任务位于实时任务队列中。电子设备根据目标应用程序的标识和待处理任务的标识,确定关联的系统组件和系统组件对应的配置参数。电子设备在确定对待处理任务的标识计时的未处理时长,达到配置参数中的关键时长点时,提高待处理任务的标识的优先级,以使得系统组件对待处理任务进行优先处理。其中,关键时长点小于预设的应用未响应ANR超时时长。
本申请提供的一种任务处理方法,在对待处理任务的标识的未处理时长进行计时的情况下,使得所述待处理任务位于实时任务队列中,可以使得系统组件对待处理任务进行优先处理。而且,由于关键时长点小于预设的应用未响应ANR超时时长,电子设备在确定对待处理任务的标识计时的未处理时长,达到配置参数中的关键时长点时,提高待处理任务的标识的优先级,以使得系统组件对待处理任务进行优先处理。这样一来,可以尽量使得待处理任务在ANR超时时长内被处理,以避免电子设备出现ANR事件。
在一种可能的实施方式中,配置参数包括至少两个关键时长点,以及每个关键时长点对应一个优先级别;其中,关键时长点越大,关键时长点对应的优先级别也越大。则电子设备在确定对待处理任务的标识计时的未处理时长,达到配置参数中的关键时长点时,提高待处理任务的标识的优先级,包括:电子设备在确定对待处理任务的标识计时的未处理时长,达到配置参数中第一关键时长点时,将待处理任务的标识对应的优先级提高至第一关键时长点对应的第一优先级别。电子设备继续对待处理任务标识的未处理时长进行计时,在确定未处理时长没有达到配置参数中第二关键时长点之前,待处理任务被系统组件处理,则取消对待处理任务的标识的监听。
在一种可能的实施方式中,在将待处理任务的标识对应的优先级提高至第一关键时长点对应的第一优先级别之后,本申请提供的方法还包括:电子设备继续对待处理任务的标识的未处理时长进行计时,在确定未处理时长达到配置参数中第二关键时长点时,将待处理任务的标识对应的第一优先级别提高至第二关键时长点对应的第二优先级别,并继续对待处理任务标识的未处理时长进行计时。
可以理解地,第二关键时长点对应的第二优先级别,高于第一关键时长点对应的第一优先级别。如此,可以使得尽量不影响电子设备处理其他任务的情况下,梯次提高待处理任务的优先级,使得待处理任务尽量被优先处理。
在一种可能的实施方式中,关联的系统组件的数量为多个,电子设备在确定对待处理任务的标识计时的未处理时长,达到配置参数中第一关键时长点时,将待处理任务的标识对应的优先级提高至第一关键时长点对应的第一优先级别,包括:电子设备对于每个关联的系统组件,电子设备确定未处理时长达到系统组件对应的配置参数中的第一关键时长节点时,从多个系统组件的配置参数中与第一关键时长节点对应的第一优先级中,获取级别最高的第一优先级。电子设备将待处理任务的标识对应的优先级,提高至级别最高的第一优先级别。
可以理解地,将待处理任务的标识对应的优先级,提高至级别最高的第一优先级别,这样一来,可以提高待处理任务被优先处理的概率。
在一种可能的实施方式中,在电子设备确定关联的系统组件和系统组件对应的配置参数之后,本申请提供的方法还包括:电子设备识别线程锁是否被除待处理任务以外的目标任务占用,且目标任务的数量达到预设阈值。若是,则电子设备提高目标任务的标识的优先级,且使得目标任务位于实时任务队列中,以使得系统组件对目标任务进行优先处理;电子设备在目标任务处理完毕后,释放线程锁,以将线程锁分配到待处理任务。
这样一来,可以进一步提高待处理任务被优先处理的概率。
在一种可能的实施方式中,在电子设备根据监听接收到的任务请求,获取任务请求对应的目标应用程序的标识和待处理任务的标识之前,本申请提供的方法还包括:电子设备获取配置请求,配置请求包括待配置的系统组件的标识及待配置的系统组件对应的待配置参数,待配置参数包括:待配置的ANR超时时长和待配置的关键时长点;或者待配置的ANR超时时长、待配置的关键时长点以及关键时长点对应的优先级别。根据配置请求,配置待配置的系统组件的配置参数。
这样一来,用户可以根据个人的需求配置系统组件的配置参数。
在一种可能的实施方式中,本申请提供的方法还包括:在待处理任务被处理完毕后,将对待处理任务的标识的优先级,降低到提高前的优先级。
这样一来,使得待处理任务在后续不影响电子设备处理其他任务。
在一种可能的实施方式中,在电子设备根据监听接收到的任务请求,获取任务请求对应的目标应用程序的标识和待处理任务的标识,并对待处理任务的标识的未处理时长进行计时之后,本申请提供的方法还包括:电子设备缓存待处理任务的标识及提高前的优先级。在待处理任务被处理完毕后,本申请提供的方法还包括:电子设备根据缓存的待处理任务的标识,将对待处理任务的标识的优先级,降低到缓存的提高前的优先级;电子设备删除缓存的待处理任务的标识及优先级。
这样一来,可以提高电子设备处理任务的标识的优先级在被降低后的效率和可靠性。
在一种可能的实施方式中,电子设备在后台运行目标应用程序,本申请提供的方法还包括:若未处理时长达到超时时长,且待处理任务未被处理完毕,则电子设备关闭目标应用程序。
在一种可能的实施方式中,电子设备在前台运行目标应用程序,本申请提供的方法还包括:若电子设备在未处理时长达到超时时长,且待处理任务未被处理完毕,则显示弹窗,弹窗包括第一控件和第二控件,第一控件用于指示继续等待处理待处理任务,第二控件用于指示关闭目标应用程序。电子设备响应于用户对第一控件的触发操作,继续等待处理待处理任务。或者,电子设备响应于用户对第二控件的触发操作,关闭目标应用程序。
在一种可能的实施方式中,系统组件包括:活动组件、服务组件、广播接收组件及内容提供组件。
第二方面,本申请还提供了一种任务处理装置,包括:处理单元,用于根据监听接收到的任务请求,获取任务请求对应的目标应用程序的标识和待处理任务的标识,并对待处理任务的标识的未处理时长进行计时,且使得所述待处理任务位于实时任务队列。处理单元,还用于根据目标应用程序的标识和待处理任务的标识,确定关联的系统组件和系统组件对应的配置参数。处理单元,还用于在确定对待处理任务的标识计时的未处理时长,达到配置参数中的关键时长点时,提高待处理任务的标识的优先级,以使得系统组件对待处理任务进行优先处理。其中,关键时长点小于预设的应用未响应ANR超时时长。
第三方面,本申请提供一种电子设备,包括处理器和存储器,存储器用于存储代码指令;处理器用于运行代码指令,使得电子设备以执行如第一方面或第一方面的任一种实现方式中描述的任务处理方法。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有指令,当指令被执行时,使得计算机执行如第一方面或第一方面的任一种实现方式中描述的任务处理方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,当计算机程序被运行时,使得计算机执行如第一方面或第一方面的任一种实现方式中描述的任务处理方法。
应当理解的是,本申请的第二方面至第五方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为对的首页界面输入上滑操作时,出现ANR事件的界面示意图;
图2为本申请实施例提供的终端设备的硬件系统架构示意图;
图3为本申请实施例提供的终端设备的软件系统架构示意图;
图4为本申请实施例提供的任务处理方法的流程图之一;
图5为本申请实施例提供的对的首页界面输入上滑操作时,上滑操作对应的待处理任务被优先处理后的界面示意图;
图6为本申请实施例提供的任务处理方法的流程图之二;
图7为本申请实施例提供的任务处理装置的功能模块示意图;
图8为本申请实施例提供的一种电子设备的硬件结构示意图;
图9为本申请实施例提供的一种芯片的结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一值和第二值仅仅是为了区分不同的值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,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可以是单个,也可以是多个。
目前,随着终端技术的发展,终端设备已经成为人们工作生活的一部分。终端设备可以在前台运行一个应用程序的同时,还可以在后台运行多个应用程序。如此,各个正在运行的应用程序的线程占用了大量的电子设备的CPU的资源。
这样一来,当某一应用程序接受到任务请求(如刷新页面,跳转页面)时,任务请求关联的待处理任务,可能不会得到CPU的及时处理。
示例性地,如图1中的(a)所示,电子设备100显示操作系统的桌面101,桌面101包括的图标102。当用户想要观看直播时,用户可以打开/>的首页界面103,以便选择将要观看的直播内容。如图1中的(a)-(b)所示,电子设备100在响应于对/> 的图标102触发操作后,显示/>的首页界面103。如图1中的(b)所示,当用户想要刷新首页界面103中的内容时,电子设备100还可以响应于用户在首页界面103的上滑操作,获取与上滑操作关联的待处理任务,且电子设备开始计时。如图1中的(c)所示,若电子设备运行的其他应用占用了大量的电子设备的CPU的资源,在计时时长达到预设的超时时长时,与上滑操作关联的待处理任务仍未被处理,则电子设备在首页界面103显示弹窗104。即电子设备的出现了应用未响应ANR事件。
弹窗104包括提示信息“系统没有响应,请确认继续等到还是关闭”,弹窗104内还包括确认按钮和关闭按钮。如图1中的(c)-(d)所示,电子设备100可以响应于用户对关闭按钮的触发操作,关闭首页界面103。如此,未能满足用户的浏览需求。
有鉴于此,本申请还提供了一种任务处理方法,可以提高待处理任务的标识的优先级,且使得待处理任务位于实时任务队列中,以使得系统组件对待处理任务进行优先处理。这样一来,可以尽量使得待处理任务在ANR超时时长内被处理,以避免电子设备出现ANR事件。
可以理解的是,上述电子设备也可以称为终端,(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中还可以设置存储器,用于存储指令和数据。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备充电,也可以用于电子设备与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。电源管理模块141用于连接充电管理模块140与处理器110。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备中的天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
移动通信模块150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。
无线通信模块160可以提供应用在电子设备上的包括无线局域网(wirelesslocalarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM)等无线通信的解决方案。
电子设备通过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,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。陀螺仪传感器180B可以用于确定电子设备的运动姿态。气压传感器180C用于测量气压。磁传感器180D包括霍尔传感器。加速度传感器180E可检测电子设备在各个方向上(一般为三轴)加速度的大小。距离传感器180F,用于测量距离。接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。环境光传感器180L用于感知环境光亮度。指纹传感器180H用于采集指纹。温度传感器180J用于检测温度。触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。骨传导传感器180M可以获取振动信号。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
电子设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构等,在此不再赘述。
本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。图3为本申请实施例适用的电子设备的一种软件结构框图。分层架构将电子设备100的软件系统分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可以将Android系统分为五层,分别为应用程序层(applications)、应用程序框架层(application framework)、安卓运行时(Android runtime)和系统库、硬件抽象层(hardware abstract layer,HAL)以及内核层(kernel)。
应用程序层可以包括一系列应用程序包,应用程序层通过调用应用程序框架层所提供的应用程序接口(application programming interface,API)运行应用程序。如图3所示,应用程序包可以包括日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供API和编程框架。应用程序框架层包括一些预先定义的函数。如图3所示,应用程序框架层可以包括窗口管理器,电话管理器,活动组件、服务组件、广播接收组件、内容提供组件以及应用程序管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
活动组件(activity):可以看成是安卓系统的根本,在这个根本上才可以进行其他的工作,因为在安卓系统里运行的所有的程序,它的流程都必须在【活动】中运行,所有他是最基本的模块。它的作用是一个框架或页面,每个程序会有多个【活动】组成。
服务组件(Service):是安卓里非常很重要的组件,它的地位和优先级别是与活动相似的,不过Service不能够自己运行,它只能在安卓的后台运行。它的作用就是与安卓的其他逐渐进行交互,举个简单例子:当我们打开手机上音乐播放器并将它放到后台,此时播放的音乐就是由Service在负责控制。
广播接收组件(Broadcast Receiver):是程序之间传递信息时的一种机制,作用就是接收或者发送通知。通俗的来说广播接收器更像是一种传递组件,它能够将信息接收,甚至还可以对它进行过滤然后进行响应。
内容提供组件用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话等。
应用程序管理器,可以用于根据监听接收到的任务请求,获取所述任务请求对应的目标应用程序的标识和待处理任务的标识。
安卓运行时包括核心库和虚拟机。安卓运行时负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成和图层处理等。2D图形引擎是2D绘图的绘图引擎。
硬件抽象层,可以包含多个库模块,库模块如可以为摄像头库模块、马达库模块等。Android系统可以为设备硬件加载相应的库模块,进而实现应用程序框架层访问设备硬件的目的。设备硬件可以包括如电子设备中的马达、摄像头等。
内核层是硬件和软件之间的层。内核层用于驱动硬件,使得硬件工作。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动,马达驱动,CPU调度等,本申请实施例对此不做限制。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以独立实现,也可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
请参阅图4,本申请实施例提供了一种任务处理方法,应用于电子设备。在本申请实施例以电子设备采用手机、目标应用程序为为例说明任务处理方法。本申请实施例提供的方法包括:
S401:电子设备根据监听接收到的任务请求,获取任务请求对应的目标应用程序的标识和待处理任务的标识,并对待处理任务的标识的未处理时长进行计时,且使得待处理任务位于实时任务队列中。
示例性地,如图5中的(a)所示,电子设备100显示操作系统的桌面101,桌面101包括的图标102。当用户想要观看直播时,用户可以打开/>的首页界面103,以便选择将要观看的直播内容。如图5中的(a)-(b)所示,电子设备100在响应于对/> 的图标102触发操作后,显示/>的首页界面103。如图5中的(b)所示,当用户想要刷新首页界面103中的内容时,电子设备100还可以响应于用户在首页界面103的上滑操作,这时电子设备根据监听接收到的与上滑操作关联的任务请求,获取任务请求对应的/>的标识和待处理任务(如界面刷新任务)的标识。这时,开始对待处理任务(界面刷新任务)的标识的未处理时长进行计时。
另外,电子设备将待处理任务添加到实时任务队列中,可以使得待处理任务被优先处理。
S402:电子设备根据目标应用程序的标识和待处理任务的标识,确定关联的系统组件和系统组件对应的配置参数。
需要说明的是,系统组件包括:活动组件、服务组件、广播接收组件及内容提供组件,即安卓系统的四大组件。各系统组件分别对应的配置参数可以是如下所示:
示例性地,电子设备根据的标识和界面刷新任务的标识,确定关联的系统组件。其中,关联的系统组件可以是上述的安卓系统的四大组件一个或多个。
需要说明的是,上述的配置参数可以是在S101之前预先配置的。具体地,配置参数方式可以为:电子设备获取配置请求,配置请求包括待配置的系统组件的标识及待配置的系统组件对应的待配置参数,待配置参数可以包括:待配置的ANR超时时长和待配置的关键时长点。可选地,待配置参数也可以包括:待配置的ANR超时时长、待配置的关键时长点以及关键时长点对应的优先级别。示例性地,各个系统组件分别对应的ANR超时时长、关键时长点及关键时长点对应的优先级,如上述所示。
进而,电子设备可以根据配置请求,配置待配置的系统组件的配置参数。这样一来,用户可以根据个人的需求配置系统组件的配置参数。
S403:电子设备在确定对待处理任务的标识计时的未处理时长,达到配置参数中的关键时长点时,提高待处理任务的标识的优先级,且使得待处理任务位于实时任务队列中,以使得系统组件对待处理任务进行优先处理。其中,关键时长点小于预设的应用未响应ANR超时时长。
示例性地,基于上述可知,配置参数包括至少两个关键时长点,以及每个关键时长点对应一个优先级别。其中,关键时长点越大,关键时长点对应的优先级别也越大。下面,基于上述的S403中对应的实施例,以系统组件为活动组件为例,解释说明配置参数。
示例性地,活动组件对应的配置参数包括:ANR超时时长为5s,关键时长点2s、关键时长点3s、以及关键时长点4s,关键时长点2s对应的优先级为99,关键时长点3s对应的优先级为80,关键时长点4s对应的优先级为70。其中,优先级的取值越低,优先级的级别越高。
进而,电子设备在确定对待处理任务的标识计时的未处理时长,达到配置参数中第一关键时长点时,将待处理任务的标识对应的优先级提高至第一关键时长点对应的第一优先级别。
下面,以待处理的任务为对的首页界面的界面刷新任务为例,说明如何提高界面刷新任务的标识的优先级。
若界面刷新任务的初始优先级为120,当对界面刷新任务的标识计时的未处理时长达到2s(即第一关键时长点)时,将界面刷新任务的标识对应的优先级提高至2s对应的优先级99(即第一优先级级别)。需要说明的是,界面刷新任务的标识对应的优先级提高至2s对应的优先级99,而没有一次性提高到4s对应的优先级70的原因为:尽量不影响电子设备对其他任务的处理。
进而,在一种情况下,电子设备继续对待处理任务标识的未处理时长进行计时,在确定未处理时长没有达到配置参数中第二关键时长点之前,待处理任务被系统组件处理,则取消对待处理任务的标识的监听。
示例性地,界面刷新任务的标识对应的优先级提高至2s对应的优先级99(即第一优先级级别)后,电子设备继续对界面刷新任务的标识的未处理时长进行计时,对界面刷新任务的标识计时的未处理时长未达到3s(即第二关键时长点)时,若界面刷新任务被活动组件处理,则取消对界面刷新任务的标识的监听。示例性地,界面刷新任务被活动组件处理后,如图5中的(b)-(c)所示,的首页界面103显示的内容被刷新。
在另一种情况下,电子设备继续对待处理任务的标识的未处理时长进行计时,在确定未处理时长达到配置参数中第二关键时长点时,将待处理任务的标识对应的第一优先级别提高至第二关键时长点对应的第二优先级别,并继续对待处理任务标识的未处理时长进行计时。
可以理解地,第二关键时长点对应的第二优先级别,高于第一关键时长点对应的第一优先级别。如此,可以使得尽量不影响电子设备处理其他任务的情况下,梯次提高待处理任务的优先级,使得待处理任务尽量被优先处理。
示例性地,界面刷新任务的标识对应的优先级提高至2s对应的优先级99(即第一优先级级别)后,电子设备继续对界面刷新任务的标识的未处理时长进行计时,对界面刷新任务的标识计时的未处理时长达到3s(即第二关键时长点)时,电子设备将界面刷新任务的标识对应的优先级提高至3s对应的优先级80(即第二优先级级别),并继续对待处理任务标识的未处理时长进行计时。在对界面刷新任务的标识计时的未处理时长未达到4s时,若界面刷新任务被活动组件处理,则取消对界面刷新任务的标识的监听。若界面刷新任务未被活动组件处理,则电子设备将界面刷新任务的标识对应的优先级提高至4s对应的优先级70(即第二优先级级别),并继续对待处理任务标识的未处理时长进行计时。在对界面刷新任务的标识计时的未处理时长未达到5s(即ANR超时时长)时,若界面刷新任务被活动组件处理,则取消对界面刷新任务的标识的监听。在对界面刷新任务的标识计时的未处理时长达到5s(即ANR超时时长)时,若界面刷新任务未被活动组件处理,则电子设备显示弹窗,弹窗包括第一控件和第二控件,第一控件用于指示继续等待处理待处理任务,第二控件用于指示关闭目标应用程序。电子设备响应于用户对第一控件的触发操作,继续等待处理待处理任务。或者,电子设备响应于用户对第二控件的触发操作,关闭目标应用程序。可替换地,当上述的目标应用程序在后台运行时,电子设备关闭目标应用程序。
另外,当系统组件为服务组件、广告接收组件、或者内容提供组件时,提高界面刷新任务的标识的优先级的原理,与系统组件为活动组件时,提高界面刷新任务的标识的优先级的原理类似在此不做赘述。
综上所述,本申请实施例提供的一种任务处理方法,在对待处理任务的标识的未处理时长进行计时的情况下,使得所述待处理任务位于实时任务队列中,可以使得系统组件对待处理任务进行优先处理。而且,由于关键时长点小于预设的应用未响应ANR超时时长,电子设备在确定对待处理任务的标识计时的未处理时长,达到配置参数中的关键时长点时,提高待处理任务的标识的优先级,以使得系统组件对待处理任务进行优先处理。这样一来,可以尽量使得待处理任务在ANR超时时长内被处理,以避免电子设备出现ANR事件。
需要说明的是,在上述的S403中是以关联的系统组件是一个为例,说明如何提高界面刷新任务的标识的优先级的。下面,说明关联的系统组件为多个时,说明如何提高界面刷新任务的标识的优先级的。
具体地,当关联的系统组件的数量为多个时,电子设备对于每个关联的系统组件,电子设备确定未处理时长达到系统组件对应的配置参数中的第一关键时长节点时,从多个系统组件的配置参数中与第一关键时长节点对应的第一优先级中,获取级别最高的第一优先级。电子设备将待处理任务的标识对应的优先级,提高至级别最高的第一优先级别。
可以理解地,将待处理任务的标识对应的优先级,提高至级别最高的第一优先级别,这样一来,可以提高待处理任务被优先处理的概率。
在上述的S402对应的实施例的基础上,示例性地,若待处理任务的标识关联的系统组件包括服务组件和广播接收组件时,若界面刷新任务的初始优先级为120,当对界面刷新任务的标识计时的未处理时长达到15s(即服务组件的第一关键时长点)时,服务组件对应的优先级为99,广播接收组件对应的优先级仍为120,这时获取级别最高的优先级99(即第一优先级别),且电子设备将待处理任务的标识对应的优先级,提高至级别最高的优先级99。电子设备继续对界面刷新任务的标识的未处理时长进行计时,对界面刷新任务的标识计时的未处理时长达到17s(即服务组件对应的第二关键时长点)时,服务组件对应的优先级为80,广播接收组件对应的优先级仍为120,这时获取级别最高的优先级80(即第二优先级别),且电子设备将待处理任务的标识对应的优先级,提高至级别最高的优先级80。
在一种可能的实施方式中,在S403之前,本申请实施例提供的方法还可以包括:电子设备识别线程锁是否被除待处理任务以外的目标任务占用,且目标任务的数量达到预设阈值。若是,则电子设备提高目标任务的标识的优先级,且使得目标任务位于实时任务队列中,以使得系统组件对目标任务进行优先处理;电子设备在目标任务处理完毕后,释放线程锁,以将线程锁分配到待处理任务。这样一来,可以进一步提高待处理任务被优先处理的概率。
另外,本申请实施例提供的方法还包括:在待处理任务被处理完毕后,将对待处理任务的标识的优先级,降低到提高前的优先级。例如,待处理任务的优先级从120提高到80被处理后,将待处理任务的优先级从80又降回120。这样一来,使得待处理任务在后续不影响电子设备处理其他任务。
在一种可能的实施方式中,在S401之后,本申请实施例提供的方法还包括:电子设备缓存待处理任务的标识及提高前的优先级。在待处理任务被处理完毕后,电子设备根据缓存的待处理任务的标识,将对待处理任务的标识的优先级,降低到缓存的提高前的优先级;电子设备删除缓存的待处理任务的标识及优先级。这样一来,可以提高电子设备处理任务的标识的优先级在被降低后的效率和可靠性。
另外,如图6所示,电子设备可以包括参数解析模块、ANR事件监听模块、ANR事件标记模块以及标签传染模块。本申请实施例提供的任务处理的内部实现过程可以为:
S601:电子设备在开机后,参数解析模块开始解析预设的配置参数,并校验配置参数,如果校验通过,则执行S602。
S602:ANR事件监听模块根据监听接收到的任务请求,获取任务请求对应的目标应用程序的标识和待处理任务的标识,并对待处理任务的标识的未处理时长进行计时,且使得待处理任务位于实时任务队列中。
S603:ANR事件监听模块将应用程序的pid、关联的系统组件的标识、待处理任务的标识及开始标记位,打包发送到ANR事件标记模块。
S604:ANR事件标记模块在识别到开始标记位时,查找关联的系统组件的标识对应的ANR超时时长、关键时间点、及关键时间点对应的优先级。
S605:ANR事件标记模块在计时达到任一关键时间点时,将目标应用程序的标识、待处理任务的标识以及达到的关键时间点对应的优先级发生到标签传染模块。
S606:标签传染模块根据目标应用程序的标识、待处理任务的标识,设置待处理任务的优先级为达到的关键时间点对应的优先级。
S607:标签传染模块根据达到的关键时间点对应的优先级,处理待处理任务。
请参阅图7,本申请实施例还提供了一种任务处理装置700,处理单元701,用于根据监听接收到的任务请求,获取任务请求对应的目标应用程序的标识和待处理任务的标识,并对待处理任务的标识的未处理时长进行计时。处理单元701,还用于根据目标应用程序的标识和待处理任务的标识,确定关联的系统组件和系统组件对应的配置参数。其中,在一种可能的实施方式中,系统组件包括:活动组件、服务组件、广播接收组件及内容提供组件。处理单元701,还用于在确定对待处理任务的标识计时的未处理时长,达到配置参数中的关键时长点时,提高待处理任务的标识的优先级,且使得待处理任务位于实时任务队列中,以使得系统组件对待处理任务进行优先处理。其中,关键时长点小于预设的应用未响应ANR超时时长。
在一种可能的实施方式中,配置参数包括至少两个关键时长点,以及每个关键时长点对应一个优先级别;其中,关键时长点越大,关键时长点对应的优先级别也越大。处理单元701,具体用于在确定对待处理任务的标识计时的未处理时长,达到配置参数中第一关键时长点时,将待处理任务的标识对应的优先级提高至第一关键时长点对应的第一优先级别,继续对待处理任务标识的未处理时长进行计时,在确定未处理时长没有达到配置参数中第二关键时长点之前,待处理任务被系统组件处理,则取消对待处理任务的标识的监听。
在一种可能的实施方式中,处理单元701,具体用于继续对待处理任务的标识的未处理时长进行计时,在确定未处理时长达到配置参数中第二关键时长点时,将待处理任务的标识对应的第一优先级别提高至第二关键时长点对应的第二优先级别,并继续对待处理任务标识的未处理时长进行计时。
在一种可能的实施方式中,关联的系统组件的数量为多个,处理单元701,具体用于电子设备对于每个关联的系统组件,电子设备确定未处理时长达到系统组件对应的配置参数中的第一关键时长节点时,从多个系统组件的配置参数中与第一关键时长节点对应的第一优先级中,获取级别最高的第一优先级。电子设备将待处理任务的标识对应的优先级,提高至级别最高的第一优先级别。
在一种可能的实施方式中,处理单元701,还用于识别线程锁是否被除待处理任务以外的目标任务占用,且目标任务的数量达到预设阈值。若是,则电子设备提高目标任务的标识的优先级,且使得目标任务位于实时任务队列中,以使得系统组件对目标任务进行优先处理;电子设备在目标任务处理完毕后,释放线程锁,以将线程锁分配到待处理任务。
在一种可能的实施方式中,处理单元701,还用于获取配置请求,配置请求包括待配置的系统组件的标识及待配置的系统组件对应的待配置参数,待配置参数包括:待配置的ANR超时时长和待配置的关键时长点;或者待配置的ANR超时时长、待配置的关键时长点以及关键时长点对应的优先级别。根据配置请求,配置待配置的系统组件的配置参数。
在一种可能的实施方式中,处理单元701,还用于在待处理任务被处理完毕后,将对待处理任务的标识的优先级,降低到提高前的优先级。
在一种可能的实施方式中,处理单元701,还用于缓存待处理任务的标识及提高前的优先级,在待处理任务被处理完毕后,根据缓存的待处理任务的标识,将对待处理任务的标识的优先级,降低到缓存的提高前的优先级;删除缓存的待处理任务的标识及优先级。
在一种可能的实施方式中,处理单元701,还用于若未处理时长达到超时时长,且待处理任务未被处理完毕,则电子设备关闭目标应用程序。
在一种可能的实施方式中,处理单元701,还用于若电子设备在未处理时长达到超时时长,且待处理任务未被处理完毕,则显示弹窗,弹窗包括第一控件和第二控件,第一控件用于指示继续等待处理待处理任务,第二控件用于指示关闭目标应用程序,响应于用户对第一控件的触发操作,继续等待处理待处理任务;或者,响应于用户对第二控件的触发操作,关闭目标应用程序。
示例性的,图8为本申请实施例提供的一种终端设备的硬件结构示意图,如图8所示,该终端设备包括处理器801,通信线路804以及至少一个通信接口(图8中示例性的以通信接口803为例进行说明)。
处理器801可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路804可包括在上述组件之间传送信息的电路。
通信接口803,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线局域网(wireless local area networks,WLAN)等。
可能的,该终端设备还可以包括存储器802。
存储器802可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路804与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器802用于存储执行本申请方案的计算机执行指令,并由处理器801来控制执行。处理器801用于执行存储器802中存储的计算机执行指令,从而实现本申请实施例所提供的任务处理方法。
可能的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,处理器801可以包括一个或多个CPU,例如图8中的CPU0和CPU1。
在具体实现中,作为一种实施例,终端设备可以包括多个处理器,例如图8中的处理器801和处理器805。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
示例性的,图9为本申请实施例提供的一种芯片的结构示意图。芯片90包括一个或两个以上(包括两个)处理器910和通信接口930。
在一些实施方式中,存储器940存储了如下的元素:可执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
本申请实施例中,存储器940可以包括只读存储器和随机存取存储器,并向处理器910提供指令和数据。存储器940的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
本申请实施例中,存储器940、通信接口930以及存储器940通过总线系统920耦合在一起。其中,总线系统920除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。为了便于描述,在图9中将各种总线都标为总线系统920。
上述本申请实施例描述的方法可以应用于处理器910中,或者由处理器910实现。处理器910可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器910中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器910可以是通用处理器(例如,微处理器或常规处理器)、数字信号处理器(digitalsignal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门、晶体管逻辑器件或分立硬件组件,处理器910可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。其中,软件模块可以位于随机存储器、只读存储器、可编程只读存储器或带电可擦写可编程存储器(electricallyerasable programmable read only memory,EEPROM)等本领域成熟的存储介质中。该存储介质位于存储器1640,处理器1610读取存储器1640中的信息,结合其硬件完成上述方法的步骤。
在上述实施例中,存储器存储的供处理器执行的指令可以以计算机程序产品的形式实现。其中,计算机程序产品可以是事先写入在存储器中,也可以是以软件形式下载并安装在存储器中。
计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(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 (13)
1.一种任务处理方法,其特征在于,应用于电子设备,所述方法包括:
所述电子设备根据监听接收到的任务请求,获取所述任务请求对应的目标应用程序的标识和待处理任务的标识,并对所述待处理任务的标识的未处理时长进行计时,且使得所述待处理任务位于实时任务队列中;
所述电子设备根据所述目标应用程序的标识和待处理任务的标识,确定关联的系统组件和所述系统组件对应的配置参数;
所述电子设备在确定对所述待处理任务的标识计时的未处理时长,达到所述配置参数中的关键时长点时,提高所述待处理任务的标识的优先级,以使得所述系统组件对所述待处理任务进行优先处理;
其中,所述关键时长点小于预设的应用未响应ANR超时时长;
在电子设备确定关联的系统组件和所述系统组件对应的配置参数之后,所述方法还包括:
所述电子设备识别线程锁是否被除所述待处理任务以外的目标任务占用,且所述目标任务的数量达到预设阈值;
若是,则所述电子设备提高所述目标任务的标识的优先级,且使得所述目标任务位于实时任务队列中,以使得所述系统组件对所述目标任务进行优先处理;
所述电子设备在所述目标任务处理完毕后,释放所述线程锁,以将所述线程锁分配到所述待处理任务。
2.根据权利要求1所述的方法,其特征在于,所述配置参数包括至少两个关键时长点,以及每个关键时长点对应一个优先级别;其中,所述关键时长点越大,所述关键时长点对应的优先级别也越大;
则所述电子设备在确定对所述待处理任务的标识计时的未处理时长,达到所述配置参数中的关键时长点时,提高所述待处理任务的标识的优先级,包括:
所述电子设备在确定对所述待处理任务的标识计时的未处理时长,达到所述配置参数中第一关键时长点时,将所述待处理任务的标识对应的优先级提高至所述第一关键时长点对应的第一优先级别;
所述电子设备继续对所述待处理任务标识的未处理时长进行计时,在确定未处理时长没有达到所述配置参数中第二关键时长点之前,所述待处理任务被所述系统组件处理,则取消对所述待处理任务的标识的监听。
3.根据权利要求2所述的方法,其特征在于,在所述将所述待处理任务的标识对应的优先级提高至所述第一关键时长点对应的第一优先级别之后,所述方法还包括:
所述电子设备继续对所述待处理任务的标识的未处理时长进行计时,在确定未处理时长达到所述配置参数中第二关键时长点时,将所述待处理任务的标识对应的第一优先级别提高至所述第二关键时长点对应的第二优先级别,并继续对所述待处理任务标识的未处理时长进行计时。
4.根据权利要求2所述的方法,其特征在于,所述关联的系统组件的数量为多个,所述电子设备在确定对所述待处理任务的标识计时的未处理时长,达到所述配置参数中第一关键时长点时,将所述待处理任务的标识对应的优先级提高至所述第一关键时长点对应的第一优先级别,包括:
所述电子设备对于每个关联的系统组件,所述电子设备确定所述未处理时长达到所述系统组件对应的配置参数中的第一关键时长节点时,从多个所述系统组件的配置参数中与所述第一关键时长节点对应的第一优先级中,获取级别最高的第一优先级;
所述电子设备将所述待处理任务的标识对应的优先级,提高至所述级别最高的第一优先级别。
5.根据权利要求1-4任一所述的方法,其特征在于,在所述电子设备根据监听接收到的任务请求,获取所述任务请求对应的目标应用程序的标识和待处理任务的标识之前,所述方法还包括:
所述电子设备获取配置请求,所述配置请求包括待配置的系统组件的标识及所述待配置的系统组件对应的待配置参数,所述待配置参数包括:待配置的ANR超时时长和待配置的关键时长点;或者所述待配置的ANR超时时长、所述待配置的关键时长点以及关键时长点对应的优先级别;
根据所述配置请求,配置所述待配置的系统组件的配置参数。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述待处理任务被处理完毕后,将对所述待处理任务的标识的优先级,降低到提高前的优先级。
7.根据权利要求6所述的方法,其特征在于,在所述电子设备根据监听接收到的任务请求,获取所述任务请求对应的目标应用程序的标识和待处理任务的标识,并对所述待处理任务的标识的未处理时长进行计时,且使得所述待处理任务位于实时任务队列中之后,所述方法还包括:
所述电子设备缓存所述待处理任务的标识及提高前的优先级;
在所述待处理任务被处理完毕后,所述方法还包括:所述电子设备根据缓存的待处理任务的标识,将对所述待处理任务的标识的优先级,降低到缓存的所述提高前的优先级;
所述电子设备删除缓存的所述待处理任务的标识及所述优先级。
8.根据权利要求1-4、6-7任一所述的方法,其特征在于,所述电子设备在后台运行所述目标应用程序,所述方法还包括:若所述未处理时长达到所述超时时长,且所述待处理任务未被处理完毕,则所述电子设备关闭所述目标应用程序。
9.根据权利要求1-4、6-7任一所述的方法,其特征在于,所述电子设备在前台运行所述目标应用程序,所述方法还包括:
若所述电子设备在所述未处理时长达到所述超时时长,且所述待处理任务未被处理完毕,则显示弹窗,所述弹窗包括第一控件和第二控件,所述第一控件用于指示继续等待处理所述待处理任务,所述第二控件用于指示关闭所述目标应用程序;
所述电子设备响应于用户对所述第一控件的触发操作,继续等待处理所述待处理任务;
或者,所述电子设备响应于用户对所述第二控件的触发操作,关闭所述目标应用程序。
10.根据权利要求1-4、6-7任一所述的方法,其特征在于,所述系统组件包括:活动组件、服务组件、广播接收组件及内容提供组件。
11.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使得所述电子设备执行如权利要求1至10任一项所述的方法。
12.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得计算机执行如权利要求1至10任一项所述的方法。
13.一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序被运行时,使得计算机执行如权利要求1至10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211071787.1A CN116737330B (zh) | 2022-09-02 | 2022-09-02 | 任务处理方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211071787.1A CN116737330B (zh) | 2022-09-02 | 2022-09-02 | 任务处理方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116737330A CN116737330A (zh) | 2023-09-12 |
CN116737330B true CN116737330B (zh) | 2024-05-07 |
Family
ID=87917428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211071787.1A Active CN116737330B (zh) | 2022-09-02 | 2022-09-02 | 任务处理方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116737330B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020147462A1 (zh) * | 2019-01-20 | 2020-07-23 | 华为技术有限公司 | 应用异常恢复 |
CN111552548A (zh) * | 2020-04-22 | 2020-08-18 | 北京金山云网络技术有限公司 | 一种任务处理方法、装置、电子设备及机器可读存储介质 |
CN111831410A (zh) * | 2020-07-01 | 2020-10-27 | Oppo广东移动通信有限公司 | 任务处理方法、装置、存储介质及电子设备 |
CN113127113A (zh) * | 2019-12-31 | 2021-07-16 | 深圳Tcl数字技术有限公司 | 一种操作指令的响应方法和计算机设备 |
WO2021208627A1 (zh) * | 2020-04-13 | 2021-10-21 | 荣耀终端有限公司 | 一种任务调度方法、装置及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107885590A (zh) * | 2017-11-30 | 2018-04-06 | 百度在线网络技术(北京)有限公司 | 用于智能设备的任务处理方法和装置 |
-
2022
- 2022-09-02 CN CN202211071787.1A patent/CN116737330B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020147462A1 (zh) * | 2019-01-20 | 2020-07-23 | 华为技术有限公司 | 应用异常恢复 |
CN111459715A (zh) * | 2019-01-20 | 2020-07-28 | 华为技术有限公司 | 应用异常恢复 |
CN113127113A (zh) * | 2019-12-31 | 2021-07-16 | 深圳Tcl数字技术有限公司 | 一种操作指令的响应方法和计算机设备 |
WO2021208627A1 (zh) * | 2020-04-13 | 2021-10-21 | 荣耀终端有限公司 | 一种任务调度方法、装置及电子设备 |
CN111552548A (zh) * | 2020-04-22 | 2020-08-18 | 北京金山云网络技术有限公司 | 一种任务处理方法、装置、电子设备及机器可读存储介质 |
CN111831410A (zh) * | 2020-07-01 | 2020-10-27 | Oppo广东移动通信有限公司 | 任务处理方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116737330A (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240231890A1 (en) | Memory management method and electronic device | |
WO2021052415A1 (zh) | 资源调度方法及电子设备 | |
WO2021115112A1 (zh) | 安装包的下载方法、分发方法、终端设备、服务器及系统 | |
US20230418696A1 (en) | Method for performing drawing operation by application and electronic device | |
CN113032766B (zh) | 应用权限管理的方法和装置 | |
EP4130969B1 (en) | Method and device for adjusting memory configuration parameter | |
WO2022100141A1 (zh) | 插件管理方法、系统及装置 | |
WO2021104000A1 (zh) | 屏幕显示方法及电子设备 | |
US20240237115A1 (en) | Message Push Method and Apparatus | |
WO2022078105A1 (zh) | 内存管理方法、电子设备以及计算机可读存储介质 | |
CN115016631B (zh) | 进程调度方法和终端设备 | |
CN113986092B (zh) | 消息显示方法和装置 | |
WO2024016564A1 (zh) | 二维码识别方法、电子设备以及存储介质 | |
US20230418630A1 (en) | Operation sequence adding method, electronic device, and system | |
WO2022166435A1 (zh) | 分享图片的方法和电子设备 | |
WO2022033355A1 (zh) | 一种邮件处理方法及电子设备 | |
CN111104209B (zh) | 一种处理任务的方法及相关设备 | |
CN116700913B (zh) | 嵌入式文件系统的调度方法、设备及存储介质 | |
CN116737330B (zh) | 任务处理方法和电子设备 | |
WO2022100132A1 (zh) | 一种数据处理方法、装置和电子设备 | |
WO2021052489A1 (zh) | 一种确定多核处理器中故障计算核的方法及电子设备 | |
CN112286596A (zh) | 消息显示方法及电子设备 | |
CN116088955B (zh) | 进程处理方法和终端设备 | |
CN116088944B (zh) | 界面显示方法和装置 | |
CN116090032B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |