应用处理方法和装置、电子设备、计算机可读存储介质与流程

文档序号:18213203发布日期:2019-07-19 22:27阅读:163来源:国知局
应用处理方法和装置、电子设备、计算机可读存储介质与流程

本申请涉及数据处理领域,特别是涉及一种应用处理方法和装置、电子设备、计算机可读存储介质。



背景技术:

电子设备上安装的应用在运行时,需要占用一定的资源,如占用处理器资源、接口资源、网络资源和/或内存资源等。当后台应用占据的资源过多时,会影响前台应用的运行效率。因而需要对后台应用进行冻结处理,以限制后台应用对资源的占用,提高电子设备上的可利用资源,使得更多的可利用资源向前台应用倾斜来提高前台应用的处理效率。

然而,被冻结的应用还是会被其它应用或者接收到的消息唤醒,被唤醒的应用通常会解除其资源限制,导致对该应用的冻结无效,难以有效提高电子设备上的可利用资源。



技术实现要素:

本申请实施例提供一种应用处理方法和装置、电子设备、计算机可读存储介质,可以提高设备的可利用资源。

一种应用处理方法,包括:

接收处于冻结状态的目标应用的未读信息;

当所述目标应用满足唤醒条件时,唤醒所述目标应用;

生成对所述未读信息的提示信息并显示所述提示信息;

当检测到作用于所述提示消息而触发的对所述未读信息的显示指令时,通过唤醒后的目标应用显示所述未读信息;

当所述目标应用不满足唤醒条件时,保持所述目标应用处于冻结状态。

一种应用处理装置,所述装置包括:

未读信息接收模块,用于接收处于冻结状态的目标应用的未读信息;

唤醒模块,用于当所述目标应用满足唤醒条件时,唤醒所述目标应用;

提示模块,用于生成对所述未读信息的提示信息并显示所述提示信息;

未读信息显示模块,用于当检测到作用于所述提示消息而触发的对所述未读信息的显示指令时,通过唤醒后的目标应用显示所述未读信息;

保持模块,用于当所述目标应用不满足唤醒条件时,保持所述目标应用处于冻结状态。

一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本申请各实施例中所述的应用处理方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请各实施例中所述的应用处理方法的步骤。

本申请实施例提供的应用处理方法和装置、电子设备、计算机可读存储介质,通过设置唤醒条件,当目标应用产生了未读信息时,则可检测目标应用是否满足对应的唤醒条件,当该目标应用满足唤醒条件时,则对该目标应用进行唤醒,并通知用户产生了该未读信息的提示信息,当检测到作用于所述提示消息而触发的对所述未读信息的显示指令时,则响应该操作,将该目标应用切换为前台运行,通过唤醒后的目标应用显示所述未读信息,供用户查阅,若目标应用不满足对应的唤醒条件时,则保持该目标应用处于冻结状态,维持对其资源限制,以提高电子设备的可利用资源。通过对目标应用设置唤醒条件,可防止每次一有未读消息则唤醒目标应用,导致处于冻结状态的目标应用频繁产生未读信息时,需要反复唤醒,由于终端唤醒应用也需要占用一定的资源,频繁唤醒应用反而会降低电子设备的可利用资源。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一个实施例中电子设备的内部结构示意图;

图2为一个实施例中电子设备中的系统的部分框架示意图;

图3为一个实施例中应用处理方法的流程图;

图4为一个实施例中应用处理方法的示意图;

图5为另一个实施例中应用处理流程的流程图;

图6为一个实施例中应用处理装置的结构框图;

图7为另一个实施例中应用处理装置的结构框图;

图8为又一个实施例中应用处理装置的结构框图;

图9为一个实施例中手机的部分结构的框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一占用率阈值称为第二占用率阈值,且类似地,可将第二占用率阈值称为第一占用率阈值。第一占用率阈值和第二占用率阈值两者都是占用率阈值,但其不是同一占用率阈值。

在一个实施例中,如图1所示,提供了一种电子设备的内部结构示意图。该电子设备包括通过系统总线连接的处理器、存储器和显示屏。其中,该处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器用于存储数据、程序、和/或指令代码等,存储器上存储至少一个计算机程序,该计算机程序可被处理器执行,以实现本申请实施例中提供的适用于电子设备的应用处理方法。存储器可包括磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质,或随机存储记忆体(random-access-memory,ram)等。例如,在一个实施例中,存储器包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统、数据库和计算机程序。该数据库中存储有用于实现以上各个实施例所提供的一种应用处理方法相关的数据,比如可存储有每个应用的名称以及为每个应用分配的内存页等信息。该计算机程序可被处理器所执行,以用于实现本申请各个实施例所提供的一种应用处理方法。内存储器为非易失性存储介质中的操作系统、数据库和计算机程序提供高速缓存的运行环境。显示屏可以是触摸屏,比如为电容屏或电子屏,用于显示前台应用的界面展示信息,还可以被用于检测作用于该显示屏的触摸操作,生成相应的指令,比如进行前后台应用的切换指令等。

本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。如该电子设备还包括通过系统总线连接的网络接口,网络接口可以是以太网卡或无线网卡等,用于与外部的电子设备进行通信,比如可用于同服务器进行通信。再比如该电子设备上并不存在通过系统总线连接的显示器,或者可连接外部显示设备。

在一个实施例中,如图2所示,提供了一种电子设备的部分架构图。其中,该电子设备的架构系统中包括java空间层210、本地框架层220以及内核(kernel)空间层230。java空间层210上可包含冻结管理应用212,电子设备可通过该冻结管理应用212来实现对各个应用的冻结策略,对后台耗电的相关应用做冻结和解冻等操作。本地框架层220中包含资源优先级和限制管理模块222和平台冻结管理模块224。电子设备可通过资源优先级和限制管理模块222实时维护不同的应用处于不同优先级和不同资源的组织中,并根据上层的需求来调整应用程序的资源组别从而达到优化性能,节省功耗的作用。电子设备可通过平台冻结管理模块224将后台可以冻结的任务按照进入冻结时间的长短,分配到对应预设的不同层次的冻结层,可选地,该冻结层可包括三个,分别是:cpu限制睡眠模式、cpu冻结睡眠模式、进程深度冻结模式。其中,cpu限制睡眠模式是指对相关进程所占用的cpu资源进行限制,使相关进程占用较少的cpu资源,将空余的cpu资源向其它未被冻结的进程倾斜,限制了对cpu资源的占用,也相应限制了进程对网络资源以及i/o接口资源的占用;cpu冻结睡眠模式是指禁止相关进程使用cpu,而保留对内存的占用,当禁止使用cpu资源时,相应的网络资源以及i/o接口资源也被禁止使用;进程深度冻结模式是指除禁止使用cpu资源之外,进一步对相关进程所占用的内存资源进行回收,回收的内存可供其它进程使用。内核空间层230中包括uid管理模块231、cgroup模块232、binder管控模块233、进程内存回收模块234以及冻结超时退出模块235。其中,uid管理模块231用于实现基于应用的用户身份标识(useridentifier,uid)来管理第三方应用的资源或进行冻结。相比较于基于进程身份标识(processidentifier,pid)来进行进程管控,通过uid更便于统一管理一个用户的应用的资源。cgroup模块232用于提供一套完善的中央处理器(centralprocessingunit,cpu)、cpuset、内存(memory)、输入/输出(input/output,i/o)和net相关的资源限制机制。binder管控模块233用于实现后台binder通信的优先级的控制。其中,本地框架层220的接口模块包含开发给上层的binder接口,上层的框架或者应用通过提供的binder接口来发送资源限制或者冻结的指令给资源优先级和限制管理模块222和平台冻结管理模块224。进程内存回收模块234用于实现进程深度冻结模式,这样能当某个第三方应用长期处于冻结状态的时候,会主要释放掉进程的文件区,从而达到节省内存的模块,也加快该应用在下次启动时的速度。冻结超时退出模块235用于解决出现冻结超时场景产生的异常。通过上述的架构,可实现本申请各个实施例中的应用处理方法。

在一个实施例中,如图3所示,提供了一种应用处理方法,本实施例以该方法应用于如图1所示的电子设备为例进行说明。该方法包括:

步骤302,接收处于冻结状态的目标应用的未读信息。

一个应用(application,简称app)的运行通常是由相关的多个进程的运行而体现的。进程(process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。目标应用可为游戏类应用、音乐类应用或社交类应用或支付类应用等类型的应用。例如,用户可以通过游戏类应用玩游戏,也可以通过视频类应用看视频,还可以通过音乐类应用播放音乐等。

应用程序可以根据运行的状态分为前台应用程序和后台应用程序。前台应用程序是指在电子设备的前台运行的应用程序,前台应用程序可以在与在前台显示并与用户实现交互。后台应用程序是指在电子设备的后台运行的应用程序,后台应用程序一般不能在前台显示并与用户实现交互过程。电子设备可以控制前台应用和后台应用的切换,前台应用可切换到后台运行,后台应用也可以切换到前台运行。

应用可以被冻结,处于冻结状态的应用通常为后台应用。处于冻结状态的应用并没有被关闭,只是暂时不运行,限制了其对资源的占用。比如处于冻结状态的应用不占用处理器资源进行运行,但是仍然占用电子设备的内存和硬件等资源。电子设备的本地框架层中的资源优先级和限制管理模块可以对应用的状态进行标记,通过读取应用的状态标记就可以知道应用是否处于冻结状态。

处于冻结状态的目标应用仍能接收或产生信息,未读信息表示处于未读状态的信息。未读信息可包括向用户推荐的推送信息,比如为优惠信息、红包信息、好友或服务商的通知消息和/或应用更新信息等。比如,当该应用为音乐类应用时,该未读信息可为某一歌曲或歌手的推荐信息。电子设备可获取该未读信息,并解析该未读信息的信息内容。

步骤304,当目标应用满足唤醒条件时,唤醒目标应用。

电子设备预设了相应的唤醒条件,不同的应用对应的唤醒条件不一定相同。当接收到未读信息后,可检测目标应用是否满足唤醒条件。当检测到目标应用满足对应的唤醒条件时,则唤醒该目标应用。在一个实施例中,唤醒条件包括以下几种条件中的任意一种或几种:

(1)未读信息的重要级别是否达到预设级别;

(2)未读信息的消息条数是否超过预设条数;

(3)当前时刻是否处于预设时间段;

(4)当前位置是否处于预设区域内。

其中,电子设备设置了不同的信息对应的重要级别。重要级别可分为多种级别,比如可按照重要程度由重到轻分别为一级、二级、三级、四级等。预设级别为预先设置的用于判定是否达到唤醒条件的级别阈值,比如可为二级。类似地,预设条数、预设时间段和预设区域也分别为预先设置的用于判定是否达到唤醒条件的条数阈值、时间段阈值以及区域阈值。

当目标应用的未读消息的重要级别、消息条数、当前时刻和/或当前位置中的一种或几种满足上述对应的条件时,则判定目标应用满足对目标应用的唤醒条件。并在判定满足唤醒条件后,则唤醒目标应用。唤醒应用表示对相应的应用进行解冻,使得该应用可以运行。

步骤306,生成对未读信息的提示信息并显示提示信息。

电子设备可根据检测到的未读信息,生成用于提示产生了该未读信息的提示信息,并显示该提示信息。其中,该提示信息中可包含未读信息中的部分或全部信息,或者还可包含告知用户该目标应用产生了相应的未读信息的消息,使得用户根据该提示信息可获知对应未读信息中的部分或全部信息,或者可获知该目标应用产生了相应的未读信息。可选地,对提示信息的显示方式可包括多种,比如可以以弹窗的形式显示,或者可在电子设备的状态栏产生该提示信息的通知,使得用户可查看到对应的提示信息。

步骤308,当检测到作用于提示消息而触发的对未读信息的显示指令时,通过唤醒后的目标应用显示未读信息。

电子设备可侦测用户对该未读信息的操作,并对该操作作出相应的响应。其中,该操作可为对未读信息的忽略操作,或者为对未读信息的查阅操作等。当识别为查阅操作时,则触发对未读信息的显示指令。比如,该提示信息中还可包括“忽略”和“查看详情”的虚拟按钮,当侦测到对该“忽略”按钮的点击操作时,则忽略对应的未读信息,不启动对应的目标应用。当检测到对“查看详情”按钮的点击操作时,则触发对应的显示指令,并启动唤醒后的目标应用,并通过该唤醒后的目标应用来显示该未读信息,以供用户查看。

其中,通过该目标应用来显示未读信息时,则将该目标应用切换到了前台运行,此时,该目标应用则从后台应用变成了前台应用。

步骤310,当目标应用不满足唤醒条件时,保持目标应用处于冻结状态。

若目标应用不满足唤醒条件,则无需对该目标应用进行唤醒,以使其继续处于冻结状态,继续保持对该目标应用的资源限制,以提高前台应用的处理效率,提高电子设备的可利用资源。

上述的应用处理方法,通过设置唤醒条件,当目标应用产生了未读信息时,则可检测目标应用是否满足对应的唤醒条件,当该目标应用满足唤醒条件时,则对该目标应用进行唤醒,并通知用户产生了该未读信息的提示信息,当检测到作用于提示消息而触发的对未读信息的显示指令时,则响应该操作,将该目标应用切换为前台运行,通过唤醒后的目标应用显示未读信息,供用户查阅,若目标应用不满足对应的唤醒条件时,则保持该目标应用处于冻结状态,维持对其资源限制,以提高电子设备的可利用资源。通过对目标应用设置唤醒条件,可防止每次一有未读消息则唤醒目标应用,导致处于冻结状态的目标应用频繁产生未读信息时,需要反复唤醒,由于终端唤醒应用也需要占用一定的资源,频繁唤醒应用反而会降低电子设备的可利用资源。

在一个实施例中,上述应用处理方法还包括:获取未读消息的重要级别;当重要级别达到预设级别时,判定目标应用满足唤醒条件。

电子设备可在获取未读信息之后,根据该未读信息的内容或未读信息的类型来确定该未读信息的重要级别,并比较该重要级别是否达到该目标应用对应的预设级别,若是,则判定满足唤醒条件,否则,可进一步检测该目标应用或未读信息的其它信息是否满足要求,或者直接判定该目标应用不满足唤醒条件。通过设置未读信息的重要级别,使得当满足预设级别时,对目标应用进行唤醒,可防止目标应用被频繁地唤醒,反而降低了终端的可利用资源。

在一个实施例中,不同的应用的信息的重要级别划分方式以及对应的预设级别可不一定相同。比如,针对某一应用a而设置的预设级别可为二级,而针对某一应用b所设置的预设级别可为三级。针对不同的应用设置对应不同的信息的重要级别和预设级别,可提高对不同应用的唤醒的灵活性。

在一个实施例中,上述应用处理方法还包括:获取处于冻结状态的目标应用的所有未读消息的消息条数;当消息条数达到预设条数时,判定目标应用满足唤醒条件。

可选地,还可通过目标应用产生的未读信息的信息条数来判定是否满足预设条件。电子设备可在获取目标应用的未读信息时,更新该目标信息所累积的所有当前未读信息的信息条数,并检测该信息条数是否达到预设条数,若是,则判定满足唤醒条件。在一个实施例中,针对不同的应用设置的对应的预设条数可不一定相同,比如可针对某一应用c所设置的预设条数为3条,而针对某一应用d所设置的预设条数可为5条,针对不同的应用设置对应不同的预设条数,可提高对不同应用的唤醒的灵活性。

在一个实施例中,上述应用处理方法还包括:获取电子设备的当前时空信息;当当前时空信息属于预设时空信息时,判定目标应用满足唤醒条件。

其中,时空信息可包括时间信息和/或空间信息。当前时刻信息即包括电子设备上的当前时刻和/或电子设备当前所处的位置信息。电子设备可针对不同的应用,设置对应不同的预设时空信息。通过设置时空信息,使得当前时空信息处于预设时空信息时,则判定目标应用满足唤醒条件,可防止目标应用被频繁地唤醒。

可选地,可根据应用本身所属的应用类型以及该电子设备记录到的用户的操作习惯数据而设置对应应用的时空信息。比如,当该目标应用为外卖类应用时,该预设时空信息可为某一个或多个预设时间段,该时间段可具体为符合用户就餐的时间段,比如可为中午11:00至13:00,或者可为17:00至19:00等。当当前时刻处于该预设时间段之内时,则判定的当前时空信息满足预设与该目标应用对应的预设时空信息。又比如当目标应用为某一游戏类应用时,可根据该目标应用的应用类型和用户操作习惯,设置对应的预设时空信息包含相应的预设时间段以及相应的预设区域。比如该预设时间段可为非工作时间的时间段,而预设区域可为非办公区域,使得当电子设备的当前时刻处于非工作时间的时间段之内,以及当前位置属于用户的非办公区域之内时,则判定当前时空信息属于对应的预设时空信息,判定目标应用满足唤醒条件。针对不同的应用设置不同的预设时空信息,进一步提高了目标应用唤醒的灵活性。

在一个实施例中,在唤醒目标应用之后,还包括:获取目标应用被冻结时回收的数据;将回收的数据加载至为目标应用分配的内存页中;通过唤醒后的目标应用显示未读信息,包括:通过唤醒后的、加载了回收的数据的目标应用显示未读信息。

应用在运行时需要占用内存空间来存储运行过程中的数据。不同的应用在不同的运行状态占用的内存空间大小不一定相同。内存页是操作系统对内存进行管理的单位,不同的电子设备设置的内存页占据的单位内存大小不一定相同。内存页中存储的数据即为相应应用在运行过程中所使用到的或生成的数据,该数据被临时缓存在内存中。比如电子设备内的内存空间被划分为100000个内存页,待处理应用占用的内存页为内存页100至内存页200,而其中的内存页130至内存页200为可回收内存页。

电子设备在对目标应用进行冻结的过程中,可将部分或全部内存页中存储的数据迁移至用于存储回收的数据的存储空间中。该存储空间可为块缓存(blockcache)、页缓存(pagecache)、虚拟内存、flash闪存或外接存储介质等其中的任意一种或几种存储介质中的存储空间。针对所存储的回收的数据,电子设备可记录该回收的数据所属的目标应用,比如可建立回收的数据和目标应用的应用标识之间的对应关系,当对目标应用唤醒后,可根据该对应关系可获取对应的回收数据,将回收的数据加载至为该目标应用分配的内存页中,通过唤醒后的、加载了回收的数据的目标应用显示未读信息。

通过预先存储目标应用回收的数据,在唤醒目标应用后,可获取该回收的数据并加载至为目标应用分配的内存页中,由于该回收的数据即为目标应用运行时所需的数据,从而无需由目标应用重新生成运行时所需要的数据,提高了目标应用的运行效率。

在一个实施例中,在唤醒目标应用之后,还包括:从目标应用被唤醒的时刻开始计时;当计时时长达到时长阈值而未触发显示指令时,控制被唤醒的目标应用进入资源限制状态;其中,处于资源限制状态的应用在后台运行时对电子设备的资源占用率小于第一占用率阈值。

当目标应用被唤醒时,电子设备启动计时器,然后通过计时器开始计时。若同时存在多条目标应用被唤醒的情况,则可对每个目标应用定义对应的计时器,每个目标应用都可以通过对应的计时器来进行计时。

在一个实施例中,可以建立目标应用的应用标识和计时器的计时标识之间的对应关系,这样在目标应用被唤醒后,可以通过应用标识对应的计时标识查找并启动计时器开始计时。以android系统为例,系统可以预先定义一个计时器,当检测到目标应用被唤醒时,应用标识查找对应的计时器,并通过timer.setbase(systemclock.elapsedrealtime())将计时器清零,然后通过timer.start()函数启动计时器,开始计时。

计时时长表示从目标应用被唤醒的时刻到当前时刻的时长。可以预先定义时长阈值,当计时时长超过时长阈值未触发显示指令时,控制被唤醒的目标应用进入资源限制状态。时长阈值一般会设置为一个比较小的阈值,这样避免目标应用一直处于运行状态,而占用设备的资源。可以理解的是,不同的目标应用可以使用相同的时长阈值,也可以使用不同的时长阈值,在此不做限定。

具体地,可以首先获取目标应用所对应的应用程序的应用类型,然后根据应用类型获取对应的时长阈值。例如,应用程序可以分为即时通讯类、社交类、工具类等应用类型,由于即时通讯类的实时性要求比较高,那么可以将即时通讯类应用程序的应用所对应的时长阈值,设置一个较大的值。社交类和工具类应用程序的实时性要求比较低,则可以将社交类和工具类应用程序的应用所对应的时长阈值,设置一个较小的值。这样可以将不同的应用设置不同的时长阈值,对于一些实时性要求比较低的应用程序,被唤醒的目标应用可以迅速进入冻结状态,以减少资源的占用。

资源限制状态是指对应用在运行时使用的电子设备的资源进行限制的状态。资源是指电子设备在处理应用事件时所必须用到的软件或硬件资源,比如电子设备的cpu(centralprocessingunit,中央处理器)、内存(memory)、硬件、网络资源、io(input-output,输入输出)等。资源占用率是指电子设备的资源被占用的比例,一般是指被占用的资源与全部资源的比例,可以通过百分比的形式进行表示。例如,设备的总内存有128gb,已经被占用的内存有56gb,那么该设备的资源占用率就可以表示为内存占用率,得到的内存占用率即为43.75%。可以理解的是,应用处于资源限制状态时,运行过程中的资源占用率不能超过第一占用率阈值,这样可以控制应用对电子设备资源的使用,从而节省电子设备的资源。例如,限制应用在运行时的cpu占用率不能超过10%。

在一个实施例中,如图4所示,为一个实施例中应用处理流程的示意图。当应用被唤醒后则开始计时,计时时长达到时长阈值而未触发对未读信息的显示指令时,则控制唤醒的应用进入资源限制状态。限制该目标应用对资源的占用。图4中的阴影部分即表示目标应用对资源的占用状态,其中,处于冻结状态时,目标应用未占用资源,处于唤醒状态而非资源限制状态时,占用的资源要大于资源限制状态下占用的资源。其中的超时即表示计时时长达到时长阈值而未触发对未读信息的显示指令。可以理解地,图4中的仅是一种示意情况,目标应用对cpu、内存、io以及网络等各种资源的占用率并一不定相同。

上述的应用处理方法,当检测到处于冻结状态的目标应用被唤醒后的时长达到时长阈值而未触发显示指令时,控制被唤醒的目标应用进入资源限制状态,避免应用对资源的长时间占用,进一步地减少了资源占用率。

在一个实施例中,控制被唤醒的目标应用进入资源限制状态,包括:获取电子设备的资源总占用率;若资源总占用率超过第二占用率阈值,则控制被唤醒的目标应用进入资源限制状态。

资源总占用率是指电子设备中所有应用对资源的总占用比例。在电子设备运行的过程中可以实时统计各个应用的资源占用率,然后将电子设备中所有应用的资源占用率的相加得到资源总占用率。第二占用率阈值为预先设置的用于衡量是否使目标应用进入资源限制状态的临界数值。第二占用率阈值可为预设的任意合适的经验数值。当电子设备的资源总占用率超过第二占用率阈值时,认为电子设备的剩余资源比较少,会影响电子设备上的前台应用或其它应用的正常运行。

在电子设备的资源比较紧张的情况下,为了防止目标应用过多的占用资源,影响其他应用的运行,可以控制被唤醒的目标应用进入资源限制状态。处于资源限制状态的应用能够使用的资源有限,这样才不会影响其他应用的运行。例如,在手机系统中可以通过cgroups(controlgroups,控制组)来控制目标应用的cpu、内存、io等资源占用率,即控制目标应用进入资源限制状态。

在一个实施例中,控制被唤醒的目标应用进入资源限制状态,包括:获取目标应用对应的优先级,根据优先级获取对应的资源限制级别;控制被唤醒的目标应用进入资源限制级别对应的资源限制状态。

优先级表示应用对资源占用的优先级别,用于反映相应应用的重要程度。优先级可包括多中级别,不同应用的优先级不一定相同,可以预先进行设置各个应用的优先级。例如,可以将系统级应用设置为较高的优先级,第三方应用设置为较低的优先级。或者可以根据应用的类型来对应用程序的优先级进行设置,即时通讯类应用设置为较高的优先级,工具类应用设置为较低的优先级。还可以根据其他标准来设置应用的优先级,在此不进行具体限定。资源限制级别是指对应用使用的资源进行限制的程度,资源限制级别越高,则对资源限制的程度越大。电子设备可建立不同的优先级与不同的资源限制级别之间的对应关系,其中,优先级越高,则对应的资源限制级别越低。

获取目标应用对应的优先级,根据优先级获取对应的资源限制级别;控制被唤醒的目标应用进入资源限制级别对应的资源限制状态。例如,对应系统级的应用可以设置为轻度资源限制,第三方应用可以设置为深度资源限制。

可以理解的是,不同的应用可能依赖的资源会有所不同,则可以根据应用依赖的资源类型来控制应用的资源限制类型。例如,一些本地应用可能使用的网络资源比较少,而一些需要进行网络通信的应用使用的网络资源会比较多,可以对网络资源使用比较多的应用进行网络资源的限制。具体地,获取目标应用的资源占用历史数据,根据资源占用历史数据获取目标应用对应的依赖资源类型,并根据依赖资源类型和资源限制级别控制被唤醒的目标应用进入资源限制状态。其中,资源占用历史数据是指应用历史占用资源的数据,依赖资源类型即为应用运行时所依赖的资源的类型。

通过设置应用的优先级以及资源限制级别,将控制被唤醒的目标应用进入资源限制级别对应的资源限制状态,从而可使得对目标应用的资源限制处于一个合适的程度。

在一个实施例中,如图5所示,提供了另一种应用处理方法,该方法包括:

步骤502,接收处于冻结状态的目标应用的未读信息。

步骤504,当目标应用满足以下中任意一种或几种条件时,判定目标应用满足唤醒条件,并唤醒目标应用,(1)未读信息的重要级别是否达到预设级别;(2)未读信息的消息条数是否超过预设条数;(3)当前时刻是否处于预设时间段;(4)当前位置是否处于预设区域内。

在一个实施例中,当满足上述四种条件之中的任意一种条件时,则判定满足唤醒条件。可以理解地,上述四种条件的检测的顺序可不做限定。

步骤506,获取目标应用被冻结时回收的数据;将回收的数据加载至为目标应用分配的内存页中。

在一个实施例中,电子设备可根据预先建立的回收的数据和目标应用的应用标识之间的对应关系,查询出从该目标应用所回收的数据,并将该回收的数据回迁至为目标应用分配的内存页中,从而无需或降低由目标应用来生成的数据量,提高了目标应用的运行效率。

步骤508,生成对未读信息的提示信息并显示提示信息,从目标应用被唤醒的时刻开始计时。

步骤510,当计时时长达到时长阈值而未触发显示指令时,控制被唤醒的目标应用进入资源限制状态。

电子设备可检测在时长阈值之内是否有产生对未读信息的显示指令,若否,则控制被唤醒的目标应用进入资源限制状态,以防止该目标应用未被用户操作而又长时间占用较多的资源。其中,可通过上述的资源优先级和限制管理模块来实现对控制目标应用进入。

在一个实施例中,在目标应用被唤醒之后,且计时时长达到时长阈值而未触发显示指令时,可获取电子设备的资源总占用率,若资源总占用率超过第二占用率阈值,则控制被唤醒的目标应用进入资源限制状态。

电子设备可以在预设存储地址中存储监控日志文件,根据该监控日志文件可以获取cpu总占用率。同时该预设存储地址中还存储了若干个子文件夹,这些子文件夹中存储着各个应用日志文件。应用日志文件记录了应用从开启到当前时刻的具体运行情况的变化,根据这些应用日志文件就可以获取该应用所占用cpu资源的情况,即可获取应用的cpu占用率。

例如,在android系统中,在/proc目录中可以读取到存储cpu总占用信息的监控日志文件。其中,/proc目录下还包含了多个子文件夹,这些子文件夹中存储了各个应用中的进程对应的cpu占用信息的进程日志文件。/proc目录中存储的监控日志文件的文件名为“stat”,/proc目录中的子文件夹中存储了进程日志文件,进程日志文件的文件名为“stat”。/proc目录下的stat文件记录了cpu的总占用信息,/proc目录下的子文件夹中的stat文件记录了各个进程的cpu占用信息。比如,/proc/pid目录下的stat文件记录了pid进程的cpu占用信息。

电子设备还可以实时统计内存、硬件、网络资源、io等资源的占用率,例如在通过读取文件"/proc/meminfo"的信息能够获取手机的内存总量,而通过activitymanager.getmemoryinfo(activitymanager.memoryinfo)方法可以获取当前的可用内存量,然后通过可用内存量和内存总量可以计算当前的内存总占用率。在android系统中可以直接运行top命令来统计cpu、内存、io等资源的占用率。

在一个实施例中,获取目标应用对应的优先级,根据优先级获取对应的资源限制级别;控制被唤醒的目标应用进入资源限制级别对应的资源限制状态。

在一个实施例中,还可以建立资源总占用率和资源限制级别的对应关系。当资源总占用率超过第二占用率阈值时,根据资源总占用率获取资源限制级别,然后控制被唤醒的目标应用进入资源限制级别对应的资源限制状态。例如,第二占用率阈值为50%,则当资源总占用率超过50%时,将资源总占用率划分为50%~60%、60%~80%、80%~100%等三个占用级别,然后分别对应轻度资源限制级别、普通资源限制级别和深度资源限制级别等三个等级,根据资源总占用率可以获取对应的资源限制级别。可以理解的是,还可以结合资源总占用率和目标应用的优先级,来获取资源限制级别。

步骤512,当检测到作用于提示消息而触发的对未读信息的显示指令时,通过唤醒后的、加载了回收的数据的目标应用显示未读信息。

步骤514,当目标应用不满足唤醒条件时,保持目标应用处于冻结状态。

上述实施例提供的应用处理方法,通过接收处于冻结状态的目标应用的未读信息,若该目标应用或该未读消息满足对应的唤醒条件,则唤醒该目标应用,并将获取目标应用被冻结时回收的数据;将回收的数据加载至为目标应用分配的内存页中,以提高通过该目标应用来显示未读消息时,目标应用的运行效率。若在唤醒后的计时时长达到时长阈值而未触发显示指令时,则控制被唤醒的目标应用进入资源限制状态,以防止该目标应用过长时间地占用资源。当未读信息不满足预设的唤醒条件时,则保持对该目标应用处于冻结状态,从而进一步提高了电子设备的资源利用率。

可以理解的是,本申请中以android操作系统为例对应用处理方法进行说明,但是本申请的应用处理方法并不仅限于在android系统中实现,还可以应用在ios(iphoneoperatingsystem)、塞班、windows、macos(macintoshoperatingsystem)等操作系统中。

应该理解的是,虽然图3和图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3和图5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图6所示,提供了一种应用处理装置,该装置包括未读信息接收模块602、唤醒模块604、提示模块606、未读信息显示模块608以及保持模块610。其中,未读信息接收模块602,用于接收处于冻结状态的目标应用的未读信息;唤醒模块604,用于当目标应用满足唤醒条件时,唤醒目标应用;提示模块606,用于生成对未读信息的提示信息并显示提示信息;未读信息显示模块608,用于当检测到作用于提示消息而触发的对未读信息的显示指令时,通过唤醒后的目标应用显示未读信息;保持模块610,用于当目标应用不满足唤醒条件时,保持目标应用处于冻结状态。

在一个实施例中,唤醒模块604还用于获取未读消息的重要级别;当重要级别达到预设级别时,判定目标应用满足唤醒条件。

在一个实施例中,唤醒模块604还用于获取处于冻结状态的目标应用的所有未读消息的消息条数;当消息条数达到预设条数时,判定目标应用满足唤醒条件。

在一个实施例中,唤醒模块604还用于获取电子设备的当前时空信息;当当前时空信息属于预设时空信息时,判定目标应用满足唤醒条件。

在一个实施例中,如图7所示,提供了另一种应用处理装置,该装置还包括:

数据加载模块612用于获取目标应用被冻结时回收的数据;将回收的数据加载至为目标应用分配的内存页中。

未读信息显示模块608还用于通过唤醒后的、加载了回收的数据的目标应用显示未读信息。

在一个实施例中,如图8所示,提供了另一种应用处理装置,该装置还包括:

应用限制模块614,用于从目标应用被唤醒的时刻开始计时;当计时时长达到时长阈值而未触发显示指令时,控制被唤醒的目标应用进入资源限制状态;其中,处于资源限制状态的应用在后台运行时对电子设备的资源占用率小于第一占用率阈值。

在一个实施例中,应用限制模块614还用于获取电子设备的资源总占用率;若资源总占用率超过第二占用率阈值,则控制被唤醒的目标应用进入资源限制状态。

在一个实施例中,应用限制模块614还用于获取目标应用对应的优先级,根据优先级获取对应的资源限制级别;控制被唤醒的目标应用进入资源限制级别对应的资源限制状态。

上述的应用处理装置,通过设置唤醒条件,当目标应用产生了未读信息时,则可检测目标应用是否满足对应的唤醒条件,当该目标应用满足唤醒条件时,则对该目标应用进行唤醒,并通知用户产生了该未读信息的提示信息,当检测到作用于提示消息而触发的对未读信息的显示指令时,则响应该操作,将该目标应用切换为前台运行,通过唤醒后的目标应用显示未读信息,供用户查阅,若目标应用不满足对应的唤醒条件时,则保持该目标应用处于冻结状态,维持对其资源限制,以提高电子设备的可利用资源。通过对目标应用设置唤醒条件,可防止每次一有未读消息则唤醒目标应用,导致处于冻结状态的目标应用频繁产生未读信息时,需要反复唤醒,由于终端唤醒应用也需要占用一定的资源,频繁唤醒应用反而会降低电子设备的可利用资源。

上述应用处理装置中各个模块的划分仅用于举例说明,在其他实施例中,可将应用处理装置按照需要划分为不同的模块,以完成上述应用处理装置的全部或部分功能。关于应用处理装置的具体限定可以参见上文中对于应用处理方法的限定,在此不再赘述。上述应用处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子设备中的处理器中,也可以以软件形式存储于电子设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

本申请实施例中提供的应用处理装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器等电子设备上运行。该计算机程序构成的程序模块可存储在电子设备的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述的应用处理方法的步骤。

在一个实施例中,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述各实施例所提供的应用处理方法的步骤。

在一个实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序对处理器执行时,实现本申请各实施例中所描述的应用处理方法的步骤。

在一个实施例中,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本申请各实施例中所描述的应用处理方法。

本申请实施例还提供了一种计算机设备。如图9所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该计算机设备可以为包括手机、平板电脑、pda(personaldigitalassistant,个人数字助理)、pos(pointofsales,销售终端)、车载电脑、穿戴式设备等任意终端设备,以计算机设备为手机为例:

图9为与本申请实施例提供的计算机设备相关的手机的部分结构的框图。参考图9,手机包括:射频(radiofrequency,rf)电路910、存储器920、输入单元930、显示单元940、传感器950、音频电路960、无线保真(wirelessfidelity,wifi)模块970、处理器980、以及电源990等部件。本领域技术人员可以理解,图9所示的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,rf电路910可用于收发信息或通话过程中,信号的接收和发送,可将基站的下行信息接收后,给处理器980处理;也可以将上行的数据发送给基站。通常,rf电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(lownoiseamplifier,lna)、双工器等。此外,rf电路910还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystemofmobilecommunication,gsm)、通用分组无线服务(generalpacketradioservice,gprs)、码分多址(codedivisionmultipleaccess,cdma)、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)、长期演进(longtermevolution,lte))、电子邮件、短消息服务(shortmessagingservice,sms)等。

存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器920可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能的应用程序、图像播放功能的应用程序等)等;数据存储区可存储根据手机的使用所创建的数据(比如音频数据、通讯录等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元930可用于接收输入的数字或字符信息,以及产生与手机900的用户设置以及功能控制有关的键信号输入。具体地,输入单元930可包括触控面板931以及其他输入设备932。触控面板931,也可称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板931上或在触控面板931附近的操作),并根据预先设定的程式驱动相应的连接装置。在一个实施例中,触控面板931可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器980,并能接收处理器980发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板931。除了触控面板931,输入单元930还可以包括其他输入设备932。具体地,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)等中的一种或多种。

显示单元940可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元940可包括显示面板941。在一个实施例中,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板941。在一个实施例中,触控面板931可覆盖显示面板941,当触控面板931检测到在其上或附近的触摸操作后,传送给处理器980以确定触摸事件的类型,随后处理器980根据触摸事件的类型在显示面板941上提供相应的视觉输出。虽然在图9中,触控面板931与显示面板941是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板931与显示面板941集成而实现手机的输入和输出功能。

手机900还可包括至少一种传感器950,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板941的亮度,接近传感器可在手机移动到耳边时,关闭显示面板941和/或背光。运动传感器可包括加速度传感器,通过加速度传感器可检测各个方向上加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换)、振动识别相关功能(比如计步器、敲击)等;此外,手机还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器等。

音频电路960、扬声器961和传声器962可提供用户与手机之间的音频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号输出;另一方面,传声器962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出处理器980处理后,经rf电路910可以发送给另一手机,或者将音频数据输出至存储器920以便后续处理。

wifi属于短距离无线传输技术,手机通过wifi模块970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了wifi模块970,但是可以理解的是,其并不属于手机900的必须构成,可以根据需要而省略。

处理器980是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。在一个实施例中,处理器980可包括一个或多个处理单元。在一个实施例中,处理器980可集成应用处理器和调制解调器,其中,应用处理器主要处理操作系统、用户界面和应用程序等;调制解调器主要处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器980中。比如,该处理器980可集成应用处理器和基带处理器,基带处理器与和其它外围芯片等可组成调制解调器。手机900还包括给各个部件供电的电源990(比如电池),优选的,电源可以通过电源管理系统与处理器980逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

在一个实施例中,手机900还可以包括摄像头、蓝牙模块等。

在本申请实施例中,该手机所包括的处理器执行存储在存储器上的计算机程序时实现上述所描述的应用处理方法。

本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram),它用作外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1