终端设备的应用程序管理方法、计算机装置、计算机可读存储介质与流程

文档序号:14266175阅读:164来源:国知局
终端设备的应用程序管理方法、计算机装置、计算机可读存储介质与流程

本发明涉及图像终端设备的控制领域,尤其对终端设备后台运行的应用程序进行管理的方法、实现这种方法的计算机装置以及计算机可读存储介质。



背景技术:

智能手机、平板电脑等便携式终端设备已经被广泛应用,目前大部分便携式智能终端设备所使用的操作系统主要包括安卓系统、ios系统。并且,目前便携式智能终端设备上通常安装大量的应用程序,包括系统自带的应用程序以及第三方开发的应用程序。

目前智能终端设备操作系统启动后,大量的应用程序将自动启动,并且持续的在后台运行,因此出现大量应用程序驻留后台的现象。然而,这些应用程序长时间在后台运行,但实际上并没有实质的工作,却占用大量的硬件资源,如占用cpu资源或者内存资源等,导致终端设备运行速度缓慢,甚至出现卡顿的现象。

为了避免大量应用程序长时间后台运行并且占用终端设备硬件资源的情况,目前部分终端设备采用新的机制以清理除了操作系统外的后台应用程序及服务的驻留,如利用api接口和建立的内置系统服务列表,然后通过与列表进行对比,将不在该列表中的后台运行的服务关闭或者清除。

然而,现在的终端设备在清理后台运行的服务时,没有考虑终端设备内存的使用情况,也就是不管内存是充足,均对不在列表中的应用程序或者服务进行清理,导致一些应用程序或者服务被清理后,再次启动是运行速度缓慢,出现启动不顺畅的情况。另外,如果操作系统对一些重要的应用程序或者服务进行清理,将会导致数据丢失或影响用户体验,例如,某一应用程序已经登录了账号,如果对该应用程序进行清理,则在用户下次再次前台运行该应用程序时,需要再次输入账号以及登录密码,严重影响用户的操作。又例如,如果清理的应用程序是后台运行的音乐播放应用程序,则将导致音乐播放的终止,也会影响用户的体验。



技术实现要素:

本发明的第一目的是提供一种避免终端设备运行缓慢又能减小对用户使用影响的终端设备的应用程序管理方法。

本发明的第二目的是提供一种实现上述终端设备应用程序管理方法的计算机装置。

本发明的第三目的是提供一种实现上述终端设备应用程序管理方法的计算机可读存储介质。

为了实现上述的主要目的,本发明提供的终端设备的应用程序管理方法包括获取当前的剩余内存值,并获取当前后台运行的应用程序;并且,判断当前的剩余内存值是否低于预设的内存阈值,如是,选择当前后台运行的至少一个应用程序作为目标应用程序,并关闭目标应用程序;其中,确定目标应用程序包括:根据当前的剩余内存值确定后台运行时间阈值,选择当前后台运行的应用程序中后台运行时间大于后台运行时间阈值的应用程序作为目标应用程序;其中,后台运行时间阈值与当前的剩余内存值为正向比例关系。

一个优选内的方案是,获取当前的剩余内存值前,执行切换当前前台运行的应用程序的操作,并在切换当前前台运行的应用程序后的第一预设时间以后,执行获取当前的剩余内存值的操作。

可选的方案是,获取当前的剩余内存值前,还执行:判断上次获取当前的剩余内存值的操作后,是否经过第二预设时间,如是,获取当前的剩余内存值的操作。

进一步的方案是,关闭目标应用程序前,判断目标应用程序是否为关闭限制列表中的应用程序,如是,则禁止关闭目标应用程序。

更进一步的方案是,关闭限制列表的应用程序包括系统预设关闭限制应用程序以及自定义设置关闭限制应用程序。

另一个可选的方案是,关闭目标应用程序前,判断目标应用程序是否为预设场景的应用程序,如是,禁止关闭目标应用程序。

进一步的方案是,预设场景的应用程序包括:已经登录账户的应用程序、后台播放音乐的应用程序或者输入法应用程序。

进一步的方案是,获取服务应用程序启动请求,并判断服务应用程序是否属于自启动允许列表中的应用程序或者服务应用程序属于当前前台运行的应用程序,如是,则允许服务应用程序启动,否则,禁止服务应用程序启动。

为实现上述的第二目的,本发明提供的计算机装置包括处理器以及计算机可读存储介质,计算机可读存储介质存储有计算机程序,处理器读取并运行计算机程序时执行上述的终端设备的应用程序管理方法。

为实现上述的第三目的,本发明提供的计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器读取并运行时执行上述的终端设备的应用程序管理方法。

由上述方案可见,终端设备是在剩余的内存值较低的时候才会关闭长时间驻留的后台应用程序,并且,选取需要关闭的应用程序时,首先根据当前剩余的内存值确定后台运行时间阈值,并且关闭后台运行时间大于后台运行时间阈值的应用程序。因此,驻留后台时间越长的应用程序被越先关闭,此外,后台运行时间阈值随着剩余内存量的减小而减小,也就是剩余内存值越小,驻留后台时间越短的应用程序也会被关闭,从而达到逐渐清理驻留后台的应用程序的目的。

由于长时间驻留后台的应用程序很可能是系统自启动的应用程序,这些应用程序往往没有实际工作,因此将这些应用程序关闭也不会对操作系统造成多大的影响,也不会影响用户的体验。

此外,终端设备并不是将所有目标应用程序均关闭,而是设定一个白名单,例如关闭限制列表,该列表中可以是操作系统设定的或者用户自己设置的不允许关闭的应用程序,如操作系统运行所需要的应用程序或者用户认为非常重要的应用程序。这样,可以避免因为错误关闭应用程序而影响操作系统的运行或者影响用户的操作。

另外,对于特定的场景,如已经登录账户的应用程序、输入法或者正在后台播放音乐的应用程序,也不允许被后台关闭,这样的操作可以避免这些应用程序的数据丢失而影响用户的正常使用,也不会导致用户的正常使用受到干扰。

同时,终端设备还禁止部分应用程序的自启动,例如对应操作系统没有实质作用的服务应用程序,则采用禁止这些应用程序自启动的方式来避免终端设备后台运行大量应用程序,从而减小占用硬件资源的应用程序的数量,提高终端设备的运行效率。

附图说明

图1是本发明终端设备的应用程序管理方法实施例的流程图。

图2是本发明终端设备的应用程序管理方法实施例中自启动应用程序设定的流程图。

以下结合附图及实施例对本发明作进一步说明。

具体实施方式

本发明的终端设备的应用程序管理方法应用在诸如智能手机、平板电脑等便携式终端设备上,可以理解,应用程序的管理方法是由运行在终端设备上的程序实现的,如由处理器运行的程序,或者由固化在处理器芯片内部的逻辑电路所实现的。因此,可以理解,本发明的计算机装置可以包括一个处理器以及计算机可读存储介质,该计算机可读存储介质可以是非易失性存储器,如eeprom或者flash等,计算机可读存储介质上存储有实现上述方法的计算机程序,当处理器读取并运行这些程序时,即可以实现上述的应用程序管理方法。

终端设备的应用程序管理方法实施例:

本发明的终端设备应用程序管理方法用于对终端设备后台运行的应用程序进行管理,包括对长时间在后台运行的应用程序进行关闭或者禁止部分服务应用程序自启动的操作,从而避免终端设备存在大量的后台运行的应用程序。

本实施例的主要构思是根据终端设备当前的剩余内存值来确定一个后台运行时间阈值,并且将后台运行时间长于该后台运行时间阈值的应用程序关闭。因此,终端设备在一定条件下需要获取当前的剩余内存值。本实施例中,设定了终端设备在切换前台运行的应用程序以后或者每间隔一定时间,获取当前的剩余内存值,并由此判断是否需要关闭一些应用程序以避免终端设备运行缓慢。

参见图1,对应用程序进行管理时,首先执行步骤s1,判断终端设备是否执行切换当前运行的前台应用程序的操作。由于终端设备运行过程中,使用者经常会切换当前前台运行的应用程序,因此,通过监测当前前台运行的应用程序的变化即可以判断终端设备是否切换了当前前台运行的应用程序。

如果终端设备切换了当前前台运行的应用程序,则执行步骤s2,计算第一预设时间。本实施例设置第一预设时间的目的是在切换当前前台运行的应用程序以后,经过一段时间后才执行应用程序的关闭操作。由于切换当前前台运行的应用程序以后,该应用程序启动运行以后将需要启动大量的服务,需要消耗大量的cpu资源以及内存资源,如果此时获取当前剩余的内存值,将不能真实反映终端设备正常运行状态下的内存状态。另外,如果在切换当前前台运行的应用程序以后马上执行关闭应用程序的操作,对终端设备的cpu资源以及内存资源也造成很大的负担,有可能影响当前前台运行的应用程序的正确工作,甚至导致终端设备的卡顿现象。

本实施例中,第一预设时间可以不同的应用程序而设定,例如,可以设定为3秒或者5秒,或者,如果当前前台运行的应用程序是游戏、音视频播放应用程序等占用内存资源较高的应用程序,则可以将第一预设时间设置成较长的时间,如果当前运行的应用程序是短信息浏览等占用内存资源较小的应用程序,则可以将第一预设时间设置得较短,如1秒或者1.5秒。

如果步骤s1中,确定当前没有切换前台运行的应用程序,则执行步骤s3,判断上次获取当前剩余内存值的时间是否已经过去第二预设时间,如果已经经过第二预设时间,则执行步骤s4,获取当前的剩余内存值。

可见,终端设备在终端设备没有切换当前前台运行的应用程序时,是每间隔第二预设时间获取一次终端设备当前的剩余内存值。第二预设时间可以是操作系统自行设定的时间,也可以是用户自行设定的时间,第二预设时间可以是1分钟或者2分钟等。当然,如果第二预设时间过短,将导致终端设备频繁的获取当前的剩余内存值,反而不利于终端设备的正常工作。如果两次获取当前的剩余内存值时间过长,则不能及时关闭长时间后台运行的应用程序,因此,第二预设时间需要设置在合理的时间段内。

如果步骤s3中,确定上次获取当前的剩余内存值的时间已经过去第二预设时间,则执行步骤s4,获取当前的剩余内存值。当然,执行步骤s2以后,也执行步骤s4。可见,本实施例中,在切换当前前台运行的应用程序经过第一预设时间以后,或者上次获取剩余内存值的时间已经第二预设时间以后,均获取当前的剩余内存值。

获取当前剩余内存值可以通过操作系统预设的指令,即获取内存的指令来获得当前剩余的内存值。并且,在获取当前的内存值以后,执行步骤s5,判断当前剩余内存值是否小于预设的内存阈值,如果小于预设的阈值,则与执行步骤s6,否则,表示当前终端设备剩余的内存充足,无需执行关闭应用程序的操作。

本实施例中,内存阈值是预先设定的阈值,由于操作系统都有内存管理的机制,例如安卓操作系统中当系统可用内存低于规定的阈值threshold时,即认为系统处于内存紧张状态,需要释放应用内存。因此本实施例中可以利用该机制设定内存阈值,例如,本实施例的内存阈值可以是系统规定的阈值threshold的2倍。

如果当前的剩余内存值低于内存阈值,则执行步骤s6,获取当前后台运行的应用程序,例如调用程序管理器,根据程序管理中的应用程序列表信息获取当前后台运行的应用程序的清单。

然后,执行步骤s7,根据当前的剩余内存值确定一个后台运行时间阈值。本实施例中,后台运行时间阈值与当前的剩余内存值成正比例关系,也就是当前剩余的内存值越小,后台运行时间阈值越短。例如,当前的剩余内存值是规定的阈值threshold的1.5倍,则设定的后台运行时间阈值为7分钟,如果当前的剩余内存值是规定的阈值threshold的0.7倍,则设定的后台运行时间阈值为3分钟。可以认为,如果当前的剩余内存值是规定的阈值threshold的1倍,则设定的后台运行时间阈值为5分钟,根据当前的剩余内存值与规定的阈值threshold的倍数关系,计算后台运行时间时,以5分钟为单位,程序该倍数即可以获得当前的剩余内存值对应的后台运行时间。

或者,建立剩余内存值与后台运行时间阈值的对应表格,根据当前的剩余内存值通过查表的方式获得后台运行时间阈值。或者设定剩余内存值与后台运行时间阈值的函数关系,通过该函数计算后台运行时间阈值。

接着,执行步骤s8,获取后台运行时间大于后台运行时间阈值的目标应用程序。在计算获得后台运行时间阈值以后,在获取每一个后台运行的应用程序的后台运行时间,并且查找出后台运行时间大于后台运行时间阈值的应用程序,将所查找的应用程序作为目标应用程序。所查找的目标应用程序是待关闭的应用程序。

当然,并不是查找到的每一个目标应用程序都需要关闭,由于一部分应用程序是系统运行所必须的应用程序,或者是用户不希望关闭的应用程序,因此,需要避免错误的关闭不应当关闭的应用程序。因此,本实施例中通过步骤s9与步骤s10筛选出不应当关闭的应用程序。

步骤s9中,判断目标应用程序是否为关闭限制列表中的应用程序。本实施例中,需要设定一个关闭限制列表,该列表中包含有不应当通过本实施例的方法被关闭的应用程序,这些应用程序包括系统设置的应用程序,例如系统运行所需要的应用程序,还包括用户自定义设定的应用程序,也就是用户认为重要并且不允许通过本实施例的方法关闭的应用程序。例如,用户认为某一即时通讯应用程序非常重要,并且不希望被后台关闭,则可以将该应用程序添加到关闭限制列表之中,从而避免该应用程序被关闭。

如果目标应用程序并是关闭限制列表中的应用程序,则执行步骤s11,禁止关闭目标应用程序。也就是即使目标应用程序后台运行时间很长,并超过后台运行时间阈值,也不能够通过本实施例的方法将该目标应用程序关闭,以避免影响系统的正常运行。

如果目标应用程序并不是关闭限制列表中的应用程序,则执行步骤s10,进一步判断目标应用程序是否为特定场景的应用程序。本实施例中,特定场景的应用程序可以是已登录账户的应用程序、输入法应用程序以及正在后台播放音乐的应用程序。因此,本实施例中,可以建立一个特定场景列表,如果某一应用程序符合上述特定场景,则将该应用程序添加到该特定场景列表之中。

例如,某一应用程序登录了账号,则将该应用程序添加至特定场景列表之中,当该应用程序的登录被退出后,将该应用程序从特定场景列表中删除。又例如,如果某一输入法应用程序启动后,则自动添加中该特定场景列表之中,当输入法应用程序退出或者被卸载,则将该输入法应用程序从特定场景列表中删除。又例如,如果某一音乐播放应用程序转入后台运行,则自动将该引用播放应用程序添加至特定场景列表之中,当该音乐播放应用程序关闭或者卸载以后,将自动将该音乐播放应用程序从特定场景列表中删除。

对已经登录账户的应用程序进行保护,可以避免一些账户相关操作失败,比如即时通讯的一些消息丢失。而对输入法应用程序进行保护,可以避免输入法在使用过程中出现异常。对后台播放音乐的应用程序进行保护,可以避免应用切入后台后被系统清理,导致播放过程中断,影响用户的体验。

如果步骤s10中,确定目标应用程序是特定场景列表中的应用程序,则执行步骤s11,禁止关闭该目标应用程序。如果目标应用程序不是特定场景列表中的应用程序,则执行步骤s12,关闭该目标应用程序,从而避免操作系统中存在大量后台驻留的应用程序,从而影响操作系统的运行速度。

当然,为了避免大量应用程序在操作系统后台驻留,除了可以在剩余内存值较低时清理长时间不在前台运行的应用程序以外,还可以在系统启动以后,禁止一部分应用程序自启动。由于一部分应用程序在操作系统启动时自启动,也就是在使用者没有点击该应用程序的图标时,该应用程序自动运行并长时间驻留在操作系统后台运行,因此本实施例还禁止一部分应用程序的启动的操作。

参见图2,在操作系统启动以后,首先执行步骤s21,获取服务应用程序启动请求,也就是获取服务应用程序自启动的请求信息。然后,执行步骤s22,判断该服务应用程序是否属于当前前台运行的应用程序。由于当前前台运行的应用程序是否属于自启动允许列表中的应用程序,如是,则执行步骤s23,允许该服务应用程序的自启动。

本实施例中,需要设定自启动允许列表,该列表中包含有多个应用程序,也就是被允许自启动运行的应用程序,这些应用程序都是系统运行所必须要的服务应用程序。如果步骤s22中,确定该服务应用程序并不是自启动允许列表之中的应用程序,则执行步骤s24,进一步判断该服务应用程序是否属于当前前台运行的应用程序,如是,则执行步骤s23,允许该服务应用程序的自启动,否则,执行步骤s25,禁止该服务应用程序的自启动。

由于一部分应用程序在运行时需要使用某些服务,因此一些服务应用程序会在当前运行的应用程序运行过程中后台自启动,例如,即时通讯应用程序需要拍摄照片时,需要启用照相机的服务,此时,照相机应用程序将在当前前台运行的应用程序的请求下自启动,因此,需要允许属于当前前台运行的应用程序的服务应用程序后台自启动运行。

可见,本发明是根据操作系统当前的运行状态动态进行内存清理操作,也就是根据当前的剩余内存值的情况确定哪些应用程序需要被关闭,从而在确保操作系统运行顺畅度与用户体验之间获得平衡。在内存较低时通过特定应用场景保护机制能够有效对用户体验影响最小化,此外,本发明还通过预设的关闭限制列表,即白名单机制来保证用户最关心的应用程序、系统运行所必须的应用程序不会被清理。

计算机装置实施例:

本发明提供的计算机装置包括有电源、存储器以及处理器、存储在存储器中并可在处理器上运行的计算机程序。其中,处理器执行计算机程序时实现上述终端设备应用程序管理方法的各个步骤。

本实施例所称处理器可以是中央处理单元,还可以是其他通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。

存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据手机的使用所创建的数据等。

另外,在本发明的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

计算机可读存储介质实施例:

本实施例中,计算机可读存储介质存储有计算机程序,即计算机程序被存储在一个计算机可读的存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。

当然,上述的方案只是本发明优选的实施方案,实际应用是还可以有更多的变化,例如,第一预设时间与第二预设时间长度的改变、各个列表中应用程序的改变等,这些改变都不影响本发明的实施,也应该包括在本发明的保护范围内。

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