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

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

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



背景技术:

智能设备可以通过应用程序实现不同的应用操作,比如可以通过购物类应用程序购买商品、通过视频类应用程序查看视频等。智能设备可以对应用程序进行资源限制处理,对资源进行限制后的应用程序仅能占用有限的资源,而不能对设备的资源进行无限制地使用。应用程序可以被冻结,冻结后的应用程序无法再继续运行,不会占用智能设备中处理器资源,降低了智能设备的功耗、提高前台应用程序的流畅度。但是由于应用程序还是存在与智能设备中的,因此还会占用智能设备中的内存、硬件等资源。



技术实现要素:

本申请实施例提供一种应用程序处理方法、装置、电子设备、计算机可读存储介质,可以针对不同用户对应用程序进行不同的处理,提高电子设备的用户黏度。

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

通过摄像头采集使用电子设备的用户所对应的用户图像,根据所述用户图像获取用户标识;

根据所述用户标识获取所述电子设备的平均运行时长,以及所述电子设备中安装的各个应用程序的历史运行数据,所述平均运行时长表示所述电子设备在单位时长内平均运行的时长;

根据所述平均运行时长获取资源限制策略,并根据所述历史运行数据获取目标应用程序;

根据所述资源限制策略对所述目标应用程序进行资源限制处理。

一种应用程序处理装置,包括:

标识获取模块,用于通过摄像头采集使用电子设备的用户所对应的用户图像,根据所述用户图像获取用户标识;

数据获取模块,用于根据所述用户标识获取所述电子设备的平均运行时长,以及所述电子设备中安装的各个应用程序的历史运行数据,所述平均运行时长表示所述电子设备在单位时长内平均运行的时长;

策略获取模块,用于根据所述平均运行时长获取资源限制策略,并根据所述历史运行数据获取目标应用程序;

应用处理模块,用于根据所述资源限制策略对所述目标应用程序进行资源限制处理。

一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:

通过摄像头采集使用电子设备的用户所对应的用户图像,根据所述用户图像获取用户标识;

根据所述用户标识获取所述电子设备的平均运行时长,以及所述电子设备中安装的各个应用程序的历史运行数据,所述平均运行时长表示所述电子设备在单位时长内平均运行的时长;

根据所述平均运行时长获取资源限制策略,并根据所述历史运行数据获取目标应用程序;

根据所述资源限制策略对所述目标应用程序进行资源限制处理。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:

通过摄像头采集使用电子设备的用户所对应的用户图像,根据所述用户图像获取用户标识;

根据所述用户标识获取所述电子设备的平均运行时长,以及所述电子设备中安装的各个应用程序的历史运行数据,所述平均运行时长表示所述电子设备在单位时长内平均运行的时长;

根据所述平均运行时长获取资源限制策略,并根据所述历史运行数据获取目标应用程序;

根据所述资源限制策略对所述目标应用程序进行资源限制处理。

上述应用程序处理方法、装置、电子设备、计算机可读存储介质,可以根据摄像头采集的用户图像获取用户标识,根据用户标识获取电子设备的平均运行时长和应用程序的历史运行数据。然后根据平均运行时长获取资源限制策略,根据历史运行数据获取目标应用程序。最后根据获取的资源限制策略对目标应用程序进行资源限制处理。这样可以根据用户对电子设备的使用习惯,实现对电子设备中应用程序的运行的控制,针对不同用户做不同的处理,使得电子设备能够更准确地对应用程序进行控制,提高了电子设备的用户黏度。

附图说明

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

图1为一个实施例中应用程序处理方法的应用环境示意图;

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

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

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

图5为一个实施例中应用程序的资源限制状态的示意图;

图6为一个实施例中电子设备的部分架构图;

图7为一个实施例中应用程序处理装置的结构示意图;

图8为另一个实施例中应用程序处理装置的结构示意图;

图9为与本申请实施例提供的电子设备相关的手机的部分结构的框图。

具体实施方式

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

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

图1为一个实施例中应用程序处理方法的应用环境示意图。如图1所示,该应用环境包括客户端102和服务器104。客户端102上可以安装应用程序,然后通过摄像头采集用户图像,根据用户图像获取用户标识;根据用户标识获取客户端102的平均运行时长,以及客户端102中安装的各个应用程序的历史运行数据,平均运行时长表示客户端102在单位时长内平均运行的时长;根据平均运行时长获取资源限制策略,并根据历史运行数据获取目标应用程序;根据资源限制策略对目标应用程序进行资源限制处理。其中,客户端102为处于计算机网络最外围,主要用于输入用户信息以及输出处理结果的电子设备,例如可以是个人电脑、移动终端、个人数字助理、可穿戴电子设备等。服务器104是用于响应服务请求,同时提供计算服务的设备,例如可以是一台或者多台计算机。可以理解的是,本申请提供的其他实施例中,应用程序处理方法的应用环境可以只包含客户端102。

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

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

图3为一个实施例中应用程序处理方法的流程图。本实施例中的应用程序处理方法,以运行于图1中的终端或服务器上为例进行描述。如图3所示,该应用程序处理方法包括步骤302至步骤308。其中:

步骤302,通过摄像头采集使用电子设备的用户所对应的用户图像,根据用户图像获取用户标识。

在一个实施例中,电子设备上可安装摄像头,安装的摄像头的数量不限。例如,电子设备上可以安装一个、两个或两个以上的摄像头。摄像头可以包括前置摄像头和后置摄像头。用户在使用电子设备的时候,可以通过摄像头来采集用户图像,生成的用户图像可以在电子设备的显示屏上进行显示,也可以不在电子设备的显示屏上进行显示,在本实施例中不进行限定。采集的用户图像中可以但不限于包括用户的人脸,电子设备可以识别用户图像中的人脸,并根据人脸进行匹配,获取对应的用户标识。

可以理解的是,用户标识是指区分不同用户的唯一标识,电子设备中预先存储用户标识,并将用户标识与用户信息建立对应关系。用户信息是指用户相关的信息,可以通过用户图像进行识别。例如,用户信息可以包括用户的人脸、虹膜、五官等信息。当用户使用电子设备的时候,可以通过电子设备上安装的摄像头采集用户图像。根据用户图像可以识别用户信息,然后根据用户信息获取对应的用户标识。例如,根据用户图像识别用户的虹膜,然后根据用户的虹膜获取对应的用户标识。

步骤304,根据用户标识获取电子设备的平均运行时长,以及电子设备中安装的各个应用程序的历史运行数据,平均运行时长表示电子设备在单位时长内平均运行的时长。

应用程序(application,app)是指电子设备中针对某种应用目的所撰写的软体,电子设备可以通过应用程序实现对用户的需求服务。例如,用户可以通过游戏类应用程序玩游戏,也可以通过视频类应用程序看视频,还可以通过音乐类应用程序播放音乐等。应用程序可以根据运行的状态分为前台应用程序和后台应用程序。前台应用程序是指在电子设备的前台运行的应用程序,前台应用程序可以在与在前台显示并与用户实现交互。后台应用程序是指在电子设备的后台运行的应用程序,后台应用程序一般不能在前台显示并与用户实现交互过程。

一般地,应用程序的应用操作是由一个或多个进程(process)来共同完成,进程是是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。同时,一个进程可以对应一个或多个线程,线程是程序中一个单一的顺序控制流程,是进程内一个相对独立的、可调度的执行单元。进程可包括前台进程和后台进程,前台进程即为在电子设备前台运行的进程,后台进程即为在电子设备后台运行的进程。电子设备可以控制前台进程和后台进程的切换,前台进程可切换到后台运行,后台进程也可以切换到前台运行。具体地,可以通过进程池来实现对进程的管理,进程池中可以存放一个或多个进程对应的进程标识。进程标识用于唯一标示一个进程。进程池可以包括前台进程池和后台进程池,前台进程池中包括前台进程对应的进程标识,后台进程池中包括后台进程对应的进程标识。当检测到前台进程和后台进程的运行状态发生改变时,进程池会相应地添加或删除产生变化的进程标识。例如,进程a的进程标识为“0123”,当检测到进程a由后台进程变成前台进程时,可将该进程a的进程标识“0123”从后台进程池中移除,并添加到前台进程池中。

在一个实施例中,电子设备的状态可以分为待机状态和工作状态,在待机状态下电子设备不会对文件或程序进行任何实质性的操作,只有在工作状态下电子设备才会对文件或程序进行处理。平均运行时长表示电子设备在单位时长内平均运行的时长,单位时长可以预先进行设置。例如,平均运行时长可以是统计的电子设备平均每天内运行的时长,或者可以是统计的电子设备平均一个月内运行的时长。具体地,电子设备在运行过程中会记录每次进入工作状态的工作开始时刻和工作结束时刻,然后根据记录的工作开始时刻和工作结束时刻可以计算每次工作的工作时长。

在计算平均运行时长时,可以获取电子设备在统计时段内的运行数据,然后根据运行数据计算运行时长。统计时段是指用于统计平均运行时长的时间段,运行数据是指电子设备在运行过程中产生的数据,可以包括工作开始时刻和工作结束时刻。根据统计时段内的运行数据可以计算统计时段内每个单位时长内的运行时长,并根据获取的每个单位时长内的运行时长计算平均运行时长。例如,当前时刻为2017年12月25日15:30:00,则统计时段可以是前一个月内的运行数据,即获取从2017年11月25日15:30:00到2017年12月25日15:30:00内电子设备的运行数据。然后根据运行数据计算这一个月内每天的运行时长,再将每天的运行时长进行平均得到平均运行时长。

应用程序在运行的过程中,电子设备可以将应用程序产生的数据进行记录。历史运行数据就是应用程序在当前时刻之前的历史运行过程中产生的数据。例如,历史运行数据可以包括应用程序在从安装到当前时刻之间运行所消耗的电子设备的电量,或者应用程序每次运行时时长、应用启动时刻和应用关闭时刻等。历史运行数据可以反映用户对应用程序的操作习惯,从而反映用户的特征。根据历史运行数据进行学习,可以分析得到用户最常使用的应用程序。

在本申请提供的实施例中,用户在使用电子设备的时候,可以通过电子设备上安装的摄像头进行身份认证,通过身份认证之后,电子设备会将运行过程中产生的数据与用户标识对应进行存储。这样可以将不同用户使用电子设备的数据进行区分。根据用户标识获取电子设备的平均运行时长,以及电子设备中安装的各个应用程序的历史运行数据,即为获取用户标识对应的平均运行时长和历史运行数据。

步骤306,根据平均运行时长获取资源限制策略,并根据历史运行数据获取目标应用程序。

目标应用程序是指需要进行资源限制处理的应用程序,资源限制处理是指将应用程序所使用的电子设备的资源进行限制的处理。例如,限制应用程序在运行时占用的内存不能超过总内存的4%。历史运行数据可以反映用户以往使用应用程序的习惯,根据历史运行数据就可以获取占用资源较多的目标应用程序,并将目标应用程序进行资源限制处理,以减少目标应用程序对资源的过度占用。

资源限制策略是指用于对目标应用程序进行资源限制处理的策略,平均运行时长可以反映用户使用电子设备的时长。可以根据运行时长获取对目标应用程序的资源限制处理策略。一般平均运行时长越长,说明用户对电子设备越依赖,可以对应地将目标应用程序进行资源限制处理的程度设置得越深。例如,若电子设备的平均运行时长超过8小时,那么在对目标应用程序进行资源限制处理的时候,可以控制目标应用程序在运行时最多只能占用电子设备中5%的资源;若电子设备的平均运行时长超过4小时,那么在对目标应用程序进行资源限制处理的时候,可以控制目标应用程序在运行时最多只能占用电子设备中10%的资源。

步骤308,根据资源限制策略对目标应用程序进行资源限制处理。

资源是指电子设备在处理应用事件时所必须用到的软件或硬件资源,比如电子设备的cpu(centralprocessingunit,中央处理器)、内存(memory)、硬件、网络资源、io(input-output,输入输出)等。资源限制处理是指对应用程序占用的资源进行限制的处理。资源限制处理可以但不限于是控制应用程序进入冻结状态或资源限制状态,处于冻结状态的应用程序没有被关闭,只是暂时不运行。若应用程序处于冻结状态,则应用程序不占用处理器资源,但是仍然占用电子设备的内存和硬件等资源。资源限制状态是指对应用程序在运行时使用的电子设备的资源进行限制的状态。例如控制应用程序在运行时使用的cpu占用率不能超过5%。

上述实施例应用程序处理方法,可以根据摄像头采集的用户图像获取用户标识,根据用户标识获取电子设备的平均运行时长和应用程序的历史运行数据。然后根据平均运行时长获取资源限制策略,根据历史运行数据获取目标应用程序。最后根据获取的资源限制策略对目标应用程序进行资源限制处理。这样可以根据用户对电子设备的使用习惯,实现对电子设备中应用程序的运行的控制,针对不同用户做不同的处理,使得电子设备能够更准确地对应用程序进行控制,提高了电子设备的用户黏度。

图4为另一个实施例中应用程序处理方法的流程图。本实施例中的应用程序处理方法,以运行于图1中的终端或服务器上为例进行描述。如图4所示,该应用程序处理方法包括步骤402至步骤416。其中:

步骤402,对用户图像进行人脸检测,获取用户图像中的目标人脸图像。

人脸检测(facedetection,fd)是指对图像中包含的人脸进行检测的过程,通过人脸检测可以将图像中包含的人脸提取出来,获取人脸在图像中的位置和大小。具体地,可以根据人脸检测模型对用户图像进行人脸检测,人脸检测模型是指对图像进行人脸检测处理的算法模型。常用的人脸检测模型是首先提取图像的特征,然后将提取的特征进行分类学习,得到人脸图像。

将用户图像进行人脸检测之后,可以提取用户图像中的人脸图像。可以理解的是,用户在使用电子设备的时候,采集的用户图像中可能会存在多张人脸图像。在进行人脸检测之后,可以获取各个人脸图像的面积,将面积最大的人脸图像作为目标人脸图像。可以理解的是,用户图像是由若干个像素点构成的,检测出来的人脸图像是由用户图像中的部分像素点构成,则人脸图像的面积就可以用包含的像素点的数量进行表示。

步骤404,将目标人脸图像与人脸数据库中的人脸图像进行匹配,获取相匹配的人脸图像所对应的用户标识。

在本申请提供的实施例中,获取到目标人脸图像之后,可以将目标人脸图像与人脸数据库中的人脸图像进行匹配。人脸数据库中存储着一张或多张人脸图像,每张人脸图像与用户标识建立对应关系。电子设备可以遍历人脸数据库中的人脸图像,将每一张人脸图像与目标人脸图像进行匹配。若存在与目标人脸图像相匹配的人脸图像,则获取人脸数据库中与目标人脸图像相匹配的人脸图像对应的用户标识。

步骤406,根据用户标识获取电子设备的平均运行时长,以及电子设备中安装的各个应用程序的历史运行数据,平均运行时长表示电子设备在单位时长内平均运行的时长。

步骤408,根据平均运行时长获取用户依赖程度,并根据用户依赖程度获取资源限制策略,用户依赖程度用于表示用户对电子设备的依赖程度。

用户依赖程度用于表示用户对电子设备的依赖程度,可以但不限于包括第一级依赖程度、第二级依赖程度和第三级依赖程度。预先建立平均运行时长和用户依赖程度的对应关系,然后根据平均运行时长获取对应的用户依赖程序。其中,第一级依赖程度高于第二级依赖程度,第二级依赖程度高于第三级依赖程度。例如,平均运行时长可以表示为手机平均每天运行的时长,若用户平均每天运行的时长在8小时以上,则对应的用户依赖程度为第一级依赖程度;若用户平均每天运行的时长在4到8小时,则对应的用户依赖程度为第二级依赖程度;若用户平均每天运行的时长在4小时以下,则对应的用户依赖程度为第三级依赖程度。

一般地,第一级依赖程度表示用户对电子设备的重度依赖,第二级依赖程度表示用户对电子设备的普通依赖,第三级依赖程度表示用户对电子设备的轻度依赖。预先建立用户依赖程度和资源限制策略的对应关系,然后根据用户依赖程度获取对应的资源限制策略。例如,用户依赖程度为第一级依赖程度时,若目标应用程序在前台运行的时长超过2个小时,就将前台运行的目标应用程序进行冻结。

在一个实施例中,可以预先将电子设备的平均运行时长的取值范围划分为两个以两个以上的时长区间,然后建立每个时长区间与用户依赖程度的对应关系,然后根据该对应关系来获取电子设备的用户依赖程度。则根据平均运行时长获取用户依赖程度具体可以包括:确定平均运行时长落入的目标时长区间,根据所述目标时长区间获取对应的用户依赖程度。例如,计算平均运行时长的单位时长可以为三天,那么平均运行时长可以表示为电子设备每三天内平均运行的时长,则平均运行时长的取值范围就为0到72小时。将平均运行时长的取值范围划分为三个时长区间,则可以分为[0,12]、[12,36]、[36,72]等三个时长区间,对应的用户依赖程度为第一级依赖程度、第二级依赖程度和第三级依赖程度。假设当前统计的电子设备的平均运行时长为24小时,那么该用户就对应的用户依赖程度就为第二级依赖程度。

根据用户依赖程度获取资源限制策略具体可以包括:当用户依赖程度为第一级依赖程度,则获取第一资源限制策略和第二资源限制策略;当用户依赖程度为第二级依赖程度,则获取第二资源限制策略,其中第一级依赖程度高于第二级依赖程度。根据用户依赖程度获取对应的资源限制策略,根据资源限制策略对目标应用程序进行资源限制处理。

本申请提供的实施例中,将资源限制策略分为第一资源限制策略和第二资源限制策略,第一资源限制策略是指根据目标应用程序的前台运行时长控制目标应用程序进入资源限制状态的策略,第二资源限制策略是指根据目标应用程序切换到后台的时长控制目标应用程序进入冻结状态的策略。若用户依赖程度为第一级依赖程度,说明用户对电子设备的使用频率过高,则可以对目标应用程序的前台运行和后台运行都进行资源限制处理。当用户依赖程度为第二级依赖程度,说明用户对电子设备的使用频率为正常,则可以只将目标应用程序的后台运行进行资源限制,即获取第二资源限制策略,通过第二资源限制策略。

另外,当用户依赖程度为第三级依赖程度的时候,可以不对目标应用程序进行资源限制处理,也可以根据第三资源限制处理策略将目标应用程序进行资源限制处理。具体地,若用户依赖程度为第三级依赖程度,则获取第三资源限制策略。

步骤410,根据历史运行数据获取目标应用程序。

在本申请提供的实施例中,历史运行数据可以是指各个应用程序的耗电量和/或运行频率。则步骤410具体可以包括一下方式中至少一种:获取耗电量超过电量阈值的应用程序,作为目标应用程序;根据耗电量将所述应用程序进行排序,并在排序后的应用程序中获取指定位数的应用程序作为目标应用程序;获取运行频率超过频率阈值的应用程序,作为目标应用程序;根据运行频率将应用程序进行排序,并在排序后的应用程序中获取指定位数的应用程序作为目标应用程序。

耗电量是指应用程序在历史运行过程中消耗的电子设备的电量。应用程序的耗电量越高,说明用户对该应用程序的使用频率越高,根据应用程序的耗电量可以分析用户对应用程序的使用习惯。电量阈值可以由用户或系统预先进行设置,耗电量高于电量阈值的应用程序,认为是用户最经常使用的应用程序,然后可以将用户最经常使用的应用程序作为目标应用程序。还可以将各个应用程序根据耗电量进行排序,然后在排序后的应用程序中获取指定位数的应用程序作为目标应用程序。例如,将各个应用程序按照耗电量进行降序排序,然后获取排序后的应用程序的前三位应用程序,作为目标应用程序。

电子设备在运行过程中会对各个应用程序的耗电量进行统计,一般应用程序的运行时间越长,资源占用率越高,耗电量越高。例如,在android系统中,framework(框架)层中有一个专门用于统计电量的service(服务):batterystatsserive。该batterystatsserive服务可以在activitymanagerservice中创建,activitymanagerservice会对电子设备中的各个模块数据存放到系统目录batterystats.bin文件中,然后通过数据分析器batterystatsimpl来分析电量数据,从而实现对耗电量的统计。

运行频率可以是指应用程序在单位时长内运行的次数,也可以是指应用程序在单位时长内运行的平均时长。应用程序的运行频率越高,说明用户对该应用程序的使用频率越高,根据应用程序的运行频率可以分析用户对应用程序的使用习惯。具体地,频率阈值可以由用户或系统预先进行设置,运行频率高于频率阈值的应用程序,认为是用户最经常使用的应用程序,然后将用户最经常使用的应用程序作为目标应用程序进行资源限制处理。还可以将各个应用程序根据运行频率进行排序,然后在排序后的应用程序中获取指定位数的应用程序作为目标应用程序。例如,将应用程序按照运行频率进行降序排列,然后在排序后的应用程序中获取前三位应用程序,作为目标应用程序。

步骤412,根据资源限制策略对目标应用程序进行资源限制处理。

资源限制策略包括第一资源限制策略和第二资源限制策略,则步骤412包括以下方式中至少一种:根据第一资源限制策略对目标应用程序进行资源限制处理;根据第二资源限制策略对目标应用程序进行资源限制处理。

根据第一资源限制策略对目标应用程序进行资源限制处理包括:获取目标应用程序的前台运行时长;当前台运行时长超过第一时长阈值,则控制目标应用程序进入资源限制状态。处于资源限制状态的应用程序在运行时对电子设备的资源占用率小于占用率阈值,当目标应用程序处于资源限制状态时,目标应用程序对电子设备的资源占用率就不能超过占用率阈值,这样可以控制目标应用程序在前台的运行效率,降低用户对电子设备的依赖。例如,控制目标应用程序在运行时的cpu占用率不能超过5%,以减少目标应用程序对cpu的过度消耗,降低用户对手机的依赖。在手机系统中可以通过cgroups(controlgroups,控制组)来控制目标应用程序的cpu、内存、io等资源占用率,即控制所获取的目标应用程序进入资源限制状态。

还可以根据电子设备的资源总占用率来控制目标应用程序进入资源限制状态,其中,资源总占用率是指电子设备中被占用的资源和总资源的比例。当目标应用程序的前台运行时长超过第一时长阈值时,获取电子设备的资源总占用率,并根据资源总占用率来控制目标应用程序进入资源限制状态。具体地,可以预先建立资源总占用率和资源限制级别的对应关系,处于资源限制状态时目标应用程序对电子设备的资源占用率不能超过占用率阈值。处于不同的资源限制级别时,目标应用程序对应的占用率阈值不同。获取电子设备的资源总占用率,并根据资源总占用率获取资源限制级别;控制目标应用程序进入资源限制级别对应的资源限制状态。例如,将电子设备的资源总占用率划分为50%~60%、60%~80%、80%~100%等三个占用级别,然后分别对应轻度资源限制级别、普通资源限制级别和深度资源限制级别等三个等级,根据资源总占用率可以获取对应的资源限制级别,不同的资源限制级别对应的占用率阈值不同。可以理解的是,不同资源对应的占用率阈值可以不同。比如,cpu占用率阈值可以为5%,内存占用率阈值可以为10%。

在其他实施例中,还可以根据目标应用程序的应用优先级来控制对资源的占用情况,预先建立应用优先级与资源限制级别的对应关系,然后根据目标应用程序的应用优先级来控制进入资源限制状态的资源限制级别。具体可以包括:当前台运行时长超过第一时长阈值,获取目标应用程序对应的应用优先级;根据应用优先级获取对应的资源限制级别;控制目标应用程序进入资源限制级别对应的资源限制状态。

在本申请提供的实施例中,根据第二资源限制策略对目标应用程序进行资源限制处理包括:当检测到目标应用程序从前台切换到后台时,开始计时;若计时时长超过第二时长阈值,则控制目标应用程序进入冻结状态。进入冻结状态的目标应用程序,无法再继续运行,这样可以减少目标应用程序对电子设备的资源占用。冻结后的目标应用程序还可以被唤醒,用户或系统可以对唤醒的条件进行设置。

另外步骤412还可以包括:根据第三资源限制策略对目标应用程序进行资源限制处理。具体地,当检测到目标应用程序从前台切换到后台时,开始计时;若计时时长超过第三时长阈值,则控制目标应用程序进入冻结状态。其中,第二时长阈值小于第三时长阈值。

以android系统中,实现应用程序的冻结和唤醒的方法有多种。以其中一种为例,可以通过pm(packagemanager,包管理)命令来实现,在pm命令中,可以通过冻结命令pmdisable[–useruser_id]package_or_component将应用程序设置为冻结状态,然后还可以通过解冻命令pmenable[–useruser_id]package_or_component将处于冻结状态的应用程序进行唤醒,通过冻结列表查询命令pmlistpackages–d获取处于冻结状态的应用程序列表,以查看处于冻结状态的应用程序。可以理解的是,本申请中以android操作系统为例对应用程序处理方法进行说明,但是本申请的应用程序处理方法并不仅限于在android系统中实现,还可以应用在ios(iphoneoperatingsystem)、塞班、windows、macos(macintoshoperatingsystem)等操作系统中。

步骤414,获取从对目标应用程序进行资源限制处理的时刻到当前时刻的限制时长。

在对目标应用程序进行资源限制处理之后,电子设备启动计时器,然后通过计时器开始计时。电子设备可以针对每一个目标应用程序建立一个对应的计时器,每个目标应用程序进行资源限制处理时,都可以根据对应的计时器进行计时。预先建立目标应用程序的目标应用标识与计时器的计时标识的对应关系,通过目标应用标识对应的计时标识查找并启动计时器开始计时。以android系统为例,系统可以预先定义一个计时器,当检测到目标应用程序被唤醒时,目标应用标识查找对应的计时器,并通过timer.setbase(systemclock.elapsedrealtime())将计时器清零,然后通过timer.start()函数启动计时器,开始计时。

步骤416,若限制时长超过限制时长阈值,则将目标应用程序恢复到正常运行状态。

当限制时长超过限制时长阈值时,将目标应用程序恢复到正常运行状态。若目标应用程序处于资源限制状态,则解除电子设备对目标应用程序的资源限制。若目标应用程序处于冻结状态,则将目标应用程序从冻结状态中唤醒。恢复到正常运行状态后,目标应用程序对电子设备资源的使用不再受到限制。

图5为一个实施例中应用程序的资源限制状态的示意图。如图5所示,电子设备的资源包括cpu、内存、io、网络资源等,应用程序的状态可以分为正常运行状态、资源限制状态和冻结状态。其中,资源限制状态又可以分为轻度资源限制状态、普通资源限制状态和深度资源限制状态。在不同资源限制状态下,对应的可用资源502和不可用资源504不相同。从轻度资源限制状态、普通资源限制状态到深度资源限制状态,可用资源502递减。在正常运行状态下,应用程序的可用资源502为100%。

上述实施例提供的应用程序处理方法,可以根据摄像头采集的用户图像获取用户标识,根据用户标识获取电子设备的平均运行时长和应用程序的历史运行数据。根据电子设备的平均运行时长获取用户依赖程序,并根据用户依赖程度获取第一资源限制策略和第二资源限制策略,根据历史运行数据获取目标应用程序。然后根据获取的第一资源限制策略和第二资源限制策略对目标应用程序进行资源限制处理。这样可以根据用户对电子设备的使用习惯,实现对电子设备中应用程序的运行的控制,针对不同用户做不同的处理,使得电子设备能够更准确地对应用程序进行控制,提高了电子设备的用户黏度。另外在对目标应用程序进行资源限制处理之后,再将目标应用程序恢复到正常运行状态,以避免影响应用程序的正常运行。

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

在一个实施例中,如图6所示,提供了一种电子设备的部分架构图。其中,该电子设备的架构系统中包括java空间层61、本地框架层62以及内核(kernel)空间层63。java空间层61上可包含策略应用程序610,电子设备可通过该策略应用程序610来发起对各个应用程序的冻结和解冻策略,从而实现对电子设备中的各个应用程序实现冻结和解冻的操作。例如,通过策略应用程序610来判断后台耗电的应用程序,并发起对该后台耗电的应用程序做冻结操作。本地框架层62中包含资源优先级和限制管理模块620及平台冻结管理模块622。电子设备可通过资源优先级和限制管理模块620来实时维护应用程序的优先级和对应的资源组,根据上层的需求来调整应用程序的优先级和资源组,从而达到优化性能,节省功耗的作用。电子设备可通过平台冻结管理模块622将后台可以冻结的任务按照进入冻结时间的长短,分配到对应预设的不同层次的冻结层,可选地,该冻结层可包括:cpu限制睡眠模式、cpu冻结睡眠模式、进程深度冻结模式。内核空间层63中包括uid管理模块630、cgroup模块632、超时冻结退出模块634、binder管控模块636、进程内存回收模块638。其中,uid管理模块630可以基于应用程序的用户身份标识(useridentifier,uid)来管理第三方应用程序的资源或进行冻结。相比较于基于进程身份标识(processidentifier,pid)来进行进程管控,通过uid更便于统一管理一个用户的应用的资源。cgroup模块632用于提供一套完善的中央处理器(centralprocessingunit,cpu)、cpuset、内存(memory)、输入/输出(input/output,i/o)和net相关的资源限制机制。超时冻结退出模块634用于解决出现冻结超时场景产生的异常。binder管控模块636用于实现后台binder通信的优先级的控制。进程内存回收模块638用于实现进程的深度冻结模式,当第三方应用程序长期处于冻结状态的时候,可以释放进程的文件区,从而达到节省内存的模块,也加快该应用程序在下次启动时的速度。通过上述的架构,可实现本申请各个实施例中的应用程序处理方法。

图7为一个实施例中应用程序处理装置的结构示意图。如图7所示,该应用程序处理装置700包括标识获取模块702、数据获取模块704、策略获取模块706和应用处理模块708。其中:

标识获取模块702,用于通过摄像头采集使用电子设备的用户所对应的用户图像,根据所述用户图像获取用户标识。

数据获取模块704,用于根据所述用户标识获取所述电子设备的平均运行时长,以及所述电子设备中安装的各个应用程序的历史运行数据,所述平均运行时长表示所述电子设备在单位时长内平均运行的时长。

策略获取模块706,用于根据所述平均运行时长获取资源限制策略,并根据所述历史运行数据获取目标应用程序。

应用处理模块708,用于根据所述资源限制策略对所述目标应用程序进行资源限制处理。

上述实施例应用程序处理装置,可以根据摄像头采集的用户图像获取用户标识,根据用户标识获取电子设备的平均运行时长和应用程序的历史运行数据。然后根据平均运行时长获取资源限制策略,根据历史运行数据获取目标应用程序。最后根据获取的资源限制策略对目标应用程序进行资源限制处理。这样可以根据用户对电子设备的使用习惯,实现对电子设备中应用程序的运行的控制,针对不同用户做不同的处理,使得电子设备能够更准确地对应用程序进行控制,提高了电子设备的用户黏度。

图8为另一个实施例中应用程序处理装置的结构示意图。如图8所示,该应用程序处理装置800包括标识获取模块802、数据获取模块804、策略获取模块806、应用处理模块808和应用恢复模块810。其中:

标识获取模块802,用于通过摄像头采集使用电子设备的用户所对应的用户图像,根据所述用户图像获取用户标识。

数据获取模块804,用于根据所述用户标识获取所述电子设备的平均运行时长,以及所述电子设备中安装的各个应用程序的历史运行数据,所述平均运行时长表示所述电子设备在单位时长内平均运行的时长。

策略获取模块806,用于根据所述平均运行时长获取资源限制策略,并根据所述历史运行数据获取目标应用程序。

应用处理模块808,用于根据所述资源限制策略对所述目标应用程序进行资源限制处理。

应用恢复模块810,用于获取从对所述目标应用程序进行资源限制处理的时刻到当前时刻的限制时长;若所述限制时长超过限制时长阈值,则将所述目标应用程序恢复到正常运行状态。

上述实施例提供的应用程序处理装置,可以根据摄像头采集的用户图像获取用户标识,根据用户标识获取电子设备的平均运行时长和应用程序的历史运行数据。根据电子设备的平均运行时长获取资源限制策略,根据历史运行数据获取目标应用程序。然后根据获取的资源限制策略对目标应用程序进行资源限制处理。这样可以根据用户对电子设备的使用习惯,实现对电子设备中应用程序的运行的控制,针对不同用户做不同的处理,使得电子设备能够更准确地对应用程序进行控制,提高了电子设备的用户黏度。另外在对目标应用程序进行资源限制处理之后,再将目标应用程序恢复到正常运行状态,以避免影响应用程序的正常运行。

在一个实施例中,标识获取模块802还用于对所述用户图像进行人脸检测,获取所述用户图像中的目标人脸图像;将所述目标人脸图像与人脸数据库中的人脸图像进行匹配,获取相匹配的人脸图像所对应的用户标识。

在一个实施例中,策略获取模块806还用于根据所述平均运行时长获取用户依赖程度,并根据所述用户依赖程度获取资源限制策略,所述用户依赖程度用于表示用户对所述电子设备的依赖程度。

在一个实施例中,策略获取模块806还用于确定所述平均运行时长落入的目标时长区间,根据所述目标时长区间获取对应的用户依赖程度。

在一个实施例中,策略获取模块806还用于当所述用户依赖程度为第一级依赖程度,则获取第一资源限制策略和第二资源限制策略;当所述用户依赖程度为第二级依赖程度,则获取第二资源限制策略,其中所述第一级依赖程度高于所述第二级依赖程度。

在一个实施例中,策略获取模块806还用于根据所述第一资源限制策略对所述目标应用程序进行资源限制处理;和/或根据所述第二资源限制策略对所述目标应用程序进行资源限制处理。

在一个实施例中,策略获取模块806还用于获取所述耗电量超过电量阈值的应用程序,作为目标应用程序;根据所述耗电量将所述应用程序进行排序,并在排序后的应用程序中获取指定位数的应用程序作为目标应用程序;获取所述运行频率超过频率阈值的应用程序,作为目标应用程序;和/或根据运行频率将所述应用程序进行排序,并在排序后的应用程序中获取指定位数的应用程序作为目标应用程序。

在一个实施例中,应用处理模块808还用于获取所述目标应用程序的前台运行时长;当所述前台运行时长超过第一时长阈值,则控制所述目标应用程序进入资源限制状态。

在一个实施例中,应用处理模块808还用于当检测到所述目标应用程序从前台切换到后台时,开始计时;若计时时长超过第二时长阈值,则控制所述目标应用程序进入冻结状态。

上述应用程序处理装置中各个模块的划分仅用于举例说明,在其他实施例中,可将应用程序处理装置按照需要划分为不同的模块,以完成上述应用程序处理装置的全部或部分功能。

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

本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行上述实施例提供的应用程序处理方法。

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

本申请实施例还提供了一种电子设备。如图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中。

手机900还包括给各个部件供电的电源990(比如电池),优选的,电源可以通过电源管理系统与处理器980逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

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

在本申请实施例中,该电子设备所包括的处理器980执行存储在存储器上的计算机程序时实现上述实施例提供的应用程序处理方法的步骤。

本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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