CN113535250A - 一种应用保活方法、装置和电子设备 - Google Patents
一种应用保活方法、装置和电子设备 Download PDFInfo
- Publication number
- CN113535250A CN113535250A CN202010284992.0A CN202010284992A CN113535250A CN 113535250 A CN113535250 A CN 113535250A CN 202010284992 A CN202010284992 A CN 202010284992A CN 113535250 A CN113535250 A CN 113535250A
- Authority
- CN
- China
- Prior art keywords
- application
- foreground
- priority
- keep
- alive
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 230000008569 process Effects 0.000 claims abstract description 28
- 230000001965 increasing effect Effects 0.000 claims description 18
- 238000003860 storage Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 230000009191 jumping Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000007812 deficiency Effects 0.000 claims description 2
- 230000003247 decreasing effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 26
- 238000004891 communication Methods 0.000 description 18
- 230000007246 mechanism Effects 0.000 description 18
- 238000007726 management method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000013473 artificial intelligence Methods 0.000 description 9
- 230000006399 behavior Effects 0.000 description 8
- 238000010295 mobile communication Methods 0.000 description 8
- 230000005236 sound signal Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000010410 layer Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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/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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44594—Unloading
-
- 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- 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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- 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/482—Application
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Telephone Function (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种应用保活方法、装置和电子设备。当电子设备运行的前台应用从第一应用切换到第二应用时,获取第二应用相对于第一应用的回调概率,当第二应用相对于第一应用的回调概率大于预设阈值时,提高第一应用作为后台应用时的保活优先级;其中,电子设备在系统资源不足时按照保活优先级从低到高的顺序结束至少一个后台应用的进程,以释放系统资源。由此,当第二应用相对于第一应用的回调概率较高时,第一应用的后台进程不易被电子设备查杀,使得前台应用从第二应用切换回第一应用时,第一应用能够以切换到后台运行之前的状态继续在前台运行,使得用户在第一应用的操作可以无缝衔接,提高用户使用体验。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用保活方法、装置和电子设备。
背景技术
用户在使用人工智能(artificial intelligence,AI)终端、智能手机、平板电脑、智能手表和智能手环等电子设备时,经常会在两个应用之前来回切换。例如,一种常见切换场景是:用户先将前台应用从第一应用切换到第二应用,在第二应用完成特定操作之后,再将前台应用从第二应用切换回第一应用。
当应用在后台运行时,电子设备会为这个应用设置较低的保活优先级。电子设备在系统资源不足时,为了避免前台应用出现界面卡顿、响应迟缓的情况,会按照保活优先级从低到高的顺序对后台应用进行清理,例如结束后台应用的进程,以释放系统资源。
然而,在上述场景中,如果第一应用在后台运行时被查杀,那么当用户将前台应用从第二应用切换回第一应用时,第一应用就需要重新启动加载界面资源,并且还会丢失之前的运行状态,降低了用户使用体验。
发明内容
本申请提供了一种应用保活方法、装置和电子设备,能够优化电子设备系统的后台应用查杀机制,提高用户执行应用切换操作时的使用体验。
第一方面,本申请提供了一种应用保活方法,该方法包括:当前台应用从第一应用切换到第二应用时,获取第二应用相对于第一应用的回调概率,第二应用相对于第一应用的回调概率是指在前台应用从第一应用切换到第二应用之后的第一预设时长内,前台应用从第二应用切换回第一应用的概率;当第二应用相对于第一应用的回调概率大于预设阈值时,提高第一应用作为后台应用时的保活优先级;其中,电子设备在系统资源不足时按照保活优先级从低到高的顺序结束至少一个后台应用的进程,以释放系统资源。
根据以上技术方案,当第二应用相对于第一应用的回调概率较高时,第一应用的后台进程不易被电子设备查杀,使得前台应用从第二应用切换回第一应用时,第一应用能够以切换到后台运行之前的状态继续在前台运行,使得用户在第一应用的操作可以无缝衔接,符合用户希望继续使用第一应用的意愿,提高用户使用体验。
在一种实现方式中,当前台应用从第一应用切换到第二应用时,获取从第二应用到第一应用的回调概率之前,该方法还包括:为每个在前台运行过的应用生成前台运行记录,每个前台运行记录包括一个应用的应用名称和该应用作为一次前台应用的时长;其中,当生成多个前台运行记录时,多个前台运行记录按照其各自对应的应用在前台运行的时间先后顺序排列。由此,电子设备可以根据上述前台运行记录计算从第二应用到第一应用的回调概率。
在一种实现方式中,当前台应用从第一应用切换到第二应用时,获取从第二应用到第一应用的回调概率之前,该方法还包括:根据多个前台运行记录,获取前台应用从第一应用切换到第二应用的切换次数;其中,对于前后相邻生成的前台运行记录N和前台运行记录N+1,N为自然数,当前台运行记录N对应第一应用,并且前台运行记录N+1对应第二应用时,将前台应用从第一应用切换到第二应用的切换次数加1。
在一种实现方式中,当前台应用从第一应用切换到第二应用时,获取从第二应用到第一应用的回调概率之前,该方法还包括:根据多个前台运行记录,获取第二应用相对于第一应用的回调次数;其中,对于前后相邻生成前台运行记录N、前台运行记录N+1和前台运行记录N+2,N为自然数,当前台运行记录N和前台运行记录N+2对应第一应用,并且前台运行记录N+1对应第二应用时,判断前台运行记录N+1中记录的时长是否小于或者等于第一预设时长;当前台运行记录N+1中记录的时长小于或者等于第一预设时长时,将第二应用相对于第一应用的回调次数加1。
在一种实现方式中,当前台应用从第一应用切换到第二应用时,获取从第二应用到第一应用的回调概率之前,该方法还包括:计算所述第二应用相对于所述第一应用的回调概率,第二应用相对于第一应用的回调概率等于第二应用相对于第一应用的回调次数与前台应用从第一应用切换到第二应用的切换次数的比例。
在一种实现方式中,提高第一应用作为后台应用时的保活优先级,包括:将第一应用的保活优先级从默认优先级提高至第一优先级,使得第一应用在后台运行时不会被查杀。
在一种实现方式中,将第一应用的保活优先级从默认优先级提高至第一优先级之后,还包括:当第二应用本次作为前台应用的时长大于第一预设时长时,将第一应用的保活优先级从第一优先级降低至默认优先级。应当理解的是,当第二应用本次作为前台应用的时长大于第一预设时长时,本次切换操作的第一应用和第二应用之间不具备回调关联,意味着用户可能要长时间的将第二应用作为前台应用使用,在这种情况下,电子设备不对第一应用进行特别的保护。
在一种实现方式中,将第一应用的保活优先级从默认优先级提高至第一优先级之后,还包括:当前台应用从第二应用切换到过渡性应用时,判断过渡性应用在前台运行的时长是否大于第二预设时长;当过渡性应用在前台运行的时长大于第二预设时长时,将第一应用的保活优先级从第一优先级降低至默认优先级;其中,过渡性应用至少包括主屏幕应用、多任务窗口应用和通知栏应用。应当理解的是,如果过渡性应用在前台运行的时长大于第二预设时长,意味着用户并不想切换回第一应用,在这种情况下,电子设备不对第一应用进行特别的保护。
在一种实现方式中,将第一应用的保活优先级从默认优先级提高至第一优先级之后,还包括:当前台应用从第二应用切换到第三应用时,将第一应用的保活优先级从第一优先级降低至默认优先级,其中,第三应用不是过渡性应用。应当理解的是,当前台应用从第二应用切换到第三应用时,说明本次切换操作的第一应用和第二应用之间不具有回调关联,在这种情况下,电子设备不对第一应用进行特别的保护。
在一种实现方式中,当前台应用从第一应用切换到第二应用时,如果没有获取到回调概率,判断第二应用是否是从第一应用内直接跳转到前台运行的;当第二应用是从第一应用内直接跳转到前台运行时,将第一应用的保活优先级从默认优先级提高至第一优先级。应当理解的是,如果第二应用是从第一应用内直接跳转到前台运行,说明第一应用和第二应用具有回调关联的可能性较大,在这种情况下,电子设备提高第一应用的保活优先级,使得第一应用在后台运行时不会被查杀。
在一种实现方式中,电子设备的系统资源不足包括:电子设备的可用内存RAM低于预设的内存阈值,和/或者,电子设备的处理器使用率高于预设的使用率阈值,和/或者,电子设备的功耗高于预设的功耗阈值。
第二方面,本申请还提供了一种应用保活装置,该应用保活装置具有实现上述电子设备行为的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的单元模块。在一个可能的设计中,上述应用保活装置包括:回调概率获取单元,用于当前台应用从第一应用切换到第二应用时,获取第二应用相对于第一应用的回调概率,第二应用相对于第一应用的回调概率是指在前台应用从第一应用切换到第二应用之后的第一预设时长内,前台应用从第二应用切换回第一应用的概率;保活优先级调整单元,用于当第二应用相对于第一应用的回调概率大于预设阈值时,提高第一应用作为后台应用时的保活优先级;其中,电子设备在系统资源不足时按照保活优先级从低到高的顺序结束至少一个后台应用的进程,以释放系统资源。
第三方面,本申请提供一种电子设备,该电子设备包括显示屏、存储器和一个或多个处理器;显示屏、存储器和处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器执行计算机指令时,使得电子设备执行如第一方面及其任一种实现方式的方法。
第四方面,本申请提供一种芯片系统,该芯片系统包括处理器和存储器;存储器和处理器耦合;存储器中存储有计算机指令;当处理器执行计算机指令时,使得电子设备执行如第一方面及其任一种实现方式的方法。
第五方面,本申请提供一种计算机存储介质,该计算机存储介质包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如第一方面及其任一种实现方式的方法。
第六方面,本申请提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面及其任一种实现方式的方法。
可以理解地,上述提供的第二方面的装置、第三方面的电子设备、第四方面的芯片系统、第五方面的计算机存储介质和第六方面的计算机程序产品所能达到的有益效果,可参考第一方面及其任一种实现方式中的有益效果,此处不再赘述。
附图说明
图1示出了用户在使用电子设备时的一种应用切换行为;
图2示出了一种应用切换场景;
图3示出了另一种应用切换场景;
图4示出了又一种应用切换场景;
图5是电子设备杀掉后台应用的场景示意图;
图6是本申请实施例提供的一种电子设备的结构示意图;
图7是本申请实施提供的一种应用保活方法的流程图;
图8是本申请实施例示出的回调关联概念的示意图;
图9是本申请实施提供的一种应用保活方法的另一个流程图;
图10是本申请实施提供的一种应用保活方法的另一个流程图;
图11是本申请实施提供的一种应用保活方法的另一个流程图;
图12是本申请实施例提供的获得一个应用相对于另一个应用的回调概率的流程图;
图13是电子设备统计一段历史时间内各个应用的前台运行记录的示意图;
图14是应用连续两次在前台运行时的运行时的前台运行记录示意图;
图15是电子设备统计应用之间的切换次数和回调次数的示意图;
图16是电子设备保存切换统计数据的示意图;
图17是本申请实施提供的一种应用保活装置的示意图;
图18是本申请实施提供的一种芯片系统的示意图。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
用户在使用人工智能(artificial intelligence,AI)终端、智能手机、平板电脑、智能手表和智能手环等电子设备时,经常会在两个应用之前来回切换。请参见图1,以第一应用和第二应用为例,一种可能的切换行为包括:在t0时刻之前,第一应用在电子设备的屏幕上显示界面,此时第一应用作为前台应用;在t0时刻,电子设备响应于用户的操作,将前台应用从第一应用切换到第二应用,此时第二应用作为前台应用,而第一应用则从前台应用变成了后台应用;在t1时刻,电子设备再次响应于用户的操作,将前台应用从第二应用切换回第一应用,此时第一应用重新作为前台应用,而第二应用则从前台应用变成了后台应用。其中,上述“用户的操作”可以是用户在电子设备屏幕上执行的手势操作和点击操作等。
上述图1示出的切换行为例如可能会发生在以下场景中:
示例场景1:如图2所示,第一应用是一款游戏,第二应用是一款社交软件。当用户玩游戏时(前台应用为第一应用),如果用户想要将游戏战绩分享给自己的好友,或者想要邀请自己的好友一同游戏,那么用户会在游戏(第一应用)中使用分享功能。例如,用户在游戏(第一应用)点击“分享战绩到第二应用”①,那么第一应用会立即切换到后台,并同时唤醒第二应用到前台(即前台应用从第一应用切换到第二应用);第二应用切换到前台之后,会显示好友列表,用户可以通过在好友列表中执行选中等操作将游戏战绩分享给好友②;然后,当用户在第二应用中点击“返回到第一应用”时③,第二应用会立即切换到后台,并同时唤醒第一应用到前台(即前台应用从第二应用切换回第一应用),使用户能够继续游戏。
示例场景2:如图3所示,第一应用是一款购物应用,第二应用是一款支付应用。当用户使用第一应用进行购物下单时(前台应用为第一应用),如果选择了使用第二应用支付,那么第一应用会唤起第二应用到前台(即前台应用从第一应用切换到第二应用)④;当用户在第二应用中完成支付操作,并点击“返回商家”时⑤,第二应用会立即切换到后台,并同时唤醒第一应用到前台(即前台应用从第二应用切换回第一应用),使用户能够查看订单或者继续购物。
示例场景3:如图4所示,第一应用是一款需要使用手机短信验证码登录的银行应用,第二应用是短信应用。在用户在第一应用的登录界面输入手机号码并点击“获取验证码”之后⑥,如果用户收到了短信验证码,电子设备会在显示屏顶部的导航栏弹出消息;当用户点击弹出消息时⑦,电子设备会将前台应用从第一应用切换到第二应用;用户在记下短信验证码之后,可以点击显示屏上的主屏幕按键(或执行手势操作)回到主屏幕⑧,然后在主屏幕中点击第一应用的图标回到第一应用⑨,或者,也可以点击显示屏上的多任务按键(或执行手势操作)来到多任务列表,然后在多任务列表中点击第一应用的图标回到第一应用。
需要补充说明的是,除了本申请实施例上述示出的场景之外,图1示出的切换行为还可能发生在其他场景中,例如:用户在非即时通信IM应用中使用IM账号进行登录,在外卖、团购等应用中调用电话应用给商家打电话,以及,在地图应用中查看路线图并且在社交应用中与好友分享路线等。因篇幅限制,本申请实施例此处对其他场景不作具体展开说明,应当理解的是,在用户使用电子设备的过程中,只要涉及到应用之间按照“第一应用→第二应用→第一应用”切换为前台应用的场景都属于本申请实施例的讨论范围。
需要补充说明的是,在“第一应用→第二应用→第一应用”的切换场景中,第一应用和第二应用之间可以通过直接切换的方式进行切换,也可以通过间接切换的方式进行切换。其中,直接切换是指:从第一应用直接跳转切换到第二应用,或者,从第二应用直接跳转切换到第一应用,中间不经过任何过渡性的应用。间接切换是指:从第一应用首先切换到过渡性应用,然后从过渡性应用切换到第二应用,或者,从第二应用首先切换到过渡性应用,然后从过渡性应用切换到第一应用。上述过渡性应用例如可以包括:主屏幕(桌面)应用、多任务窗口应用和通知栏应用等。
可以理解的是,无论一个应用是在前台运行还是在后台运行,它都会消耗电子设备的系统资源,例如:处理器资源,随机存取存储器(random access memory,RAM)资源等。由于电子设备的系统资源是有限的,当后台应用占用较多的系统资源时,电子设备就无法为前台应用调度足够的系统资源,进而导致前台应用出现界面卡顿、响应迟缓等现象,在处理器性能较低,RAM容量较小的电子设备中,后台应用与前台处理器争夺系统资源的现象会更加明显,使得前台应用更容易出现卡顿和响应迟缓。因此,为了保证前台应用流畅运行,电子设备在可用系统资源不足时,会通过一些机制对后台应用进行清理,例如:结束后台应用的系统进程,以释放系统资源,或者,将后台应用冻结,以避免后台应用的活动行为占用系统资源。
本申请实施例中,电子设备的系统资源不足可以包括:电子设备的可用内存RAM不足,例如低于预设的内存阈值,和/或者,电子设备的处理器使用率过高,例如高于预设的使用率阈值,和/或者,电子设备的功耗过高,例如高于预设的功耗阈值,等等。
下面电子设备运行Android系统为例,对电子设备清理后台应用的机制进行示例性说明。
可以理解的是,本申请实施例也可以应用到运行有其他操作系统的电子设备中,例如:IOS系统、iPad OS系统、windows mobile系统、linux系统、windows系统、鸿蒙系统(HarmonyOS)等。
Android系统的基于低内存查杀机制(low memory killer,LMK)根据不同应用和应用状态,为应用配置了不同的保活优先级(adjustments,ADJ),当系统资源不足时,系统会按照保活优先级从低到高的顺序依次对后台应用进行查杀,即结束应用的进程,直到释放出足够的系统资源供前台应用运行。
表1示出了一种针对不同应用和应用状态的保活优先级的配置方案。
表1
如表1所示,保活优先级的高低可以通过其优先级值来体现,各个保活优先级的优先级值可以预先自定义。在一种实现方式中,优先级值越小,说明保活优先级越高,优先级值越大,说明保活优先级越低。
在Android系统中,当第一应用为前台应用时,系统为其配置的保活优先级为FOREGROUND_APP_ADJ。当前台应用从第一应用切换到第二应用时,系统为其配置的保活优先级为PREVIOUS_APP_ADJ,低于FOREGROUND_APP_ADJ。当前台应用从第二应用切换到第一应用时,如果前台应用不是从第二应用直接跳转到第一应用,而是经历了主屏幕应用、多任务列表应用或者通知栏等过渡应用,那么系统很可能在前台应用从第二应用切换到过渡应用时,将第一应用的保活优先级调整到最低的CACHED_APP_MIN_ADJ或者CACHED_APP_MAX_ADJ,以下简称CACHED。当第一应用在后台运行的保活优先级为CACHED或者PREVIOUS_APP_ADJ时,由于优先级太低,在系统资源不足时很容易被LMK机制杀掉,导致前台应用从第二应用切换到第一应用时,第一应用要重新启动并加载资源,并且丢失之前的进度,严重降低了用户体验。
以上述示例场景1为例,如图5所示,当用户在进行完一局游戏之后,在游戏A唤醒社交软件B,那么游戏A的保活优先级会被调整到PREVIOUS_APP_ADJ。在此之后,如果用户又打开了一些过渡应用,那么游戏A的保活优先级会进一步下降到CACHED。当游戏A在后台运行时,如果电子设备的系统资源不足,那么LMK机制很可能会将游戏A杀掉。当用户在社交软件B分享完游戏战绩,并将前台应用切换回游戏A时,如果游戏A已经被杀掉,那么游戏A就会重新启动、加载游戏资源、登录,并且丢失之前的游戏进度,严重降低了用户体验。
以上述示例场景3为例,如果银行应用在后台被LMK机制杀掉,那么当前台应用从短信应用切换回银行应用时,银行应用就需要重新启动,使得之前接收到的短信验证码失效,导致之前用户无法完成登录过程。
由此可见,目前电子设备对系统的后台应用的查杀机制还存在缺陷,导致不应该被清理的后台应用被查杀,降低了用户执行应用切换操作时的使用体验。
为了解决上述技术问题,本申请实施例提供了一种应用保活方法。该方法可以应用于各类电子设备中,例如人工智能AI终端、智能手机、平板电脑、智能手表和智能手环等。其中,上述人工智能AI终端例如可以是:AI音箱、AI机器人,以及具备AI功能的电器、工业设备、车辆、飞机、轮船等。
图6是本申请实施例提供的一种电子设备100的结构示意图。如图1所示,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserialbus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。
其中,传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,以及骨传导传感器180M等。
可以理解的是,本实施例示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,GPU,图像信号处理器(image signalprocessor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signalprocessor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。该显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。
其中,本申请实施例中的显示屏194可以是触摸屏。即该显示屏194中集成了触摸传感器180K。该触摸传感器180K也可以称为“触控面板”。也就是说,显示屏194可以包括显示面板和触摸面板,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器180K检测到的触摸操作后,可以由内核层的驱动(如TP驱动)传递给上层,以确定输入事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。ISP用于处理摄像头193反馈的数据。摄像头193用于捕获静态图像或视频。数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。例如,在本申请实施例中,处理器110可以通过执行存储在内部存储器121中的指令,内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。耳机接口170D用于连接有线耳机。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。本申请实施例中,电子设备100可以通过压力传感器180A获取用户的触摸操作的按压力度。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,MicroSIM卡,SIM卡等。
图7是本申请实施提供的一种应用保活方法的流程图。该方法均可以在具有上述硬件结构的电子设备100中实现。如图7所示,该方法可以包括以下步骤:
步骤S201,当前台应用从第一应用切换到第二应用时,获取第二应用相对于第一应用的回调概率。
一般来说,当电子设备运行时,前台应用按照什么样的顺序切换,以及每个应用在前台运行多少时间,是由用户意愿决定的。例如:
意愿(一):如果用户将前台应用从第一应用切换到第二应用之后希望长时间使用第二应用,那么第二应用在前台运行的时间就会很长。
意愿(二):如果用户将前台应用从第一应用切换到第二应用之后希望临时使用第二应用,并且在临时使用完第二应用之后立刻切换回第一应用,那么第二应用在前台运行的时间就会很短。意愿(二)可以对应本申请实施例前述示出的各个示例场景,例如:在上述示例场景1中,当用户从第一应用切换到第二应用时,用户希望将游戏战绩分享给好友之后就马上返回第一应用继续游戏,因此,因此第二应用在前台运行的时间会很短,通常在十几秒之内。
由此可见,在上述“第一应用-第二应用-第一应用”的切换场景中,第二应用在前台运行的时长可以反映出用户的意愿,用户的意愿不同,则第二应用在前台运行的时长也不同。据此,本申请实施例定义第一应用和第二应用在相互切换过程中会存在一种“回调关联”概念。具体地:如图8所示,如果在前台应用从第一应用切换到第二应用之后的第一预设时长内,前台应用又从第二应用切换回第一应用,那么认为第一应用相对于第二应用发生了一次回调关联。如果在前台应用从第一应用切换到第二应用之后的第一预设时长内,前台应用没有从第二应用切换回第一应用,即使前台应用后来从第二应用切换回第一应用,也会认为第一应用相对于第二应用没有发生回调关联。其中,第一预设时长内可以是一个经验值,例如3min(分钟)、5min等。
通过对上述“回调关联”概念的描述可以看出,如果第一应用相对于第二应用发生了回调关联,则可以反映出用户具有意愿(二);如果第一应用相对于第二应用没有发生回调关联,则可以反映出用户具有意愿(一)。因此,本申请实施例通过“回调关联”概念将用户的意愿与本申请实施例的方法建立了关联。
基于上述“回调关联”概念,本申请定义了一个应用相对于另一个而应用的回调概率。其中,第二应用相对于第一应用的回调概率是指在前台应用从第一应用切换到第二应用之后的第一预设时长内,前台应用从第二应用切换回第一应用的概率。
具体实现中,电子设备可以统计一个历史时间段内的前台应用从第一应用切换到第二应用的切换次数,以及,统计该历史时间段内的第二应用相对于第一应用的回调次数。将第二应用相对于第一应用的回调次数与前台应用从第一应用切换到第二应用的切换次数num_total的比值作为第二应用相对于第一应用的回调概率,即:
上述公式①中,A表示第一应用,B表示第二应用,callback_rate(A,B)表示第二应用相对于第一应用的回调概率,num_callback(A,B)表示历史时间段内的第二应用相对于第一应用的回调次数,num_total(A,B)表示历史时间段内的前台应用从第一应用切换到第二应用的切换次数。
步骤S202,当第二应用相对于第一应用的回调概率大于预设阈值时,提高所述第一应用作为后台应用时的保活优先级。
可以理解的是,第二应用相对于第一应用的回调概率越大,说明在前台应用从第一应用切换到第二应用之后的第一预设时长内,前台应用从第二应用切换回第一应用的可能性越大,第二应用相对于第一应用的回调概率越小,说明在前台应用从第一应用切换到第二应用之后的第一预设时长内,前台应用从第二应用切换回第一应用的可能性越小。
基于上述理解,本申请实施例针对回调概率预设了阈值,该阈值可以是一个经验值,例如30%、40%等。当第二应用相对于第一应用的回调概率大于阈值时,认为用户当前具有意愿(二)的可能性较大,因此,电子设备提高第一应用的保活优先级,使得第一应用在后台不易被LMK机制查杀,从而当用户将前台应用从第二应用切换回第一应用时,第一应用能够以切换到后台运行之前的状态继续在前台运行,使得用户在第一应用的操作可以无缝衔接,提高用户使用体验。当第二应用相对于第一应用的回调概率小于或者等于阈值时,认为用户当前具有意愿(一)的可能性较大,因此,电子设备对第一应用的保活优先级不做特殊调整,当电子设备的可用系统资源较低时,第一应用可以被LMK机制查杀,从而释放系统资源,防止系统出现卡顿,提高用户使用体验。
本申请实施例在步骤S202的具体实现中,定义了一个新的保活优先级,例如:CALLBACK_APP_ADJ,其含义可以解释为回调进程,对应权利要求书中的第一优先级。CALLBACK_APP_ADJ高于PREVIOUS_APP_ADJ并且低于FOREGROUND_APP_ADJ。
表2示出了一种包含保CALLBACK_APP_ADJ的活优先级的配置方案。
表2
如表2所示,CALLBACK_APP_ADJ的优先级值示例地设置为290,高于BACKUP_APP_ADJ、HEAVY_WEIGHT_APP_ADJ、SERVICE_ADJ、HOME_APP_ADJ和PREVIOUS_APP_ADJ等。
一般来说,当前台应用从第一应用切换到第二应用时,系统会将第一应用的保活优先级默认设置为PREVIOUS_APP_ADJ,对应权利要求书中的默认优先级。PREVIOUS_APP_ADJ的优先级值仅为700,仅比SERVICE_B_ADJ和CACHED略高,当电子设备的系统资源不足时,很容易被LMK机制查杀。
本申请实施例中,当前台应用从第一应用切换到第二应用时,如果第二应用相对于第一应用的回调概率大于预设阈值,电子设备可以直接将第一应用作为后台应用的保活优先级从默认的PREVIOUS_APP_ADJ提高至CALLBACK_APP_ADJ,CALLBACK_APP_ADJ的优先级值例如可以为290,高于很多进程的优先级。当系统资源不足时,LMK机制会按照保活优先级从低到高的顺序,首先查杀保活优先级为CACHED_APP_MAX_ADJ的进程、然后再查杀保活优先级为CACHED_APP_MIN_ADJ的进程,然后再查杀保活优先级为SERVICE_B_ADJ的进程,然后再查杀PREVIOUS_APP_ADJ的进程,依次类推,直到释放出足够的系统资源。由此可见,由于第二应用的保活优先级高于备份进程、服务进程、主屏幕进程等很多其他进程,因此很难被LMK机制杀掉。
根据以上技术方案,当用户将电子设备的前台应用从第一应用切换到第二应用时,电子获取第二应用相对于第一应用的回调概率;当第二应用相对于第一应用的回调概率大于预设阈值时,电子提高第一应用作为后台应用时的保活优先级,使得第二应用在后台不会被LMK机制查杀。由此,当用户将前台应用从第二应用切换回第一应用时,第一应用能够以切换到后台运行之前的状态继续在前台运行,使得用户在第一应用的操作可以无缝衔接,符合用户希望继续使用第一应用的意愿,提高用户使用体验。
请参见图9,在一种可选择的实现方式中,本申请实施例提供的应用保活方法还可以包括:
步骤S203,当第二应用本次作为前台应用的时长大于第一预设时长时,将第一应用的保活优先级从第一优先级降低至默认优先级。
可以理解的是,当第二应用本次作为前台应用的时长大于第一预设时长时,第一应用和第二应用之间不具备回调关联,意味着用户可能要长时间的将第二应用作为前台应用使用。在这种情况下,电子设备不需要对第一应用进行额外的保护,因此,电子设备可以将第一应用的保活优先级从CALLBACK_APP_ADJ降低至默认的PREVIOUS_APP_ADJ,使得第一应用在系统资源不足时,容易被LMK机制查杀,以释放系统资源。
请参见图10,在一种可选择的实现方式中,本申请实施例提供的应用保活方法还可以包括:
步骤S204,当前台应用从第二应用切换到过渡性应用时,判断过渡性应用在前台运行的时长是否大于第二预设时长。
步骤S205,当过渡性应用在前台运行的时长大于第二预设时长时,将第一应用的保活优先级从第一优先级降低至默认优先级。
本申请实施例中,过渡性应用例如可以包括主屏幕应用(系统桌面)、多任务窗口应用和通知栏应用。在Android系统中,上述过渡性应用一般属于系统的launcher进程和systemUI进程(包括systemUI_navThread子进程和systemUI_statusBar子进程等)。
一般来说,用户可以通过两种不同的操作方式实现前台应用从第而应用到第一应用的切换,这取决于用户的使用习惯。第一种操作方式可以是:用户利用电子设备系统提供的应用程序接口API直接从第二应用内返回第一应用到前台。第二种操作方式可以是:用户首先将前台应用从第二应用切换到过渡性应用,然后再将前台应用从过渡性应用切换到第一应用;示例地,用户在社交应用(第二应用)内分享战绩之后,可以先点击电子设备显示屏上的主屏幕键(home键),将前台应用从社交应用切换到主屏幕应用,然后再点击主屏幕中的游戏应用(第一应用)的图标,将前台应用从主屏幕应用切换到游戏应用。
可以理解的是,当用户将前台应用从第二应用切换到一个过渡性应用时,如果用户的真实意图是通过这个过渡性应用将第一应用切换回前台继续使用,那么用户在这个过渡性应用停留的时间会很短。因此本申请实施例中,当前台应用从所述第二应用切换到一个过渡性应用时;则判断这个过渡性应用在前台运行的时长是否大于第二预设时长;如果这个过渡性应用在前台运行的时长大于第二预设时长,意味着用户并不想切换回第一应用,因此,电子设备可以将第一应用的保活优先级从CALLBACK_APP_ADJ降低至默认的PREVIOUS_APP_ADJ,使得第一应用在系统资源不足时,更容易被LMK机制查杀,以释放系统资源。
进一步参见图10,在一种可选择的实现方式中,本申请实施例提供的应用保活方法还可以包括:
步骤S206,当前台应用从第二应用切换到第三应用时,将第一应用的保活优先级从第一优先级降低至默认优先级,其中,第三应用不是过渡性应用。
当前台应用从第二应用切换到第三应用时,说明本次切换的第一应用和第二应用之间不具有回调关联。在这种情况下,电子设备不需要对第一应用进行特别的保护,因此,电子设备可以将第一应用的保活优先级从CALLBACK_APP_ADJ降低至默认的PREVIOUS_APP_ADJ,使得第一应用在系统资源不足时,更容易被LMK机制查杀,以释放系统资源。其中,前台应用从第二应用切换到第三应用可以是通过直接切换的方式实现,也可以是通过间接切换的方式实现。
请参见图11,在一种可选择的实现方式中,本申请实施例提供的应用保活方法还可以包括:
步骤S207,当前台应用从第一应用切换到第二应用时,如果没有获取到回调概率,判断第二应用是否是从第一应用内直接跳转到前台运行的。
可以理解的是,当前台应用是第一次从第一应用切换到第二应用时,电子设备可能还没有统计出第二应用相对于第一应用的回调概率,在这种情况下,电子设备判断第二应用是否是从第一应用内直接跳转到前台运行的,直接跳转指的是前台应用从第一应用切换到第二应用的过程中不经过任何过渡性应用。
步骤S208,当第二应用是从第一应用内直接跳转到前台运行时,将第一应用的保活优先级从默认优先级提高至第一优先级。
如果第二应用是从第一应用内直接跳转到前台运行,说明第一应用和第二应用具有回调关联的可能性较大,例如上述示例场景1和示例场景2在实际使用中就通常是通过直接跳转的方式复现的。因此,在这种情况下,电子设备可以直接将第一应用作为后台应用的保活优先级从默认的PREVIOUS_APP_ADJ提高至CALLBACK_APP_ADJ,以避免第一应用在后台背LMK机制查杀。
本申请实施例还提供了一种获得一个应用相对于另一个应用的回调概率的方法。该方法如图12所示,可以具体包括以下步骤:
步骤S301,为每个在前台运行过的应用生成前台运行记录,每个前台运行记录包括一个应用作为一次前台应用的时长。
具体实现中,如图13所示,电子设备可以在一段历史时间内统计各个应用每一次在前台运行的时长,然后根据统计数据为每个在前台运行过的应用生成前台运行记录。应用每在前台运行一次,电子设备就会相应地生成一条前台运行记录。每一条前台运行记录可以包括一个应用的应用名称和该应用作为一次前台应用的时长,例如(appname,time),其中,appname为应用名称,time为时长。当生成多个前台运行记录时,多个前台运行记录按照其各自对应的应用在前台运行的时间先后顺序排列,例如:{(appname 1,time 1),(appname 2,time 2),…,(appname n,time n)}。
在一种可选择的实现方式中,电子设备可以在其操作系统被激活之后开始生成前台运行记录,从而在用户使用电子设备的过程中,电子设备随着时间的推移不断生成新的前台运行记录,以追踪用户的使用习惯。另外,电子设备还可以主动删除一些时间久远的前台运行记录,从而仅追踪用户近期的使用习惯,例如:删除1个月之前的前台运行记录,删除3个月之前的前台运行记录等。
在一种可选择的实现方式中,电子设备忽略主屏幕应用、多任务窗口应用和通知栏应用等过渡性应用在前台运行的行为,不生成主屏幕应用、多任务窗口应用和通知栏应用等过渡性应用的前台运行记录,以避免对应用之间回调次数的计算造成干扰,同时降低前台运行记录的数量。
在一种可选择的实现方式中,如图14所示,如果上一个前台应用与当前的前台应用是同一个应用,即一个应用连续在前台运行了两次,则将这个应用两次前台运行的时间累加,生成一个前台运行记录。示例地,如果用户将前台应用从一款社交应用切换回主屏幕应用,然后紧接着从主屏幕应用返回了这个社交应用,那么可以认为这个社交应用连续在前台运行了两次。
在一种可选择的实现方式中,应用名称appname可以是应用的程序包名称,时间time的单位可以是秒(s)。以Android系统为例,华为应用商店的程序包名称是com.huawei.appmarket,那么,如果华为应用商店一次在前台运行的时间是20秒,那么电子设备为其生成的前台运行记录可以是(com.huawei.appmarket,20)。
步骤S302,根据多个前台运行记录,获取第二应用相对于第一应用的切换次数。
具体实现中,如图15所示,以A表示第一应用,B表示第二应用,以num_total(A,B)表示前台应用从第一应用A切换到第二应用B的切换次数,num_total(A,B)的初始值为0。那么,对于前后相邻生成的前台运行记录N和前台运行记录N+1,N为自然数,当前台运行记录N对应第一应用A,并且前台运行记录N+1对应第二应用B时,则认为发生了一次前台任务从第一应用A到第二应用B的切换,因此,将前台应用从第一应用A切换到第二应用B的切换次数加1,即:
num_total(A,B)=num_total(A,B)+1
步骤S303,根据多个前台运行记录,获取第二应用相对于第一应用的回调次数。
具体实现中,如图15所示,以num_callback(A,B)表示第二应用B相对于第一应用A的回调次数,num_callback(A,B)的初始值为0。那么,对于前后相邻生成前台运行记录N、前台运行记录N+1和前台运行记录N+2,N为自然数,当前台运行记录N和前台运行记录N+2对应第一应用A,并且前台运行记录N+1对应第二应用B时,电子设备判断前台运行记录N+1中记录的第二应用B在前台运行的时长time BN+1是否小于或者等于第一预设时长T0;当time N小于或者等于第一预设时长T0时,将第二应用相对于第一应用的回调次数加1,即:
num_callback(A,B)=num_callback(A,B)+1
步骤S304,计算第二应用相对于第一应用的回调概率,第二应用相对于第一应用的回调概率等于第二应用相对于第一应用的回调次数与前台应用从第一应用切换到第二应用的切换次数的比值。
即:
另外,电子设备在计算上述num_total(A,B)、num_callback(A,B)和callback_rate(A,B)之后,还可以生成第一应用A相对于第二应用B的切换统计数据,例如Record(A,B):
Record(A,B)={num_callback,num_other,num_total,callback_rate}
如图16所示,电子设备可以将包括Record(A,B)在内的所有应用之间的切换统计数据保存至电子设备的存储器中,该切换统计数据可以作为用户的使用习惯数据,供电子设备查询使用,或者用于电子设备实现基于用户习惯的AI优化。其中,存储器例如可以是电子设备内部的闪存(flash memory),也可以是云端存储器,本申请实施例对此不作限定。
上述实施例对本申请提供的应用保活方法的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
例如,上述电子设备通过软件模块来实现相应的功能。
在一个实施例中,如图17所示,用于实现上述电子设备行为的功能的应用保活装置包括:回调概率获取单元401,用于当前台应用从第一应用切换到第二应用时,获取第二应用相对于第一应用的回调概率,第二应用相对于第一应用的回调概率是指在前台应用从第一应用切换到第二应用之后的第一预设时长内,前台应用从第二应用切换回第一应用的概率;保活优先级调整单元402,用于当第二应用相对于第一应用的回调概率大于预设阈值时,提高第一应用作为后台应用时的保活优先级;其中,电子设备在系统资源不足时按照保活优先级从低到高的顺序结束至少一个后台应用的进程,以释放系统资源。
根据以上技术方案,当第二应用相对于第一应用的回调概率较高时,第一应用的后台进程不易被电子设备查杀,使得前台应用从第二应用切换回第一应用时,第一应用能够以切换到后台运行之前的状态继续在前台运行,使得用户在第一应用的操作可以无缝衔接,符合用户希望继续使用第一应用的意愿,提高用户使用体验。
可选的,该应用保活装置还包括:前台运行记录生成单元403,用于为每个在前台运行过的应用生成前台运行记录,每个前台运行记录包括一个应用作为一次前台应用的时长;其中,当生成多个前台运行记录时,多个前台运行记录按照其各自对应的应用在前台运行的时间先后顺序排列。由此,电子设备可以根据上述前台运行记录计算从第二应用到第一应用的回调概率。
可选的,该应用保活装置还包括:切换次数计算单元404,用于根据多个前台运行记录,获取前台应用从第一应用切换到第二应用的切换次数;其中,对于前后相邻生成的前台运行记录N和前台运行记录N+1,N为自然数,当前台运行记录N对应第一应用,并且前台运行记录N+1对应第二应用时,将前台应用从第一应用切换到第二应用的切换次数加1。
可选的,该应用保活装置还包括:回调次数计算单元405,用于根据多个前台运行记录,获取第二应用相对于第一应用的回调次数;其中,对于前后相邻生成前台运行记录N、前台运行记录N+1和前台运行记录N+2,N为自然数,当前台运行记录N和前台运行记录N+2对应第一应用,并且前台运行记录N+1对应第二应用时,判断前台运行记录N+1中记录的时长是否小于或者等于第一预设时长;当前台运行记录N+1中记录的时长小于或者等于第一预设时长时,将第二应用相对于第一应用的回调次数加1。
可选的,该应用保活装置还包括:回调概率计算单元406,用于计算第二应用相对于第一应用的回调概率,第二应用相对于第一应用的回调概率等于第二应用相对于第一应用的回调次数与前台应用从第一应用切换到第二应用的切换次数的比值。
可选的,保活优先级调整单元402,具体用于当第二应用相对于第一应用的回调概率大于预设阈值时,将第一应用的保活优先级从默认优先级提高至第一优先级。使得第一应用在后台运行时不会被查杀。
可选的,保活优先级调整单元402,还用于当第二应用本次作为前台应用的时长大于第一预设时长时,将第一应用的保活优先级从第一优先级降低至默认优先级。应当理解的是,当第二应用本次作为前台应用的时长大于第一预设时长时,第一应用和第二应用之间不具备回调关联,意味着用户可能要长时间的将第二应用作为前台应用使用,在这种情况下,电子设备不对第一应用进行特别的保护。
可选的,保活优先级调整单元402,还用于当前台应用从第二应用切换到过渡性应用时,判断过渡性应用在前台运行的时长是否大于第二预设时长;保活优先级调整单元402,还用于当过渡性应用在前台运行的时长大于第二预设时长时,将第一应用的保活优先级从第一优先级降低至默认优先级。其中,过渡性应用至少包括主屏幕应用、多任务窗口应用和通知栏应用。应当理解的是,如果过渡性应用在前台运行的时长大于第二预设时长,意味着用户并不想切换回第一应用,在这种情况下,电子设备不对第一应用进行特别的保护。
可选的,保活优先级调整单元402,还用于当前台应用从第二应用切换到第三应用时,将第一应用的保活优先级从第一优先级降低至默认优先级,其中,第三应用不是过渡性应用;其中,过渡性应用至少包括主屏幕应用、多任务窗口应用和通知栏应用。应当理解的是,当前台应用从第二应用切换到第三应用时,说明本次切换操作的第一应用和第二应用之间不具有回调关联,在这种情况下,电子设备不对第一应用进行特别的保护。
可选的,回调概率获取单元401,还用于当前台应用从第一应用切换到第二应用时,如果没有获取到回调概率,判断第二应用是否是从第一应用内直接跳转到前台运行的。保活优先级调整单元402,还用于当第二应用是从第一应用内直接跳转到前台运行时,将第一应用的保活优先级从默认优先级提高至第一优先级。应当理解的是,如果第二应用是从第一应用内直接跳转到前台运行,说明第一应用和第二应用具有回调关联的可能性较大,在这种情况下,电子设备提高第一应用的保活优先级,使得第一应用在后台运行时不会被查杀。
可选的,电子设备的系统资源不足包括:电子设备的可用内存RAM低于预设的内存阈值,和/或者,电子设备的处理器使用率高于预设的使用率阈值,和/或者,电子设备的功耗高于预设的功耗阈值。
另外,上述电子设备通过硬件模块来实现相应的功能。
在一个实施例中,如图1所示,该电子设备例如可以包括:显示屏194、存储器121和处理器110。该显示屏194、存储器121和处理器110耦合。该存储器121用于存储计算机程序代码,该计算机程序代码包括计算机指令。当处理器110执行计算机指令时,电子设备可执行上述方法实施例中的各个功能或者步骤。
本申请实施例还提供一种芯片系统,如图18所示,该芯片系统包括处理器501和存储器502。存储器502存储有计算机指令503,当计算机指令503被处理器501执行时,可使得电子设备执行上述实施例中的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机存储介质,该计算机存储介质包括计算机指令,当计算机指令在上述电子设备上运行时,使得该电子设备执行上述方法实施例中电子设备执行的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述方法实施例中电子设备执行的各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
容易理解的是,本领域技术人员在本申请提供的几个实施例的基础上,可以对本申请的实施例进行结合、拆分、重组等得到其他实施例,这些实施例均没有超出本申请的保护范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (26)
1.一种应用保活方法,其特征在于,包括:
当前台应用从第一应用切换到第二应用时,获取所述第二应用相对于所述第一应用的回调概率,所述第二应用相对于所述第一应用的回调概率是指在前台应用从所述第一应用切换到所述第二应用之后的第一预设时长内,前台应用从所述第二应用切换回所述第一应用的概率;
当所述第二应用相对于所述第一应用的回调概率大于预设阈值时,提高所述第一应用作为后台应用时的保活优先级;
其中,电子设备在系统资源不足时按照保活优先级从低到高的顺序结束至少一个后台应用的进程,以释放系统资源。
2.根据权利要求1所述的方法,其特征在于,所述当前台应用从第一应用切换到第二应用时,获取从所述第二应用到所述第一应用的回调概率之前,还包括:
为每个在前台运行过的应用生成前台运行记录,每个前台运行记录包括一个应用作为一次前台应用的时长;其中,当生成多个前台运行记录时,所述多个前台运行记录按照其各自对应的应用在前台运行的时间先后顺序排列。
3.根据权利要求2所述的方法,其特征在于,还包括:
根据所述多个前台运行记录,获取前台应用从所述第一应用切换到所述第二应用的切换次数;其中,对于前后相邻生成的前台运行记录N和前台运行记录N+1,N为自然数,当所述前台运行记录N对应所述第一应用,并且所述前台运行记录N+1对应所述第二应用时,将前台应用从所述第一应用切换到所述第二应用的切换次数加1。
4.根据权利要求3所述的方法,其特征在于,还包括:
根据所述多个前台运行记录,获取所述第二应用相对于所述第一应用的回调次数;
其中,对于前后相邻生成前台运行记录N、前台运行记录N+1和前台运行记录N+2,N为自然数,当所述前台运行记录N和所述前台运行记录N+2对应所述第一应用,并且所述前台运行记录N+1对应所述第二应用时,判断所述前台运行记录N+1中记录的时长是否小于或者等于所述第一预设时长;
当所述前台运行记录N+1中记录的时长小于或者等于所述第一预设时长时,将所述第二应用相对于所述第一应用的回调次数加1。
5.根据权利要求4所述的方法,其特征在于,还包括:
计算所述第二应用相对于所述第一应用的回调概率,所述第二应用相对于所述第一应用的回调概率等于所述第二应用相对于所述第一应用的回调次数与前台应用从所述第一应用切换到所述第二应用的切换次数的比值。
6.根据权利要求1所述的方法,其特征在于,所述提高所述第一应用作为后台应用时的保活优先级,包括:将所述第一应用的所述保活优先级从默认优先级提高至第一优先级。
7.根据权利要求6所述的方法,其特征在于,所述将所述第一应用的所述保活优先级从默认优先级提高至第一优先级之后,还包括:
当所述第二应用本次作为前台应用的时长大于所述第一预设时长时,将所述第一应用的所述保活优先级从所述第一优先级降低至默认优先级。
8.根据权利要求6所述的方法,其特征在于,所述将所述第一应用的所述保活优先级从默认优先级提高至第一优先级之后,还包括:
当前台应用从所述第二应用切换到过渡性应用时,判断所述过渡性应用在前台运行的时长是否大于第二预设时长;
当所述过渡性应用在前台运行的时长大于所述第二预设时长时,将所述第一应用的所述保活优先级从所述第一优先级降低至默认优先级;
其中,所述过渡性应用至少包括主屏幕应用、多任务窗口应用和通知栏应用。
9.根据权利要求6所述的方法,其特征在于,所述将所述第一应用的所述保活优先级从默认优先级提高至第一优先级之后,还包括:
当前台应用从所述第二应用切换到第三应用时,将所述第一应用的所述保活优先级从所述第一优先级降低至默认优先级,其中,所述第三应用不是过渡性应用;
其中,所述过渡性应用至少包括主屏幕应用、多任务窗口应用和通知栏应用。
10.根据权利要求1所述的方法,其特征在于,还包括:
当前台应用从第一应用切换到第二应用时,如果没有获取到所述回调概率,判断所述第二应用是否是从所述第一应用内直接跳转到前台运行的;
当所述第二应用是从所述第一应用内直接跳转到前台运行时,将所述第一应用的所述保活优先级从默认优先级提高至第一优先级。
11.根据权利要求1所述的方法,其特征在于,所述电子设备的系统资源不足包括:电子设备的可用内存RAM低于预设的内存阈值,和/或者,电子设备的处理器使用率高于预设的使用率阈值,和/或者,电子设备的功耗高于预设的功耗阈值。
12.一种应用保活装置,其特征在于,包括:
回调概率获取单元,用于当前台应用从第一应用切换到第二应用时,获取所述第二应用相对于所述第一应用的回调概率,所述第二应用相对于所述第一应用的回调概率是指在前台应用从所述第一应用切换到所述第二应用之后的第一预设时长内,前台应用从所述第二应用切换回所述第一应用的概率;
保活优先级调整单元,用于当所述第二应用相对于所述第一应用的回调概率大于预设阈值时,提高所述第一应用作为后台应用时的保活优先级;
其中,电子设备在系统资源不足时按照保活优先级从低到高的顺序结束至少一个后台应用的进程,以释放系统资源。
13.根据权利要求12所述的装置,其特征在于,还包括:
前台运行记录生成单元,用于为每个在前台运行过的应用生成前台运行记录,每个前台运行记录包括一个应用作为一次前台应用的时长;其中,当生成多个前台运行记录时,所述多个前台运行记录按照其各自对应的应用在前台运行的时间先后顺序排列。
14.根据权利要求13所述的装置,其特征在于,还包括:
切换次数计算单元,用于根据所述多个前台运行记录,获取前台应用从所述第一应用切换到所述第二应用的切换次数;
其中,对于前后相邻生成的前台运行记录N和前台运行记录N+1,N为自然数,当所述前台运行记录N对应所述第一应用,并且所述前台运行记录N+1对应所述第二应用时,将前台应用从所述第一应用切换到所述第二应用的切换次数加1。
15.根据权利要求14所述的装置,其特征在于,还包括:
回调次数计算单元,用于根据所述多个前台运行记录,获取所述第二应用相对于所述第一应用的回调次数;
其中,对于前后相邻生成前台运行记录N、前台运行记录N+1和前台运行记录N+2,N为自然数,当所述前台运行记录N和所述前台运行记录N+2对应所述第一应用,并且所述前台运行记录N+1对应所述第二应用时,判断所述前台运行记录N+1中记录的时长是否小于或者等于所述第一预设时长;
当所述前台运行记录N+1中记录的时长小于或者等于所述第一预设时长时,将所述第二应用相对于所述第一应用的回调次数加1。
16.根据权利要求15所述的装置,其特征在于,还包括:
回调概率计算单元,用于计算所述第二应用相对于所述第一应用的回调概率,所述第二应用相对于所述第一应用的回调概率等于所述第二应用相对于所述第一应用的回调次数与前台应用从所述第一应用切换到所述第二应用的切换次数的比值。
17.根据权利要求12所述的装置,其特征在于,
所述保活优先级调整单元,具体用于当所述第二应用相对于所述第一应用的回调概率大于预设阈值时,将所述第一应用的所述保活优先级从默认优先级提高至第一优先级。
18.根据权利要求17所述的装置,其特征在于,
所述保活优先级调整单元,还用于当所述第二应用本次作为前台应用的时长大于所述第一预设时长时,将所述第一应用的所述保活优先级从所述第一优先级降低至默认优先级。
19.根据权利要求17所述的装置,其特征在于,
所述保活优先级调整单元,还用于当前台应用从所述第二应用切换到过渡性应用时,判断所述过渡性应用在前台运行的时长是否大于第二预设时长;
所述保活优先级调整单元,还用于当所述过渡性应用在前台运行的时长大于所述第二预设时长时,将所述第一应用的所述保活优先级从所述第一优先级降低至默认优先级;
其中,所述过渡性应用至少包括主屏幕应用、多任务窗口应用和通知栏应用。
20.根据权利要求17所述的装置,其特征在于,
所述保活优先级调整单元,还用于当前台应用从所述第二应用切换到第三应用时,将所述第一应用的所述保活优先级从所述第一优先级降低至默认优先级,其中,所述第三应用不是过渡性应用;
其中,所述过渡性应用至少包括主屏幕应用、多任务窗口应用和通知栏应用。
21.根据权利要求12所述的装置,其特征在于,
所述回调概率获取单元,还用于当前台应用从第一应用切换到第二应用时,如果没有获取到所述回调概率,判断所述第二应用是否是从所述第一应用内直接跳转到前台运行的;
所述保活优先级调整单元,还用于当所述第二应用是从所述第一应用内直接跳转到前台运行时,将所述第一应用的所述保活优先级从默认优先级提高至第一优先级。
22.根据权利要求12所述的装置,其特征在于,所述电子设备的系统资源不足包括:电子设备的可用内存RAM低于预设的内存阈值,和/或者,电子设备的处理器使用率高于预设的使用率阈值,和/或者,电子设备的功耗高于预设的功耗阈值。
23.一种电子设备,其特征在于,所述电子设备包括显示屏、存储器和一个或多个处理器;所述显示屏、所述存储器和所述处理器耦合;所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器执行所述计算机指令时,所述电子设备执行如权利要求1-11中任一项所述的方法。
24.一种芯片系统,其特征在于,所述芯片系统包括处理器和存储器;所述存储器和所述处理器耦合;所述存储器中存储有计算机指令;当所述处理器执行所述计算机指令时,使得电子设备执行如权利要求1-11中任一项所述的方法。
25.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-11中任一项所述的方法。
26.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-11中任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010284992.0A CN113535250B (zh) | 2020-04-13 | 2020-04-13 | 一种应用保活方法、装置和电子设备 |
PCT/CN2021/079030 WO2021208626A1 (zh) | 2020-04-13 | 2021-03-04 | 一种应用保活方法、装置和电子设备 |
US17/918,360 US20230147061A1 (en) | 2020-04-13 | 2021-03-04 | Application Keepalive Method and Apparatus, and Electronic Device |
EP21787837.0A EP4123445A4 (en) | 2020-04-13 | 2021-03-04 | METHOD AND APPARATUS FOR KEEPING AN APPLICATION ACTIVE, AND ELECTRONIC DEVICE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010284992.0A CN113535250B (zh) | 2020-04-13 | 2020-04-13 | 一种应用保活方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113535250A true CN113535250A (zh) | 2021-10-22 |
CN113535250B CN113535250B (zh) | 2024-06-04 |
Family
ID=78084087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010284992.0A Active CN113535250B (zh) | 2020-04-13 | 2020-04-13 | 一种应用保活方法、装置和电子设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230147061A1 (zh) |
EP (1) | EP4123445A4 (zh) |
CN (1) | CN113535250B (zh) |
WO (1) | WO2021208626A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022267765A1 (zh) * | 2021-06-26 | 2022-12-29 | 荣耀终端有限公司 | 一种视频应用的保活方法以及电子设备 |
CN116055793A (zh) * | 2022-06-07 | 2023-05-02 | 荣耀终端有限公司 | 投屏进程的管理方法、设备及存储介质 |
CN117453104A (zh) * | 2023-11-30 | 2024-01-26 | 荣耀终端有限公司 | 图像获取方法及电子设备 |
WO2024055726A1 (zh) * | 2022-09-16 | 2024-03-21 | Oppo广东移动通信有限公司 | 应用管理方法和终端设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020120663A1 (en) * | 2000-06-02 | 2002-08-29 | Binns Pamela A. | Method and apparatus for slack stealing with dynamic threads |
CN105843650A (zh) * | 2016-03-31 | 2016-08-10 | 青岛海信移动通信技术股份有限公司 | 一种智能终端中的应用程序管理方法和装置 |
CN107220076A (zh) * | 2016-09-27 | 2017-09-29 | 华为技术有限公司 | 一种内存回收方法及装置 |
CN107463403A (zh) * | 2017-07-31 | 2017-12-12 | 广东欧珀移动通信有限公司 | 进程控制方法、装置、存储介质以及电子设备 |
US20180296922A1 (en) * | 2017-04-18 | 2018-10-18 | BullGuard Ltd. | System and method for dynamically allocating resources to a game process |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120324481A1 (en) * | 2011-06-16 | 2012-12-20 | Samsung Electronics Co. Ltd. | Adaptive termination and pre-launching policy for improving application startup time |
US9250958B2 (en) * | 2012-11-19 | 2016-02-02 | Qualcomm Innovation Center, Inc. | System, method, and apparatus for improving application-launch latencies |
US10552179B2 (en) * | 2014-05-30 | 2020-02-04 | Apple Inc. | Resource management with dynamic resource policies |
US10289260B2 (en) * | 2014-08-27 | 2019-05-14 | Honda Motor Co., Ltd. | Systems and techniques for application multi-tasking |
CN106201686A (zh) * | 2016-06-30 | 2016-12-07 | 北京小米移动软件有限公司 | 应用的管理方法、装置及终端 |
CN108874109A (zh) * | 2017-05-16 | 2018-11-23 | 复旦大学 | 后台应用的清理方法及装置 |
CN110046031B (zh) * | 2018-01-12 | 2021-11-09 | Oppo广东移动通信有限公司 | 应用处理方法和装置、电子设备、计算机可读存储介质 |
CN109739634A (zh) * | 2019-01-16 | 2019-05-10 | 中国银联股份有限公司 | 一种原子任务执行方法及装置 |
CN110489215A (zh) * | 2019-06-29 | 2019-11-22 | 华为技术有限公司 | 一种应用程序中等待场景的处理方法和装置 |
-
2020
- 2020-04-13 CN CN202010284992.0A patent/CN113535250B/zh active Active
-
2021
- 2021-03-04 WO PCT/CN2021/079030 patent/WO2021208626A1/zh unknown
- 2021-03-04 US US17/918,360 patent/US20230147061A1/en active Pending
- 2021-03-04 EP EP21787837.0A patent/EP4123445A4/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020120663A1 (en) * | 2000-06-02 | 2002-08-29 | Binns Pamela A. | Method and apparatus for slack stealing with dynamic threads |
CN105843650A (zh) * | 2016-03-31 | 2016-08-10 | 青岛海信移动通信技术股份有限公司 | 一种智能终端中的应用程序管理方法和装置 |
CN107220076A (zh) * | 2016-09-27 | 2017-09-29 | 华为技术有限公司 | 一种内存回收方法及装置 |
US20180296922A1 (en) * | 2017-04-18 | 2018-10-18 | BullGuard Ltd. | System and method for dynamically allocating resources to a game process |
CN107463403A (zh) * | 2017-07-31 | 2017-12-12 | 广东欧珀移动通信有限公司 | 进程控制方法、装置、存储介质以及电子设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022267765A1 (zh) * | 2021-06-26 | 2022-12-29 | 荣耀终端有限公司 | 一种视频应用的保活方法以及电子设备 |
CN116055793A (zh) * | 2022-06-07 | 2023-05-02 | 荣耀终端有限公司 | 投屏进程的管理方法、设备及存储介质 |
CN116055793B (zh) * | 2022-06-07 | 2024-04-05 | 荣耀终端有限公司 | 投屏进程的管理方法、设备及存储介质 |
WO2024055726A1 (zh) * | 2022-09-16 | 2024-03-21 | Oppo广东移动通信有限公司 | 应用管理方法和终端设备 |
CN117453104A (zh) * | 2023-11-30 | 2024-01-26 | 荣耀终端有限公司 | 图像获取方法及电子设备 |
CN117453104B (zh) * | 2023-11-30 | 2024-05-24 | 荣耀终端有限公司 | 图像获取方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20230147061A1 (en) | 2023-05-11 |
CN113535250B (zh) | 2024-06-04 |
EP4123445A4 (en) | 2023-09-13 |
EP4123445A1 (en) | 2023-01-25 |
WO2021208626A1 (zh) | 2021-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113535250B (zh) | 一种应用保活方法、装置和电子设备 | |
CN112789651B (zh) | 一种应用于终端的频率调整方法、装置及电子设备 | |
CN110489215A (zh) | 一种应用程序中等待场景的处理方法和装置 | |
CN113535340B (zh) | 一种任务调度方法、装置及电子设备 | |
CN113721785B (zh) | 一种触摸屏采样率的调整方法及电子设备 | |
WO2021185105A1 (zh) | SIM卡和eSIM卡的切换方法及电子设备 | |
CN110572866B (zh) | 一种唤醒锁的管理方法及电子设备 | |
CN110687998A (zh) | 一种应用管理方法及装置 | |
CN113641488A (zh) | 一种基于用户使用场景进行资源优化的方法和装置 | |
CN112445276A (zh) | 一种折叠屏显示应用方法及电子设备 | |
CN113747346B (zh) | 终端设备的待机方法和终端设备 | |
CN112527093A (zh) | 手势输入方法及电子设备 | |
CN111078376A (zh) | 一种进程管理方法及设备 | |
CN114822525A (zh) | 语音控制方法和电子设备 | |
CN113596919B (zh) | 数据下载方法、装置和终端设备 | |
CN113127188A (zh) | 一种性能优化方法与电子设备 | |
CN114221402A (zh) | 终端设备的充电方法、装置和终端设备 | |
CN114077519B (zh) | 一种系统服务恢复方法、装置和电子设备 | |
CN116048772B (zh) | 中央处理单元频率的调整方法、装置和终端设备 | |
CN112351321A (zh) | 一种遥控响应方法、电子设备与计算机可读存储介质 | |
CN117544717A (zh) | 风险识别方法和电子设备 | |
CN113467747B (zh) | 音量调节方法、电子设备及存储介质 | |
CN116261124A (zh) | 数据传输方法、装置、电子设备和智能终端 | |
CN114116610A (zh) | 获取存储信息的方法、装置、电子设备和介质 | |
CN113282361A (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 |