CN114115509B - 一种应用管理方法及终端 - Google Patents
一种应用管理方法及终端 Download PDFInfo
- Publication number
- CN114115509B CN114115509B CN202210083602.2A CN202210083602A CN114115509B CN 114115509 B CN114115509 B CN 114115509B CN 202210083602 A CN202210083602 A CN 202210083602A CN 114115509 B CN114115509 B CN 114115509B
- Authority
- CN
- China
- Prior art keywords
- application
- terminal
- time
- background
- behavior
- 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
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/725—Cordless telephones
- H04M1/73—Battery saving arrangements
Abstract
一种应用管理方法及终端。在本申请实施例中,当后台运行的应用持续占用CPU锁大于第一时间阈值(例如20分钟)之后,终端可以确定第一时间段内该应用的应用行为(用于指示第一应用在后台运行时执行的操作),其中,应用行为可以包括:播放音频、录音、上传文件或者下载文件等应用行为中的一个或者多个,终端可以根据该应用的应用行为生成提示内容,该提示内容中包括该应用的部分或全部应用行为,然后在通知页面中显示该提示内容,这样,用户可以查看该应用的应用行为,结合该应用行为,确定是否通过终端关闭该后台运行的应用,避免应用被“误杀”。
Description
技术领域
本申请涉及终端及通信技术领域,尤其涉及一种应用管理方法及终端。
背景技术
随着智能终端(以下内容中简称为终端,例如手机就是一种终端)的发展,终端可以更合理的管理应用。例如,可以同时在后台运行多个应用,并且,可以管理这些后台运行的应用,使得终端可以正常工作。
然而,后台运行应用会导致终端耗电过快,影响终端的续航时长。在一些情况下,用户在通过终端打开应用之后,会忘记关闭该应用而使得该应用处于后台运行的状态。应用处于后台运行之后,用户或许很长一段时间(例如30分钟甚至更久)都不会再查阅该应用,这种情况属于用户“无意”使得该应用处于后台运行的状态。但是在另一些情况下,用户在通过终端打开应用之后,是暂时将其置于后台进行运行,短时间内(例如10分钟甚至更短)就会再次查阅该应用,这种情况属于用户“有意”使得该应用处于后台运行的状态。例如,用户在等公交车时提前在应用A中打开乘车码,然后将应用A切换至后台(切换至后台运行),打开应用B(例如聊天类应用)进行通讯,等车到来之后,用户就可以通过终端从后台直接打开应用A,此时终端可以显示应用A中的乘车码,用户可以通过终端利用该乘车码扫码乘车而不用再次打开应用A,然后经过多个点击操作才能打开该乘车码。
如何使得终端可以更合理的管理后台运行的应用,是值得研究的方向。
发明内容
本申请提供了一种应用管理方法及终端,终端可以显示包括应用的应用行为的提示信息,用户可以结合该应用行为,确定是否通过终端关闭该后台运行的应用,避免应用被“误杀”。
第一方面,本申请提供了一种应用管理方法,该方法包括:终端在前台运行第一应用;该终端将该第一应用切换至后台运行;在该第一应用在后台持续运行的时间达到第一时间阈值之后,该终端显示第一通知消息,该第一通知消息包括该第一应用消耗电量的部分或者全部应用行为。
上述实施例中,在第一应用后台运行超过第一时间阈值(例如20分钟)之后,则说明第一应用在后台大量耗电。终端可以显示第一通知消息提示用户该第一应用存在后台耗电的行为,该第一通知消息可以包括至少一个该第一应用在后台运行时的应用行为。应用行为可以包括:播放音频、录音、上传文件或者下载文件等应用行为中的一个或者多个。用户可以查看该第一应用的应用行为,结合该应用行为,确定是否通过终端关闭该第一应用,避免该第一应用被“误杀”。
结合第一方面,在一种实施方式中,在该第一应用在后台持续运行的时间达到第一时间阈值之后,该终端显示第一通知消息之前,该方法还包括:该终端确定该第一应用在第一时间段内的至少一个应用行为,该应用行为用于指示该第一应用在后台运行时执行的消耗电量的操作;该第一时间段为该第一应用在后台运行之后的一段时间;该终端基于该第一应用在第一时间段内的至少一个应用行为生成该第一通知消息。
上述实施例中,终端结合该第一应用在第一时间段内的至少一个应用行为确定生成第一通知消息。该至少一个应用行为可以为最近发生的应用行为,也可以为最耗电的应用行为等。当终端显示该第一通知消息时,用户即可了解到第一应用的至少一个应用行为。
结合第一方面,在一种实施方式中,该终端确定该第一应用在第一时间段内的至少一个应用行为,具体包括:该第一应用在该第一时间段内使用了扬声器或者使用了听筒的情况下,该终端确定在该第一时间段内该终端的应用行为包括播放音频;该终端显示第一通知消息,该第一通知消息包括该第一应用消耗电量的部分或者全部应用行为,具体包括:该终端显示该第一通知消息,该第一通知消息用于指示该终端在该第一时间段内进行过播放音频。
上述实施例中描述了第一应用中存在使用了扬声器或者听筒这一情况时,则表示该第一应用的一个应用行为为播放音乐,则终端显示的第一通知消息中,可以包括终端进行播放音乐的相关信息。
结合第一方面,在一种实施方式中,该方法还包括:在该终端确定该第一应用持续占用CPU锁大于或等于该第一时间阈值的情况下,该终端确定该第一应用持续运行达到该第一时间阈值。
上述实施例中,通过第一应用占用CPU锁的时间确定第一应用是否在后台运行达到第一时间阈值。
结合第一方面,在一种实施方式中,该第一时间段内的起始时间为该终端确定该第一应用持续运行达到该第一时间阈值的时刻;或者,该第一时间段内的结束时间为该终端确定该第一应用持续运行达到该第一时间阈值的时刻。
结合第一方面,在一种实施方式中,该终端确定该第一应用在第一时间段内的至少一个应用行为之前,该方法还包括:该终端记录该第一应用在后台运行时的至少一种应用状态及该应用状态发生时的时间,该应用状态用于描述该第一应用使用了该终端的何种资源,该资源包括该终端的硬件资源或者软件资源,该时间包括该应用状态发生的起始时间以及该应用状态发生的结束时间。
上述实施例中,应用状态表示该第一应用使用终端资源的情况,例如可以使用的资源包括麦克风、扬声器、摄像头或听筒等。终端可以记录该第一应用使用这些资源的起始时间以及结束时间。可以用于后续判断该第一应用在第一时间段内的应用行为。例如,如果第一时间段为7:00-7:15,终端中记录了第一应用在7:01-7:10使用了麦克风,则可以确定该第一应用的一个应用行为录音。
结合第一方面,在一种实施方式中,该终端确定该第一应用在第一时间段内的至少一个应用行为,具体包括:该终端确定该第一应用在后台运行时的至少一种应用状态及该应用状态发生时的时间;该终端确定该至少一种应用状态中满足第一条件的部分或者全部应用状态,该第一条件为该应用状态发生的起始时间或者该应用状态发生的结束时间在该第一时间段内;该终端确定该部分或者全部应用状态对应的应用行为,作为该第一应用在该第一时间段内的至少一个应用行为。
上述实施例中,应用状态与应用行为是对应的,第一应用的应用状态发生的起始时间或者该应用状态发生的结束时间在该第一时间段内,则表示该应用状态对应的应用行为是在第一时间段内发生的。
结合第一方面,在一种实施方式中,该终端确定该第一应用在第一时间段内的至少一个应用行为之前,该方法还包括:该终端记录该第一应用在后台运行时的至少一种应用状态及该应用状态发生时的时间,该应用状态用于描述该第一应用使用了该终端的何种资源,该资源包括该终端的硬件资源或者软件资源,该时间包括该应用状态发生的起始时间。
上述实施例中,应用状态表示该第一应用使用终端资源的情况,例如可以使用的资源包括麦克风、扬声器、摄像头或听筒等。终端可以记录该第一应用使用这些资源的起始时间。可以用于后续判断该第一应用在第一时间段内的应用行为。例如,如果第一时间段为7:00-7:15,终端中记录了第一应用在7:01使用了麦克风,则可以确定该第一应用的一个应用行为录音。
结合第一方面,在一种实施方式中,该终端确定该第一应用在第一时间段内的至少一个应用行为,具体包括:该终端确定该第一应用在后台运行时的至少一种应用状态及该应用状态发生时的时间;该终端确定该至少一种应用状态中满足第二条件的部分或者全部应用状态,该第二条件为该应用状态发生的起始时间在第一时间段内;该终端确定该部分或者全部应用状态对应的应用行为,作为该第一应用在该第一时间段内的至少一个应用行为。
上述实施例中,应用状态与应用行为是对应的,第一应用的应用状态发生的起始时间在该第一时间段内,则表示该应用状态对应的应用行为是在第一时间段内发生的。
结合第一方面,在一种实施方式中,该第一通知消息中还包括该第一应用在后台耗电的提示。
结合第一方面,在一种实施方式中,该终端显示第一通知消息之前,该方法还包括:该终端在状态栏显示功耗标识,该功耗标识用于提示用户存在应用在后台耗电。
上述实施例中,功耗标识可以为下述图2a中的功耗通知201A,其可以显示在终端的状态栏中,用于提示用户当前存在应用在后台耗电。
结合第一方面,在一种实施方式中,该第一通知消息位于通知栏中,该第一通知消息中包括第一控件,在该终端显示第一通知消息之后,该方法还包括:响应于用户对该第一控件的操作,该终端在该通知栏中删除该第一通知消息,并继续后台运行该第一应用。
上述实施例中,该第一通知消息首次出现的方式可以是以“横幅”的形式进行显示。例如,参考下述图3e中示出的用户界面34,用户界面34中可以包括提示信息341(可以是第一通知消息的一种形式),该提示信息341以“横幅”的形式显示在用户界面34中。后续,该第一通知消息可以以功耗标识(功耗通知)的形式驻留在状态中。用户通过终端为下拉状态之后,该第一提示信息可以显示在通知页面中。该第一提示信息中可以包括第一控件(该第二控件可以为下述图3a中控件301B,也可以被称为第二控件)用于忽略该通知。该第一提示信息中还可以包括其他控件,当终端检测到针对该其他控件的操作时,可以显示更多的提示信息。
结合第一方面,在一种实施方式中,该第一通知消息位于通知栏中,该第一通知消息中包括第二控件,在该终端显示第一通知消息之后,该方法还包括:响应于用户对该第二控件的操作,该终端在该通知栏中删除该第一通知消息,并结束在后台运行的该第一应用。
上述实施例中,该第一通知消息中还可以包括第二控件,该第二控件可以为下述图3a中控件301C,也可以被称为第一控件。检测到针对该第二控件操作,响应于该操作,终端可以关闭该第一应用,结束该第一应用的运行。
结合第一方面,在一种实施方式中,该应用行为包括播放音频、录音、录像、导航、上传文件或者下载文件中的一个或者多个。
第二方面,本申请提供了一种终端,该终端包括:一个或多个处理器和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器调用该计算机指令以使得该终端执行:在前台运行第一应用;将该第一应用切换至后台运行;在该第一应用在后台持续运行的时间达到第一时间阈值之后,显示第一通知消息,该第一通知消息包括该第一应用消耗电量的部分或者全部应用行为。
上述实施例中,在第一应用后台运行超过第一时间阈值(例如20分钟)之后,则说明第一应用在后台大量耗电。终端可以显示第一通知消息提示用户该第一应用存在后台耗电的行为,该第一通知消息可以包括至少一个该第一应用在后台运行时的应用行为。应用行为可以包括:播放音频、录音、上传文件或者下载文件等应用行为中的一个或者多个。用户可以查看该第一应用的应用行为,结合该应用行为,确定是否通过终端关闭该第一应用,避免该第一应用被“误杀”。
第三方面,本申请提供了一种芯片系统,该芯片系统应用于终端,该芯片系统包括一个或多个处理器,该处理器用于调用计算机指令以使得该终端执行如第一方面或第一方面的任意一种实施方式所描述的方法。
上述实施例中,在第一应用后台运行超过第一时间阈值(例如20分钟)之后,则说明第一应用在后台大量耗电。终端可以显示第一通知消息提示用户该第一应用存在后台耗电的行为,该第一通知消息可以包括至少一个该第一应用在后台运行时的应用行为。应用行为可以包括:播放音频、录音、上传文件或者下载文件等应用行为中的一个或者多个。用户可以查看该第一应用的应用行为,结合该应用行为,确定是否通过终端关闭该第一应用,避免该第一应用被“误杀”。
第四方面,本申请提供了一种包含指令的计算机程序产品,其特征在于,当该计算机程序产品在终端上运行时,使得该终端执行如第一方面或第一方面的任意一种实施方式所描述的方法。
上述实施例中,在第一应用后台运行超过第一时间阈值(例如20分钟)之后,则说明第一应用在后台大量耗电。终端可以显示第一通知消息提示用户该第一应用存在后台耗电的行为,该第一通知消息可以包括至少一个该第一应用在后台运行时的应用行为。应用行为可以包括:播放音频、录音、上传文件或者下载文件等应用行为中的一个或者多个。用户可以查看该第一应用的应用行为,结合该应用行为,确定是否通过终端关闭该第一应用,避免该第一应用被“误杀”。
第五方面,本申请提供了一种系统升级方法,一种计算机可读存储介质,包括指令,其特征在于,当该指令在终端上运行时,使得该终端执行如第一方面或第一方面的任意一种实施方式所描述的方法。
上述实施例中,在第一应用后台运行超过第一时间阈值(例如20分钟)之后,则说明第一应用在后台大量耗电。终端可以显示第一通知消息提示用户该第一应用存在后台耗电的行为,该第一通知消息可以包括至少一个该第一应用在后台运行时的应用行为。应用行为可以包括:播放音频、录音、上传文件或者下载文件等应用行为中的一个或者多个。用户可以查看该第一应用的应用行为,结合该应用行为,确定是否通过终端关闭该第一应用,避免该第一应用被“误杀”。
附图说明
图1a-图1e为查看或关闭后台运行的应用涉及的示例性用户界面;
图2a及图2b示出了终端在通知页面中进行显示后台应用的示意图;
图3a-图3e为本申请实施例中的应用管理方法涉及一组示例性用户界面;
图4是本申请实施例的终端的软件结构框图;
图5示出了终端进行应用管理时,内部各模块之间的一种交互流程图;
图6示出了终端进行应用管理时涉及的一个示例性流程图;
图7是本申请实施例提供的终端的结构示意图。
具体实施方式
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
为了便于理解,下面先对本申请实施例涉及的相关术语及概念进行介绍。
(1)后台运行、中央处理器(central processing unit,CPU)锁
后台运行是应用的一种运行状态。终端后台运行一个应用即是指终端的显示屏中显示的页面不是该应用的,但是该应用却正在被终端运行,没有被关闭,还可以执行一些功能。例如,终端当前显示的是通讯类应用的相关界面(没有显示音乐类应用的相关界面),却在利用该音乐类应用播放音乐,则说明该音乐类应用的运行状态为后台运行。
用户可以通过终端查看或关闭后台运行的应用。
图1a-图1e为查看或关闭后台运行的应用涉及的示例性用户界面。
如图1a所示,用户界面10为终端提供的一个桌面,响应于用户在区域101中的操作(例如上滑操作),终端可以显示部分后台运行的应用,此时,终端可以显示如图1b示出的用户界面11。
用户查看后台运行的应用可以参考下述对图1b以及图1c的描述。
如图1b所示,用户界面11中显示的部分后台运行的应用可以包括应用A以及应用B(如有其他后台运行的应用,则可以通过向左滑动用户界面等操作进行查看)。其中,应用A提供的显示内容包括显示框111中内容,应用B提供的显示内容包括显示框112中的内容。响应于在显示框111中的第一操作(例如点击操作),终端可以前台运动应用A,显示如图1c所示的用户界面12。
如图1c所示,用户界面12中可以显示应用A提供的内容,此时,用户可以通过终端查看该应用A。
用户关闭后台运行的应用可以参考下述对图1d以及图1e的描述。
如图1d所示,终端可以显示用户界面11,关于该用户界面11的描述可以参考前述对图1b的描述,此处不再赘述。响应于在显示框112中的第二操作(例如上滑操作),终端可以关闭应用B,显示如图1e所示的用户界面13。
如图1e所示,用户界面13中显示的后台运行的应用中可以包括应用A,不再包括已经被关闭的应用B。
CPU锁可以提供应用对中央处理器(简称处理器)的占用。一个后台运行的应用可以通过获取CPU锁以调用CPU执行操作,使得操作不被中断。例如,终端后台运行音乐类应用时,该音乐类应用可以获取CPU锁,调用CPU执行播放音乐的操作。如果该音乐类应用一直持有该CPU锁,则该音乐类应用可以在后台一直进行音乐播放。一个应用可以同时占用多个CPU锁以执行不同的操作。不同应用可以占用不同的CPU锁以使得应用执行的操作不被中断。应用占用CPU锁则会消耗终端的电量,CPU锁被应用占用的次数越多和/或CPU锁被应用占用的时间越长,则终端消耗的电量越多。
应用在后台运行的过程中,终端可以关闭该应用,结束该应用对CPU锁的占用(即释放CPU锁),详细的关闭应用的方式可以参考下文中的描述,此处暂不赘述。
应该理解的是,一个应用的运行状态除了后台运行以外,还包括前台运行,终端前台运行一个应用即是指终端的显示屏中显示的页面是该应用的,应用前台运行也需要获取CPU锁以调用CPU执行操作。本申请实施例中的应用管理方法管理的为后台运行的应用。
在一种方案中,终端在后台运行应用时,为了避免应用长时间持有CPU锁导致终端功耗高,终端可以将后台运行的应用在通知页面中进行显示以使得用户可以查看。例如,用户可以查看通知页面中显示的消耗终端电量的应用,同时选择关闭该应用。
图2a及图2b示出了终端在通知页面中进行显示后台应用的示意图。
如图2a所示,当检测到消耗电量大于一定阈值且在后台运行的应用时,终端可以显示用户界面20。该用户界面20中包括状态栏201,该状态栏201中包括的功耗通知201A,该功耗通知201A用于提示用户当前存在后台运行的应用在耗电。响应于用户在状态栏201中的操作(例如下滑操作),终端可以显示如图2b所示的用户界面21。
如图2b所示,用户界面21为下拉状态栏显示通知页面时涉及的一个示例性用户界面,该用户界面21中可以包括通知页面210。该通知页面210中可以包括状态栏中任一通知所涉及的详细内容,例如,区域211中可以包括功耗通知201A所涉及的详细内容,区域211中包括提示内容:“应用A在后台消耗电量”,该提示内容可以提示用户当前应用A正在后台消耗电量,然后用户可以通过控件211A关闭应用A,使得应用A不再后台耗电。
但是这样,从区域211中显示的提示内容来看,用户可以了解到应用A在后台耗电,无法了解更多的信息,用户需要根据该提示内容来确定是否通过终端关闭应用A。这样,可能造成应用A被“误杀”,即终端关闭应用A之后,用户意识到还需要查阅该应用A,于是再次打开该应用A。
在本申请实施例中,当后台运行的应用持续占用CPU锁大于第一时间阈值(例如20分钟)之后,终端可以确定第一时间段内该应用的应用行为(用于指示第一应用在后台运行时执行的操作),其中,应用行为可以包括:播放音频、录音、上传文件或者下载文件等应用行为中的一个或者多个,终端可以根据该应用的应用行为生成提示内容,该提示内容中包括该应用的部分或全部应用行为,然后在通知页面中显示该提示内容,这样,用户可以查看该应用的应用行为,结合该应用行为,确定是否通过终端关闭该后台运行的应用,避免应用被“误杀”。
图2a以及图3a-图3c为本申请实施例中的应用管理方法涉及一组示例性用户界面。
如图2a所示,响应于在用户界面20中包括的状态栏201上的操作(例如下滑操作),终端可以显示如图3a所示的用户界面30,其中,关于用户界面20的详细描述,可以参考前述对图2a的描述,此处不再赘述。
如图3a所示,用户界面30为下拉状态栏显示通知页面时涉及的一个示例性用户界面,该用户界面30中可以包括通知页面300,该通知页面300中可以包括状态栏中任一通知所涉及的详细内容。例如,区域301中可以包括功耗通知201A所涉及的详细内容,区域301中还包括提示内容:“应用A在后台消耗电量”,除此之外,区域301中还可以包括提示内容:“应用A在后台播放音频”,其中提示内容用于通知用户应用A的部分应用行为播放音频,该区域301中还可以包括控件301B、控件301C,其中,控件301B用于触发关闭应用A,控件301C用于触发忽略该通知,即不关闭应用A。终端还可以显示该应用A涉及的更多的应用行为,其中一种显示方式可以参考下述描述。
响应于在显示控件301A上的操作(例如点击操作),终端可以显示进一步查看应用A更多应用行为所涉及的方式,显示如图3b所示的用户界面31。
如图3b所示,用户界面31中可以包括区域311,该区域311中可以包括控件311A,该控件311A中可以包括提示内容:“点击即可了解应用A更多的应用行为”,响应于在该控件311A上的点击操作,终端可以显示更多应用A涉及的应用行为,显示如图3c所示的用户界面32。
如图3c所示,用户界面32包括区域321,该区域321中可以包括应用A涉及的更多应用行为,此处,应用A涉及的应用行为一段时间内,该应用A涉及的部分或者全部应用行为,该一段时间可以为10分钟或者15分钟等,本申请实施例对此不做限定。该区域321中还可以包括控件301B、控件301C以及控件321C。其中,控件301B用于触发关闭应用A,控件301C用于触发忽略该通知,即不关闭应用A,控件321C用于触发后期不再查询应用A的应用行为。
响应于在控件301B上的操作(例如点击操作),终端可以关闭应用A。
响应于在控件301C上的操作(例如点击操作),终端可以忽略该通知。该通知包括功耗通知201A及其涉及的详细内容(后文可以将该详细内容称为通知内容),例如区域311或区域321中包括的部分或者全部内容。忽略该通知是指:终端的状态栏中不再显示该应用A对应的功耗通知201A以及终端的通知页面中不再显示该功耗通知201A所涉及的详细内容。此时,终端显示的用户界面可以参考图3d中示出的用户界面33。用户界面33为终端不再显示功耗通知201A之后的一个用户界面,此时状态栏201中不再显示功耗通知,则用户无法通过下拉通知栏在通知页面中查看该功耗通知201A所涉及的详细内容。应该理解的是,在终端忽略该本次应用A消耗电量的通知之后,如果应用A再次进入后台运行,持续占用CPU锁大于第一时间阈值之后,终端仍然可以确定第一时间段内该应用A的应用行为,再次显示该应用A消耗电量的通知。
响应于在控件321C上的操作(例如点击操作),终端不会再计算应用A消耗电量的应用行为。即当应用A持续占用CPU锁大于第一时间阈值时,终端也不会计算该应用A的应用行为,也不会在状态栏中显示该应用A的功耗通知。
应该理解的是,对于通知内容的显示方式,除前述图3a-图3d中涉及的方式以外,还可以有其他的方式,可以参考如下描述:
该通知内容的首次出现的时机可以是在终端显示如图2a所示的用户界面20之前,终端可以显示以“横幅”的形式进行显示。例如,参考如图3e中示出的用户界面34,用户界面34中可以包括提示信息341,该提示信息341以“横幅”的形式显示在用户界面34中。该提示信息341用于通知应用A在后台耗电,其应用行为包括播放音乐。该提示信息341的显示时间是短暂的,例如可以为1-3秒等。显示该提示信息341之后,终端可以显示前述图2a中涉及的用户界面20,以功耗通知201A的形式驻留在状态栏中。终端响应于用户下拉状态栏显示通知消息的操作,可以查看该功耗通知201A对应的详细内容,其中包括该通知内容。
应该理解的是,对于该通知内容,还可以有其他的显示方式,此处不再一一描述。
应该理解的是,图3a-图3e只是一组示例性用户界面,不应该构成对本申请实施例的限定,实际上,还可以有其他的展示方式。例如,如图3a所示的用户界面30中,可以直接显示应用A涉及的更多的应用行为(例如用户界面32中包括的播放音频、录音及上传文件),而不是只显示播放音频。这样,用户无需通过点击显示控件301A以及控件311A就可以查看应用A更多的应用行为。
下面描述本申请实施例中终端的软件结构框图。
图4是本申请实施例的终端的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将系统分为四层,从上至下分别为应用程序层,应用程序框架层,运行时(Runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
应用程序包可以包括相机、通讯、通话、WLAN、音乐、短信息、图库、视频、导航及蓝牙等应用程序(也可以称为应用)。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
应用程序框架层可以包括应用管理模块、应用行为检测模块、查询模块、通知管理模块以及视图系统等。这些模块(包括应用管理模块、应用行为检测模块、查询模块、通知管理模块等)可以进行集成,组合两个或者多个模块成为一个模块。这些模块除了可以处于应用程序框架层还可以处于分层架构中其他层中,只要能完成其对应的功能即可,本申请实施例对此不作限定。
应用管理模块用于确定某一应用的运行状态是前台运行还是后台运行。还用于检测后台运行的应用占用CPU锁的情况,例如可以统计某一应用占用CPU锁的时间。还可以用于基于某一应用的应用行为生成提示信息,该提示信息中包括该应用的部分或者全部应用行为。该应用管理模块还可以与下述涉及的应用行为检测模块以及通知管理模块进行交互。该应用管理模块可以为应用管理服务(activity manager service,AMS)中的一个子模块。
应用行为检测模块用于在接收到应用管理模块发送的检测某一应用的应用行为的通知之后,调用查询模块确定该应用的应用行为,并将该应用的应用行为返回至应用管理模块。
查询模块用于确定某一应用使用终端的资源的状态。该查询模块中包括至少一个查询子模块,其中可以包括网络查询子模块、音频查询子模块、定位查询子模块、录音查询子模块(未示出)、录像查询子模块(未示出)以及其他查询子模块中的一个或多个。
其中,网络查询子模块可以用于确定某一应用涉及的上传流量和/或下行流量的数量,基于该上行流量的数量确定该应用是否存在上传文件的应用行为,基于下行流量的数量确定该应用是否存在下载文件的应用行为。
音频查询子模块可以用于确定某一应用使用扬声器的情况,从而确定该应用是否具有播放音频这一应用行为。
定位查询子模块可以用于确定某一应用使用位置信息的情况,从而确定该应用是否具有导航这一应用行为。
录音查询子模块可以用于确定某一应用使用麦克风的情况,从而确定该应用是否具有录音这一应用行为。
录像查询子模块可以用于确定某一应用使用摄像头的情况,从而确定该应用是否具有录像这一应用行为。
应该理解的是,这里只是例举了查询模块中的部分查询子模块,其他查询子模块可以执行其他的功能,确定应用的其他应用行为。
通知管理模块用于在状态栏中显示后台运行的应用程序的通知,可以用于传达告知类型的消息,例如通知管理模块被用于告知应用耗电等。通知管理模块还用于显示前述应用管理模块发送的提示信息。
在一些实施例中,通知管理器使应用程序可以在状态栏中显示通知信息,该通知信息可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以用于以对话界面形式显示在屏幕上的通知信息。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
应该理解的是,此处例举的是应用管理模块、应用行为检测模块、查询模块以及通知管理模块的部分功能,其涉及的其他功能可以参考下述相关内容的描述,此处暂不赘述。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
运行时(Runtime)包括核心库和虚拟机。Runtime负责系统的调度和管理。
核心库包含两部分:一部分是编程语言(例如,jave语言)需要调用的功能函数,另一部分是系统的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的编程文件(例如,jave文件)执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),二维图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了二维(2-Dimensional,2D)和三维(3-Dimensional,3D)图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如: MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现3D图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动,虚拟卡驱动。
下面结合上述涉及的软件结构,详细描述终端进行应用管理时,内部各模块之间的交互流程。
终端进行应用管理时,主要涉及到软件结构中的以下模块:应用管理模块、应用行为检测模块、查询模块、通知管理模块以及第一应用。
图5示出了终端进行应用管理时,内部各模块之间的一种交互流程图。
如图5所示,该过程可包括如下步骤:
S101.第一应用获取CPU锁,在后台运行。
CPU锁可以提供应用对中央处理器(简称处理器)的占用。一个后台运行的应用可以通过获取CPU锁以调用CPU执行操作,使得操作不被中断。
在一些实施例中,该第一应用可以包括终端中安装的任意一个应用,例如,可以包括第三方应用或者系统应用。
在另一些实施例中,该第一应用可以包括终端中安装的部分应用,该部分应用可以为预先设置的可以被终端通过本申请实施例涉及的应用管理方法进行管理的应用。例如,可以设置该部分应用包括第三方应用,而不包括系统应用。
例如,用户可以输入将第一应用切换至后台的操作。进而,第一应用获取CPU锁以使得该第一应用可以在后台运行。此时终端中显示的是第二应用提供的内容,该第二应用与第一应用不同。例如,参考前述图1a以及图1b中涉及的内容,当终端显示的是前述图1a所示的用户界面10时,该第一应用可以为前述涉及的应用A以及应用B。关于后台运行的相关描述可以参考前述术语(1)中对后台运行的示例性描述,此处不再赘述。
S102.应用管理模块检测到第一应用为后台运行且持续占用CPU锁大于第一时间阈值。
在一些实施例中,应用管理模块确定第一应用的运行状态为后台运行的一种方式为:应用管理模块首先确定第一应用正在被运行,然后确定当前终端显示的用户界面中的内容是否为第一应用提供的,如果是,则确定该第一应用的运行状态为前台运行,如果不是,则确定该第一应用的运行状态为后台运行。
在应用管理模块检测到第一应用为后台运行的情况下,应用管理模块可以统计该第一应用持续占用CPU锁的时间,当应用管理模块确定第一应用持续占用CPU锁的时间大于或者等于第一时间阈值的情况下,则执行下述步骤S103。其中,第一时间阈值可以设置为20分钟,还可以设置成为其他的时间长度,例如15分钟或者25分钟,第一时间阈值可以根据实际情况进行确定,例如终端的续航能力,不构成对本申请实施例的限定。
该步骤S102执行的时机包括但不限于以下时机:
(1)应用管理模块按照一定的时间频率(例如5分钟或者10分钟等)检测一次,确定是否有应用为后台运行且持续占用CPU锁大于第一时间阈值。
(2)应用管理模块确定有应用获取CPU锁之后,会触发执行步骤S102,确定是否有应用为后台运行且持续占用CPU锁大于第一时间阈值。
(3)应用管理模块确定有应用在后台运行之后,会触发执行步骤S102,确定是否有应用为后台运行且持续占用CPU锁大于第一时间阈值。
S103.应用管理模块通知应用行为检测模块检测第一应用的应用行为。
应用行为可以包括前述涉及的播放音频、录音、上传文件或者下载文件等应用行为中的一个或者多个,还可以包括其他的行为,例如录影或者导航等。
应用行为检测模块中可以包括多个应用行为与各应用行为对应的应用状态,其中包括第一应用行为以及其对应的第一应用状态。该第一应用行为可以为第一应用的一个应用行为,其用于描述第一应用所执行的操作。该第一应用状态用于描述该第一应用使用了终端的何种资源以进行第一应用行为。例如当第一应用的应用状态为使用扬声器或者可以为使用听筒时,通常是执行播放音频的操作,则其对应的应用行可以预设为播放音频。
关于应用行为与各应用行为对应的应用状态(可以被称为应用行为对照表)可以记录在表中,其中一个示例性描述可以参考下述表1。
应用行为 | 应用状态 |
录音 | 使用麦克风 |
播放音频 | 使用扬声器或者或使用听筒 |
录像 | 使用摄像头 |
导航 | 使用位置信息 |
上传文件 | 应用的上行流量超过第一流量阈值 |
下载文件 | 应用的下行流量超过第二流量阈值 |
… | … |
表1
参考上述表1,当应用行为检测模块确定第一应用在使用扬声器时,可以确定该第一应用的应用行为包括录音。其他应用行为与其对应的应用状态涉及的内容可以参考此描述,此处不再赘述。
应该理解的是,应用行为与各应用行为对应的应用状态除了可以是表的形式进行存储以外,还可以用其他的形式进行存储。例如矩阵或者数据库,本申请实施例对此不作限定。
多个应用行为与各应用行为对应的应用状态是预先设置的,记录在应用行为检测模块中的。应用行为检测模块可以调用查询模块确定该第一应用在第一时间段内执行的至少一个应用状态。然后,通过多个应用行为与各应用行为对应的应用状态确定该至少一个应用状态对应的应用行为,该过程可以参考下述对步骤S104的描述。
应该理解的是,下述步骤S104中,查询模块中包括至少一个查询子模块,其中任一查询子模块可以确定第一应用的一个应用状态。例如音频查询子模块可以用于确定某一应用使用扬声器的状态,确定第一应用使用扬声器的时间,该使用扬声器的时间可以是使用扬声器的起始时间,也可以是使用扬声器的起始时间以及使用扬声器的结束时间。这里在描述查询模块确定第一时间段内该第一应用的应用状态时,不区分具体是哪一个查询子模块完成的,是统一叙述,但是应该理解,确定第一应用的一个应用状态可以是其中一个查询子模块完成的。
S104.应用行为检测模块调用查询模块确定第一时间段内该第一应用存在的应用行为。
步骤S104中涉及的预设的应用行为包括前述步骤S103中涉及的应用行为,任一应用行为还对应一个应用状态。
该第一时间段可以为第一应用切换到后台运行之后的一段时间。
在一种可能的情况下,该第一时间段中的起始时间可以为应用管理模块检测到第一应用为后台运行且持续占用CPU锁大于第一时间阈值的时刻,结束时间可以为起始时间之后的15分钟,或者20分钟等。例如,应用管理模块检测到第一应用为后台运行且持续占用CPU锁大于第一时间阈值为7:00,则该第一时间段为7:00之后的一段时间。其中,第一时间段的起始时间为7:00,结束时间可以为7:15或者7:20等。
在另一种可能的情况下,该第一时间段中的结束时间可以为应用管理模块检测到第一应用为后台运行且持续占用CPU锁大于第一时间阈值的时刻,起始时间可以为结束时间之前的15分,或者20分钟等。例如,应用管理模块检测到第一应用为后台运行且持续占用CPU锁大于第一时间阈值为7:00,则该第一时间段为7:00之前的一段时间。其中,第一时间段的结束时间为7:00,起始时间为结束时间为6:45或者6:40。
应该理解的是,在其他可能的情况下,该第一时间段还可以有其他的设置方式,此处不再赘述。前述涉及的15分钟以及20分钟只是举例说明,可以根据实际情况进行调整,不构成对本申请实施例的限定。
查询模块可以记录终端中安装的应用切换至后台之后使用终端的资源的情况,包括使用了何种资源(被使用的资源,该资源包括终端的软件资源和/或硬件资源),以及使用该资源对应的时间等信息。还可以包括其他信息,例如使用该资源时对应的耗电量等信息。该查询模块还可以基于应用切换至后台之后使用终端的资源的情况生成应用状态表,该应用状态表中包括应用、应用对应的应用状态以及应用状态对应的时间。其中,应用可以用应用标识来表示,也可以应用的名称等信息。应用状态用于描述某一应用使用了终端的何种资源,时间为应用状态发生时的涉及的时间,该时间可以为应用状态发生时的起始时间,也可以为应用状态发生时的起始时间以及应用状态发生时的结束时间。
应用行为检测模块可以将第一应用的应用标识发送至查询模块并且调用查询模块确定第一应用在第一时间段内的应用状态。然后,查询模块可以基于第一应用的应用标识以及应用状态表确定第一应用在第一时间段内的应用状态,该过程的实现方式包括但不限于以下方式。
方式1:查询模块生成的应用状态表中包括应用、应用对应的应用状态以及应用状态对应的时间,其中,时间是应用状态发生时的起始时间以及应用状态发生时的结束时间。如下表2示出了一个示例性应用状态表。
应用(用应用标识表示) | 应用状态 | 时间(起始时间-结束时间) |
第一应用 | 使用麦克风 | 17:00-17:10 |
第二应用 | 使用扬声器 | XX-XX |
第一应用 | 使用扬声器 | XX-XX |
第二应用 | 使用听筒 | XX-XX |
第一应用 | 使用听筒 | XX-XX |
第三应用 | 使用摄像头 | XX-XX |
第二应用 | 使用摄像头 | XX-XX |
第三应用 | 使用位置信息 | XX-XX |
第二应用 | 使用位置信息 | XX-XX |
… | … | … |
表2
参考表2可知,查询模块利用应用标识来表示一个应用,表2中示出的应用状态表中包括第一应用、第二应用以及第三应用在后台运行时对终端的资源使用情况。例如,第一应用在17:00(起始时间)-17:00(结束时间)这一时间段内使用了麦克风。
在该实施例中,查询模块基于第一应用的应用标识以及应用状态表确定第一应用在第一时间段内的应用状态的过程如下:
查询模块利用第一应用的应用标识与应用状态表中记录的应用标识进行匹配,应用标识相同的应用可以被确定为第一应用。然后,查询模块确定该第一应用对应的应用状态的时间是否满足第一条件,该第一条件为该第一应用对应的应用状态的起始时间或结束时间在第一时间段内。其中,第一应用对应的应用状态的起始时间在第一时间段内即是:该第一应用对应的应用状态的起始时间在第一时间段的起始时间之后或者两者相同,以及,该第一应用对应的应用状态的起始时间在第一时间段的结束时间之前或者两者相同。第一应用对应的应用状态的结束时间在第一时间段内即是:该第一应用对应的应用状态的结束时间在第一时间段的起始时间之后或者两者相同,以及,该第一应用对应的应用状态的结束时间在第一时间段的结束时间之前或者两者相同。
方式2:查询模块生成的应用状态表中包括应用、应用对应的应用状态以及应用状态对应的时间,其中,时间是应用状态发生时的起始时间。
应用(用应用标识表示) | 应用状态 | 时间(起始时间) |
第一应用 | 使用麦克风 | 17:00 |
第二应用 | 使用扬声器 | XX |
第一应用 | 使用扬声器 | XX |
第二应用 | 使用听筒 | XX |
第一应用 | 使用听筒 | XX |
第三应用 | 使用摄像头 | XX |
第二应用 | 使用摄像头 | XX |
第三应用 | 使用位置信息 | XX |
第二应用 | 使用位置信息 | XX |
… | … | … |
表3
在该实施例中,查询模块基于第一应用的应用标识以及应用状态表确定第一应用在第一时间段内的应用状态的过程如下:
查询模块利用第一应用的应用标识与应用状态表中记录的应用标识进行匹配,应用标识相同的应用可以被确定为第一应用。然后,查询模块确定该第一应用对应的应用状态的起始时间是否满足第二条件。该第二条件为该第一应用对应的应用状态的起始时间在第一时间段内,即该第一应用对应的应用状态的起始时间在第一时间段的起始时间之后或者两者相同,以及,该第一应用对应的应用状态的起始时间在第一时间段的结束时间之前或者两者相同。
应该理解的是,查询模块在基于上述两种方式可以确定第一应用在第一时间段内的部分或者全部应用状态,具体是部分还是全部,可以根据实际情况进行设定。例如,可以设置当查询模块确定出该第一应用在第一时间段内的Q个(Q为预设值,例如3个)应用状态之后,则停止查询。
查询模块在确定该第一应用在第一时间段内的应用状态(部分或者全部)之后,将其发送至应用行为检测模块。应用行为检测模块基于应用行为对照表确定该第一时间段内的应用状态对应的应用行为,即可得到该第一应用在第一时间段内存在的应用行为。该应用行为对照表可以参考前述表1涉及的内容。
在一些实施例中,查询模块除了向应用行为检测模块发送该第一应用在第一时间段内的应用状态(部分或者全部)以外,还可以确定其中任一应用状态对应的时间(可以为起始时间和/或结束时间),并且将其中任一应用状态对应的时间发送至应用行为检测模块。
应该理解的是,前述涉及步骤S103中涉及的应用行为对照表,以及步骤S104中涉及的应用状态表,除了可以是表的形式进行存储以外,还可以用其他的形式进行存储,例如矩阵或者数据库,本申请实施例对此不作限定。
在另一种可能的情况下,前述步骤S104中查询模块确定第一时间段内该第一应用存在的应用行为的过程是可选的。查询模块可以执行如下步骤确定第一应用的应用行为:
应用行为检测模块调用查询模块确定第一应用当前存在的使用终端的资源的情况(即当前的应用状态)。例如使用摄像头、麦克风或者扬声器等。其中,当前是指应用管理模块检测到第一应用为后台运行且持续占用CPU锁大于第一时间阈值的时刻。
查询模块将该第一应用当前的应用状态发送至应用行为检测模块,应用行为检测模块基于应用行为对照表确定当前的应用状态的应用行为,即可得到该第一应用在当前的应用行为。该应用行为对照表可以参考前述表1涉及的内容。
S105.应用行为检测模块发送第一应用的应用行为至应用管理模块。
第一应用的应用行为包括应用行为检测模块确定的该第一应用在第一时间段内存在的应用行为(部分或者全部)。
应该理解的是,在一些实施例中,行为检测模块除了向该应用管理模块发送该第一应用在第一时间段内的应用状态(部分或者全部)以外,还可以向该应用管理模块发送其中任一应用状态对应的时间(可以为起始时间和/或结束时间)。
S106.应用管理模块根据该第一应用的应用行为生成提示信息,该提示信息中至少包括该第一应用的部分或全部应用行为。
该提示信息用于提示用户该第一应用在后台运行的过程中涉及的应用行为。该提示信息中可以包括该第一应用在后台运行时的至少一个应用行为,还可以包括该第一应用的应用标识,还可以包括其他信息,例如第一应用正在后台耗电等。
应该理解的是,应用标识可以用于标识该第一应用,例如可以利用该第一应用的包名作为该第一应用的应用标识。
在一些实施例中,该提示信息中可以包括该第一应用在后台运行时的N个应用行为,其中,N为大于等于1的正整数,例如,N可以为1、3或者其他值。应用管理模块确定该提示信息的方式包括但不限于以下方式。
方式1:应用管理模块可以从该第一应用的应用行为(部分或者全部)中随机选择N个应用行为生成提示信息,该提示信息中包括该随机选择的N个应用行为。
方式2:应用管理模块可以从该第一应用的应用行为(部分或者全部)中,选择开始时间(应用状态对应的起始时间,该应用状态与该应用行对应)最靠后的N个应用行为生成提示信息,该提示信息中包括该开始时间最靠后的N个应用行为。
方式3:应用管理模块可以从该第一应用的应用行为(部分或者全部)中,选择耗电量最多的应用行为生成提示信息,该提示信息中包括耗电量最多的应用行为。
应用管理模块确定该提示信息的方式还可以包括其他的方式,例如选择开始时间(应用状态对应的起始时间,该应用状态与该应用行对应)最靠前的N个应用行为生成提示信息,本申请实施例对此不作限定。再例如,可以是以上方式1-方式3中任意两个或全部的组合。
应该理解的是,当N大于该第一应用在后台运行时的全部应用行为的数量时,则该提示信息中包括该第一应用在后台运行时的全部应用行为。
在一些实施例中,该提示信息中可以包括该第一应用在后台运行时的全部应用行为,用于指示所述第一应用在第一时间段内的部分或者全部应用行为。
在另一些实施例中,该提示信息中可以包括第一内容以及第二内容,该第一内容中至少包括该第一应用在后台运行时的N个应用行为。该第二内容中至少包括该第一应用在后台运行时的全部应用行为或者大于N个应用行为。该第一内容以及第二内容可以再不同的情况下进行显示,具体的显示方式可以参考下述对步骤S108的描述。
在一种可能的实现方式中,当该提示信息中包括该第一应用在后台运行时的M个应用行为时,其中M为大于等于2的整数,应用管理模块可以将该M个应用行为进行排序后构成提示信息。例如,可以根据开始时间(应用状态对应的起始时间,该应用状态与该应用行对应)进行排序,一个应用行为的开始时间越靠前,则在该提示信息中,该应用行为越靠前。
该提示信息中除了包括该第一应用的部分或全部应用行为,还可以包括一些其他的内容,例如包括第一控件以及第二控件,该第一控件用于指示关闭该第一应用,该第二控件用于指示忽略该提示信息。例如,该第一控件可以为前述图3a涉及的控件301B,该第二控件可以为前述图3a涉及的控件301C。
S107.应用管理模块向通知管理模块发送该提示信息。
在一些实施例中,应用管理模块在生成提示信息之后即可向通知管理模块发送该提示信息。
在另一些实施例中,应用管理模块可以检测到下拉通知栏的操作之后,向通知管理模块发送该提示信息。
S108.通知管理模块显示该提示信息。
通知管理模块中设置了显示规则,使得其可以根据该显示规则对该提示信息进行显示。其中,一种可能的显示方式可以参考如下描述:
通知管理模块可以根据该提示信息中第一应用的应用标识,确定第一应用的名称。然后,通知管理模块可以将该第一应用的名称以及该第一应用在后台运行时的一个应用行为作为内容信息(message)显示在通知页面中,例如前述用户界面30中包括的提示信息:“应用A在后台播放音乐”。提示信息中包括的其他内容可以用其他的方式显示在通知页面中,例如,该提示信息中还可以包括时间信息,该时间信息可以为通知管理模块接收到该提示信息的时间到显示该提示信息的时间的差值,例如,前述用户界面30中包括的时间信息可以为:“三分钟前”。然后通知管理模块可以将该时间信息作为通知时间(timestamp)显示在通知页面中。提示信息中包括的其他内容可以用其他的方式显示在通知页面中,此处不再一一赘述。
在一些实施例中,通知管理模块可以在通知页面中显示该提示信息中包括的部分或者全部内容,例如,前述图3a中的用户界面30中的通知页面300可以为显示该提示信息时涉及的一个示例性通知页面,此处显示的是该提示信息中部分内容。
在显示该提示信息之前,通知管理模块还可以生成该提示信息对应的功耗通知,该功耗通知用于提示用户存在应用在后台费功耗,通知管理模块可以将该功耗通知显示在终端的状态栏中,其中状态栏可以参考前述图2a示出的状态栏201,该功耗通知可以参考该状态栏201中包括的功耗通知201A。
在另一些实施例中,通知管理模块可以在通知页面中显示该提示信息中包括的部分内容,其他的内容可以在其他情况下触发显示。例如,通知管理模块可以提供一个第三控件,该第三控件用于指示显示其他的内容。当通知管理模块检测到针对该第三控件的操作时,可以触发显示提示信息中的其他内容,该第三控件可以为前述图3a中涉及的显示控件301A以及控件311A。
其中,一个示例可以为:参考前述图3a-图3c所示,提示信息包括区域301、区域311以及区域321中涉及的内容,终端在图3a中,显示了部分内容。例如,提示内容:“应用A在后台消耗电量”以及提示内容:“应用A在后台播放音频”、第一控件(控件301B)以及第二控件(控件301C)等,响应于在第三控件(显示控件301A)上的点击操作,通知管理模块可以在通知页面中显示区域311,该区域311中包括提示信息中的更多内容,例如显示另一个第三控件(控件311A),响应于在第三控件(控件311A)上的点击操作,通知管理模块可以在通知页面中显示区域321,该区域321中包括提示信息中的更多内容,例如应用A 在后台的其他应用行为。应该理解的是,在该示例中,图3a中的提示内容:“应用A在后台播放音频”可以为前述涉及的第一内容,此时N=1,图3c中,应用A 在后台的其他应用行为(录音及上传文件)可以为前述涉及的第二内容。
S109.通知管理模块检测到用户针对该提示信息的第一操作。
用户在查阅该提示信息之后,可以触发第一操作,例如,点击该提示信息中第一控件或者点击该提示信息中的第二控件等。例如,该第一操作可以针对前述图3a中的控件301B(第一控件)的点击操作,还可以为针对前述图3a中的控件301C(第二控件)的点击操作。
S110.通知管理模块确定该第一操作对应的事件。
通知管理模块在接收到该第一操作之后,确定用户触摸屏幕产生第一操作时对应的触摸坐标,产生第一操作的时间戳等信息。通过该触摸坐标以及时间戳等信息确定该第一操作对应的控件(即用户的第一操作作用的控件)。即确定该第一操作对应的是针对第一控件还是其他控件(例如第二控件或者第三控件)的操作。
然后,通知管理模块确定该控件对应的事件作为该第一操作对应的事件,该控件对应的事件是预先设置的,一个控件对应一个事件。例如,第一控件对应的事件可以为关闭第一应用。
S111.通知管理模块确定该事件是否指示关闭第一应用。
如果该第一操作是针对第一控件(对应的事件为关闭第一应用)的操作,则通知管理模块确定该事件指示关闭第一应用。如果该第一操作是针对其他控件的操作,则通知管理模块确定不指示关闭第一应用。
在该第一操作指示关闭第一应用的情况下,执行步骤S11。
在该第一操作不指示关闭第一应用的情况下,执行步骤S113。
S112.通知管理模块通知应用管理模块关闭第一应用。
响应于第一操作,应用管理模块关闭第一应用。
第一应用关闭之后,则该第一应用无法继续占有CPU锁。
S113.应用管理模块继续后台运行该第一应用。
该第一应用可以继续占有CPU锁,以使得执行的操作不被中断。
本申请实施例中涉及的应该管理方法可以集成在一个功能设置项中。该功能设置项用于指示应该管理方法涉及的功能,其可以对应显示在终端中。例如,显示在终端的设置应用中,该功能设置项还可以对应一个设置控件,该设置控件可以用于设置该应该管理方法涉及的功能的状态,该状态包括开启(ON)或者关闭(OFF)。当该功能设置项对应的设置控件的状态为开启(ON)时,终端可以使用该应该管理方法。当该功能设置项对应的设置控件的状态为关闭(OFF)时,终端不可以使用该应该管理方法。
下面详细描述终端进行应用管理时的一个示例性流程图。
图6示出了终端进行应用管理时涉及的一个示例性流程图。
S201.终端后台运行第一应用。
该第一应用可以为终端中安装的任意一个应用,例如,可以包括第三方应用或者系统应用。该第一应用还可以为终端中安装的部分应用,该部分应用可以为预先设置的可以被终端通过本申请实施例涉及的应用管理方法进行管理的应用。例如,可以设置该部分应用包括第三方应用,而不包括系统应用。
终端后台运行第一应用的时机包括但不限于以下情况:
情况1:用户通过终端打开第一应用之后,终端先前台运行该第一应用,然后切换至后台运行。
情况2:终端自动(不需要用户参与)打开该第一应用,在后台运行该第一应用。
当终端确定第一应用在后台持续运行第一时间阈值之后,终端可以显示提示信息,该提示信息中包括第一应用在后台运行时的部分或者全部应用行为。响应于针对该提示信息的操作,终端可以关不该第一应用。该过程可以参考下述对步骤S102-步骤S113的描述。其中,终端确定第一应用在后台持续运行第一时间阈值的方式为确定第一应用持续占用CPU锁大于第一时间阈值,该过程可以参考下述步骤S102。
S202.终端检测到第一应用持续占用CPU锁大于第一时间阈值。
其中,关于第一时间阈值的相关描述可以参加前述步骤S102中对第一时间阈值的相关描述,此处不再赘述。
CPU锁可以提供该第一应用对中央处理器(简称处理器)的占用。第一应用在后台运行时可以通过获取CPU锁以调用CPU执行操作,使得操作不被中断。
终端检测到第一应用持续占用CPU锁大于第一时间阈值的一种方式可以参考前述对步骤S102的描述。
当终端确定第一应用持续占用CPU锁的时间大于或者等于第一时间阈值的情况下,则执行下述步骤S203。
应该理解的是,该步骤S202中,终端在确定第一应用为后台运行的应用之后,触发执行步骤S103的执行条件除了前述涉及的确定第一应用持续占用CPU锁的时间大于或者等于第一时间阈值以外,还可以通过其他的方式触发执行步骤S203,其中,包括但不限于以下方式。
(1)终端可以统计第一应用在第二时间阈值之内获取CPU锁的次数是否大于或者等于第一预设阈值。如果该次数大于或者等于第一预设阈值,则确定执行步骤S203。如果确定小于第一预设阈值,则继续执行步骤S202。其中,第二时间阈值与第一时间阈值可以相同也可以不相同。该第二时间阈值可以设置为例如15分钟或者25分钟等,第一预设阈值可以设置为10次或者15次。第二时间阈值以及第一预设阈值可以根据实际情况进行确定,不构成对本申请实施例的限定。
(2)终端可以统计第一应用在第三时间阈值之内,占用CPU的时间是否达到第四时间阈值,这样,即使第一应用没有连续占用CPU锁,也可以确定其在一段时间内因长时间占用CPU锁从而导致耗功耗。其中,第四时间阈值小于第三时间阈值,第三时间阈值以及第四时间阈值与前述涉及的第一时间阈值以及第二时间阈值可以相同也可以不同。该第三时间阈值可以设置为例如15分钟等,第四预设阈值可以设置为10分钟等。第三时间阈值以及第四时间阈值可以根据实际情况进行确定,不构成对本申请实施例的限定。
S203.终端确定第一时间段内该第一应用的应用行为。
该第一时间段可以为第一应用切换到后台运行之后的一段时间。关于应用行为以及示意时间段的相关描述可以参考前述步骤S103中的示例性描述,此处不再赘述。
步骤S203中,终端确定是第一时间段内该第一应用的部分或者全部应用行为。
终端中可以存储应用行为对照表(即应用行为与各应用行为对应的应用状态)以及生成应用状态表。其中,应用行为对照表的可以参考前述表1所述,应用状态表可以参考前述表2或表3所述。
应用状态表中可以包括应用、应用对应的应用状态以及应用状态对应的时间。
在一些实施例中,当应用状态表如前述表2所示,其包括的时间是应用状态发生时的起始时间以及应用状态发生时的结束时间的情况下,终端可以基于以下方式确定第一时间段内该第一应用的应用行为。
首先,终端确定第一应用的应用标识,然后基于该应用标识以及应用状态表确定第一应用在第一时间段内的应用状态(部分或者全部),具体是部分还是全部,可以根据实际情况进行设定。例如,可以设置当终端确定出该第一应用在第一时间段内的Q个(Q为预设值,例如3个)应用状态之后,则停止确定该第一应用对应的其他应用状态,该过程具体为:终端利用第一应用的应用标识与应用状态表中记录的应用标识进行匹配。应用标识相同的应用可以被确定为第一应用,然后确定该第一应用对应的应用状态的起始时间是否满足第一条件,该第一条件为该第一应用对应的应用状态的起始时间或结束时间在第一时间段内。
然后,终端基于应用行为对照表确定该第一时间段内的应用状态对应的应用行为,即可得到该第一应用在第一时间段内存在的应用行为。
在另一些实施例中,当应用状态表如前述表3所示,其包括的时间是应用状态发生时的起始时间的情况下,终端可以基于以下方式确定第一时间段内该第一应用的应用行为。
首先,终端确定第一应用的应用标识,然后基于该应用标识以及应用状态表确定第一应用在第一时间段内的应用状态(部分或者全部),具体是部分还是全部,可以根据实际情况进行设定。该过程具体为:终端利用第一应用的应用标识与应用状态表中记录的应用标识进行匹配,应用标识相同的应用可以被确定为第一应用。然后,终端确定该第一应用对应的应用状态的起始时间是否满足第二条件,该第二条件为该第一应用对应的应用状态的起始时间在第一时间段内。
然后,终端基于应用行为对照表确定该第一时间段内的应用状态对应的应用行为,即可得到该第一应用在第一时间段内存在的应用行为。
在一些可能的情况下,终端除了确定该第一应用在第一时间段内的应用状态(部分或者全部)以外,还可以确定其中任一应用状态对应的时间(可以为起始时间和/或结束时间)。
应该理解的是,该过程涉及的详细内容以及一些相关概念(例如第一条件、第二条件)可参考前述对步骤S104的描述,此处不再赘述。
S204.终端根据该第一应用对应的应用行为生成提示信息,该提示信息中至少包括该第一应用的部分或全部应用行为。
该提示信息用于提示用户该第一应用在后台运行的过程中涉及的应用行为,该提示信息中可以包括该第一应用在后台运行时的至少一个应用行为。该提示信息的内容包括,但不限于以下几种情况:
情况1:该提示信息中可以包括该第一应用在后台运行时的N个应用行为,其中,N为大于等于1的正整数,例如,N可以为1、3或者其他值。
情况2:该提示信息中可以包括该第一应用在后台运行时的全部应用行为。
情况3:该提示信息中可以包括第一内容以及第二内容,该第一内容中至少包括该第一应用在后台运行时的N个应用行为。该第二内容中至少包括该第一应用在后台运行时的全部应用行为或者大于N个应用行为。该第一内容以及第二内容可以再不同的情况下进行显示,具体的显示方式可以参考下述对步骤S205的描述。
在一种可能的实现方式中,当该提示信息中包括该第一应用在后台运行时的M个应用行为时,其中M为大于等于2的整数。终端可以将该M个应用行为进行排序后构成提示信息。例如,可以根据开始时间(应用状态对应的起始时间,该应用状态与该应用行对应)进行排序,一个应用行为的开始时间越靠前,则在该提示信息中,该应用行为越靠前。
应该理解的是,该提示信息中除了包括该第一应用的部分或全部应用行为,还可以包括一些其他的内容。例如,包括第一应用正在后台耗电,还可以包括第一控件以及第二控件,该第一控件用于指示关闭该第一应用,该第二控件用于指示忽略该提示信息。
步骤S204中,终端根据该第一应用对应的应用行为生成提示信息的详细描述以及该步骤S204中涉及的相关概念可以参考前述对步骤S106的描述,此处不再赘述。
应该理解的是,该提示信息中除了包括第一应用的至少一个应用行为以外,还可以包括第一应用正在耗电的提示内容。
S205.终端显示提示信息。
在一些实施例中,终端可以在通知页面中显示该提示信息中包括的部分或者全部内容。
在显示该提示信息之前,终端还可以生成该提示信息对应的功耗通知。该功耗通知用于提示用户存在应用在后台费功耗,终端可以将该功耗通知显示在终端的状态栏中。例如,前述涉及的功耗通知201A可以作为一个示例性功耗通知。
在另一些实施例中,终端可以在通知页面中显示该提示信息中包括的部分内容,其他的内容可以在其他情况下触发显示。例如,终端可以提供一个第三控件,该第三控件用于指示显示其他的内容,当检测到针对该第三控件的操作时,可以触发显示提示信息中的其他内容。
步骤S205中,终端显示提示信息的详细描述以及该步骤S205中涉及的相关概念(例如通知页面等)可以参考前述对步骤S108的相关描述,此处不再赘述。
S206.终端检测到用户针对该提示信息的第一操作。
用户在查阅该提示信息之后,可以触发第一操作。例如,该第一操作可以为点击该提示信息中第一控件或者点击该提示信息中的第二控件等,终端检测到用户针对该提示信息的第一操作。
S207.基于该第一操作确定是否关闭第一应用。
终端确定该第一操作是针对第一控件还是针对其他控件(例如第二控件或者第三控件)的操作,如果是针对第一控件的操作,则确定关闭第一应用。如果是针对其他控件的操作,则确定继续后台运行该第一应用。
本申请实施例中涉及的提示信息也可以被称为第一通知消息。前述涉及的第一控件、第二控件中的“第一”、“第二”只是强调两个控件不同,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量,则第一控件也可以被称为第二控件,第二控件也可以被称为第一控件。前述涉及的通知页面也可以被称为通知栏,前述涉及的功耗通知可以被称为功耗标识。例如,功耗通知201A可以被称为功耗标识201A。
下面介绍本申请实施例提供的示例性终端。
图7是本申请实施例提供的终端的结构示意图。
下面以终端为例对实施例进行具体说明。应该理解的是,终端可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
终端可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,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等。
可以理解的是,本申请实施例示意的结构并不构成对终端的具体限定。在本申请另一些实施例中,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器110中还可以设置存储器,用于存储指令和数据。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口等。
充电管理模块140用于从充电器接收充电输入。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。
终端的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
移动通信模块150可以提供应用在终端上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。
无线通信模块160可以提供应用在终端上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS)等。
在一些实施例中,终端的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA)等。
终端通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)。
终端可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP 用于处理摄像头193反馈的数据。
摄像头193用于捕获静态图像或视频。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。
NPU为神经网络(neural-network ,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。
内部存储器121可以包括一个或多个随机存取存储器(random access memory,RAM )和一个或多个非易失性存储器(non-volatile memory, NVM)。
随机存取存储器可以包括静态随机存储器(static random-access memory,SRAM)、动态随机存储器(dynamic random access memory, DRAM)等;
终端可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
耳机接口170D用于连接有线耳机。
在一些实施例中,终端还可以包括按键190、马达191、指示器192以及SIM卡接口195(或eSIM卡)等一项或多项,本申请实施例对此不作任何限制。
本申请实施例中,该处理器110可以调用内部存储器121中存储的计算机指令,以使得终端执行本申请实施例中的应用管理方法。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
Claims (13)
1.一种应用管理方法,其特征在于,包括:
终端在前台运行第一应用;
所述终端将所述第一应用切换至后台运行;
在所述第一应用在后台持续运行的时间达到第一时间阈值之后,所述终端基于所述第一应用 的应用标识从应用状态表中获取与所述应用标识匹配的全部应用状态以及各应用状态的起始时间;然后,所述终端从所述全部应用状态中确定起始时间在第一时间段内的M个应用状态;所述第一时间段为所述第一应用在后台运行之后的一段时间;
所述终端确定所述M个应用状态各自对应的应用行为,得到所述第一应用的M个应用行为;
所述终端基于所述M个应用状态的起始时间确定所述M个应用行为的起始时间;其中包括第一应用行为,所述第一应用行为的起始时间为所述第一应用行为对应的应用状态的起始时间;
所述终端基于所述第一应用的M个应用行为生成第一通知消息;
所述终端在通知页面中显示所述第一通知消息,所述第一通知消息包括所述第一应用消耗电量的M个应用行为中起始时间靠后的N个应用行为、第一控件以及第二控件;所述第一通知消息显示于通知页面中;所述通知页面为下拉状态栏时所述终端显示的用户界面,用于所述终端显示不同应用的通知消息;所述第二控件用于触发终端不再查询所述第一应用的应用行为;
响应于对所述第一控件的操作,所述终端结束在后台运行的所述第一应用。
2.根据权利要求1所述的方法,其特征在于,所述M等于1,所述终端确定所述M个应用状态各自对应的应用行为,得到所述第一应用的M个应用行为,具体包括:
所述第一应用在第一时间使用了扬声器或者使用了听筒以及所述第一时间在所述第一时间段内的情况下,所述终端确定所述第一应用在第一时间段内的一个应用状态为使用了扬声器或者使用了听筒;
所述终端结合应用行为对照表确定所述使用了扬声器或者使用了听筒对应的应用行为是播放音频;
所述终端显示第一通知消息,所述第一通知消息包括所述第一应用消耗电量的M个应用行为中起始时间靠后的N个应用行为,具体包括:
所述终端显示所述第一通知消息,所述第一通知消息用于指示所述终端在所述第一时间段内进行过播放音频。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述终端确定所述第一应用持续占用CPU锁大于或等于所述第一时间阈值的情况下,所述终端确定所述第一应用持续运行达到所述第一时间阈值。
4.根据权利要求3所述的方法,其特征在于,
所述第一时间段的起始时间为所述终端确定所述第一应用持续运行达到所述第一时间阈值的时刻;或者,
所述第一时间段的结束时间为所述终端确定所述第一应用持续运行达到所述第一时间阈值的时刻。
5.根据权利要求4所述的方法,其特征在于,所述终端基于所述第一用应的应用标识从应用状态表中获取与所述应用标识匹配的全部应用状态以及各应用状态的起始时间之前,所述方法还包括:
所述终端在所述应用状态表中记录所述第一应用在后台运行时的应用状态及所述应用状态发生时的时间,所述应用状态用于描述所述第一应用使用了所述终端的何种资源,所述资源包括所述终端的硬件资源或者软件资源,所述时间包括所述应用状态发生的起始时间和/或所述应用状态发生的结束时间。
6.根据权利要求5所述的方法,其特征在于,在所述时间包括所述应用状态发生的起始时间以及结束时间的情况下,所述终端从所述全部应用状态中确定起始时间在第一时间段内的M个应用状态,具体包括:
所述终端从所述全部应用状态中确定起始时间以及结束时间都在第一时间段内的M个应用状态。
7.根据权利要求1-6中任一项所述的方法,其特征在于,
所述第一通知消息中还包括所述第一应用在后台耗电的提示。
8.根据权利要求1-6中任一项所述的方法,其特征在于,所述终端显示第一通知消息之前,所述方法还包括:
所述终端在所述状态栏显示功耗标识,所述功耗标识用于提示用户存在应用在后台耗电。
9.根据权利要求1-6中任一项所述的方法,其特征在于,所述第一通知消息中包括第三控件,
在所述终端显示第一通知消息之后,所述方法还包括:
响应于用户对所述第三控件的操作,所述终端在通知栏中删除所述第一通知消息,并继续后台运行所述第一应用。
10.根据权利要求1-6中任一项所述的方法,其特征在于,
所述应用行为包括播放音频、录音、录像、导航、上传文件或者下载文件中的一个或者多个。
11.根据权利要求1-6中任一项所述的方法,其特征在于,
所述应用状态包括使用扬声器、使用扬声器或者听筒、使用摄像头以及使用位置信息中的一个或者多个。
12.一种终端,其特征在于,所述终端包括一个或多个处理器和一个或多个存储器;其中,所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述一个或多个处理器用于调用所述计算机指令以使得所述终端执行如权利要求1至11中任一项所述的方法。
13.一种计算机存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序包括可执行指令,所述可执行指令当被处理器执行时使所述处理器执行如权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210083602.2A CN114115509B (zh) | 2022-01-25 | 2022-01-25 | 一种应用管理方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210083602.2A CN114115509B (zh) | 2022-01-25 | 2022-01-25 | 一种应用管理方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114115509A CN114115509A (zh) | 2022-03-01 |
CN114115509B true CN114115509B (zh) | 2022-07-26 |
Family
ID=80360886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210083602.2A Active CN114115509B (zh) | 2022-01-25 | 2022-01-25 | 一种应用管理方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114115509B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017198025A1 (zh) * | 2016-05-16 | 2017-11-23 | 广州市动景计算机科技有限公司 | 用于应用程序的耗电情况的处理方法、装置、计算设备以及机器可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324519A (zh) * | 2013-06-17 | 2013-09-25 | 华为技术有限公司 | 一种恶意耗电应用的清理方法、装置及用户终端 |
CN109902484B (zh) * | 2017-12-11 | 2022-12-30 | 华为技术有限公司 | 一种关联应用的处理方法以及终端 |
CN108958932A (zh) * | 2018-06-27 | 2018-12-07 | 努比亚技术有限公司 | 一种后台应用的控制方法、终端和计算机可读存储介质 |
CN111176809A (zh) * | 2019-12-18 | 2020-05-19 | 任子行网络技术股份有限公司 | 安卓平台下含长连接通讯进程的应用保活处理方法及系统 |
CN113760081B (zh) * | 2021-07-20 | 2022-09-13 | 荣耀终端有限公司 | 基于业务的耗电处理方法和终端设备 |
-
2022
- 2022-01-25 CN CN202210083602.2A patent/CN114115509B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017198025A1 (zh) * | 2016-05-16 | 2017-11-23 | 广州市动景计算机科技有限公司 | 用于应用程序的耗电情况的处理方法、装置、计算设备以及机器可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114115509A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110460981B (zh) | 一种蓝牙寻物的方法及电子设备 | |
US20230018598A1 (en) | Fault detection method and device | |
US20220159453A1 (en) | Method for Using Remote SIM Module and Electronic Device | |
CN112154640B (zh) | 一种消息的播放方法及终端 | |
CN113747374B (zh) | 一种消息推送方法及装置 | |
WO2023024852A1 (zh) | 一种短消息通知方法和电子终端设备 | |
CN113918110A (zh) | 投屏交互方法、设备、系统、存储介质和产品 | |
CN114116085A (zh) | 一种通知消息管理方法及电子设备 | |
CN113703849B (zh) | 投屏应用打开方法和装置 | |
CN116137639A (zh) | 一种跨设备音频数据传输的方法和电子设备 | |
CN116231815B (zh) | 控制充电的方法及电子设备 | |
CN114115509B (zh) | 一种应用管理方法及终端 | |
WO2023045673A1 (zh) | 呼叫时间提醒的方法及终端 | |
CN114666744B (zh) | 近距离通信设备连接方法、装置、设备、存储介质和产品 | |
CN116700913A (zh) | 嵌入式文件系统的调度方法、设备及存储介质 | |
CN110737765A (zh) | 多轮对话的对话数据处理方法及相关装置 | |
CN116055632B (zh) | 来电处理方法、电子设备及存储介质 | |
WO2023236646A1 (zh) | 来电显示方法和电子设备 | |
CN116033341B (zh) | 触发围栏事件的方法和装置 | |
CN115002821B (zh) | 通话状态监听方法、装置、设备、存储介质 | |
CN116055633A (zh) | 来电处理方法、系统、电子设备及存储介质 | |
CN114449103B (zh) | 提醒方法、图形用户界面及终端 | |
CN117376830B (zh) | 地理围栏匹配方法、电子设备及计算机可读存储介质 | |
CN115002820B (zh) | 通话状态监听方法、装置、设备、存储介质 | |
CN116264600A (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 |