掌桥专利:专业的专利平台
掌桥专利
首页

进程管理方法、装置、电子设备和存储介质

文献发布时间:2023-06-19 10:02:03


进程管理方法、装置、电子设备和存储介质

技术领域

本申请属于计算机技术领域,具体涉及进程管理方法、装置、电子设备和存储介质。

背景技术

随着安卓Android平台的普及,以及开发者基于Android平台框架对进程管理机制了解的深入,APK(Android application package,Android应用程序包)开发过程中开发者采取各种方法提高自己进程的优先级,来确保进程长时间存活。由于后台占中系统、CPU资源,因此现有的Android进程管理机制容易引起系统的整体性能下降,造成卡顿、运行缓慢等问题,降低用户体验。

发明内容

为至少在一定程度上克服相关技术中存在的问题,本申请提供进程管理方法、装置、电子设备和存储介质,能够基于待进入进程的场景信息脱离Android进程管理机制,提供丰富的目标进程管理方式,实现对目标设备的进程管理,进而提高用户体验。

为实现以上目的,本申请采用如下技术方案:

第一方面,本申请提供一种进程管理方法,包括:获取目标设备的当前内存状态信息和当前系统状态记录;获取目标用户输入的用户操作指令,并基于所述用户操作指令确定目标场景信息;其中,所述目标场景信息表示待进入进程的场景信息;基于所述目标场景信息和/或所述当前内存状态信息,确定目标进程管理方式;其中,所述目标进程管理方式包括以下至少之一:进程启动方式、进程清理方式、限制启动方式、提前启动方式;基于所述当前内存状态信息和所述当前系统状态记录,利用目标进程管理方式对所述目标设备执行对应的进程管理操作。

进一步地,所述进程清理方式包括按需清理方式,若所述目标进程管理方式为所述按需清理方式,所述基于所述目标场景信息和/或所述当前内存状态信息,确定目标进程管理方式的步骤,包括:基于所述目标场景信息,确定所述待进入进程的所需内存信息;判断所述所需内存信息是否大于所述当前内存状态信息中的当前内存剩余信息;若是,则确定所述目标进程管理方式为所述按需清理方式。

进一步地,所述进程清理方式包括极限清理方式,若所述目标进程管理方式为所述极限清理方式,所述基于所述目标场景信息和/或所述当前内存状态信息,确定目标进程管理方式的步骤,包括:判断所述当前内存状态信息中的当前内存剩余信息是否小于预设阈值;若是,则确定所述目标进程管理方式为所述极限清理方式。

进一步地,所述进程清理方式包括定时清理方式,若所述目标进程管理方式为所述定时清理方式,所述基于所述目标场景信息和/或所述当前内存状态信息,确定目标进程管理方式的步骤,包括:基于所述目标场景信息,判断所述目标设备是否处于待机状态;若否,则确定目标进程管理方式为定时清理方式。

进一步地,所述基于所述目标场景信息和/或所述当前内存状态信息,确定目标进程管理方式的步骤,包括:判断所述目标场景信息是否满足预设启动条件;若是,则确定所述目标进程管理方式为所述进程启动方式;若否,则确定所述目标进程管理方式为所述限制启动方式。

进一步地,若所述目标进程管理方式为所述提前启动方式,所述基于所述目标场景信息和/或所述当前内存状态信息,确定目标进程管理方式的步骤,包括:获取所述目标设备的历史系统状态记录;基于所述历史系统状态记录,统计所有已知进程的规律信息;其中,所述规律信息用于反映所述目标用户进入所述已知进程的习惯;判断所述目标场景信息是否符合所述待进入进程的规律信息;若是,则确定所述目标进程管理方式为所述提前启动方式。

进一步地,所述预设启动条件包括以下至少之一:所述待进入进程为用户主动启动、所述待进入进程与当前运行的进程功能关联、所述待进入进程属于白名单进程。

第二方面,本申请提供一种进程管理装置,包括:获取单元,用于获取目标设备的当前内存状态信息和当前系统状态记录;获取确定单元,用于获取目标用户输入的用户操作指令,并基于所述用户操作指令确定目标场景信息;其中,所述目标场景信息表示待进入进程的场景信息;确定单元,用于基于所述目标场景信息和/或所述当前内存状态信息,确定目标进程管理方式;其中,所述目标进程管理方式包括以下至少之一:进程启动方式、进程清理方式、限制启动方式、提前启动方式;进程管理单元,用于基于所述当前内存状态信息和所述当前系统状态记录,利用目标进程管理方式对所述目标设备执行对应的进程管理操作。

第三方面,本申请提供一种电子设备,包括:处理器和存储装置;所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如第一方面任一项所述的方法。

第四方面,本申请提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面任一项所述的方法的步骤。

本申请提供的上述进程管理方法、装置、电子设备和存储介质,先获取目标设备的当前内存状态信息和当前系统状态记录;然后获取目标用户输入的用户操作指令,并基于用户操作指令确定目标场景信息;其中,目标场景信息表示待进入进程的场景信息;再基于目标场景信息和/或当前内存状态信息,确定目标进程管理方式;其中,目标进程管理方式包括以下至少之一:进程启动方式、进程清理方式、限制启动方式、提前启动方式;最后基于当前内存状态信息和当前系统状态记录,利用目标进程管理方式对目标设备执行对应的进程管理操作。通过这种方式,可以脱离Android进程管理机制,基于目标场景信息或当前内存状态信息提供丰富的目标进程管理方式,可以实现对目标设备的进程管理,进而提高用户体验。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

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

图1是根据一示例性实施例示出的一种进程管理方法的流程图;

图2是根据一示例性实施例示出的一种定时清理方式的流程图;

图3是根据一示例性实施例示出的一种确定进程启动方式和限制启动方式的流程图;

图4是根据一示例性实施例示出的一种进程管理装置的结构框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。

考虑到现有的Android进程管理机制存在容易引起系统的整体性能下降,造成卡顿、运行缓慢等问题,降低用户体验的技术问题,本申请提供了一种进程管理方法、装置、电子设备和存储介质,能够基于待进入进程的场景信息脱离Android进程管理机制,提供丰富的目标进程管理方式,实现对目标设备的进程管理,进而提高用户体验,为便于理解,以下对本申请进行详细介绍。

首先参见图1所示的一种进程管理方法的流程图,主要包括如下步骤S102至步骤S108:

步骤S102,获取目标设备的当前内存状态信息和当前系统状态记录。上述目标设备可以指手机等电子设备。上述当前内存状态信息包括当前内存剩余信息、以及当前内存已用信息。当前内存剩余信息用于反映目标设备的当前剩余内存,当前内存已用信息用于反映目标设备的当前已使用内存。如表1所示,当前系统状态记录包括但不限于点前显示、正在导航等信息。表1设置了10个等级,从1到10,进程等级依次降低,剩余内存越少,对应的,可采用的下述步骤S106的进程清理方式的等级越高。

表1状态记录种类

需要注意的是,系统状态记录,需记录的状态信息不限于表1。状态记录记录的是各个应用的状态记录,例如:(1)当前正在使用的应用,根据当前正在使用的应用判断是否有触发特殊场景,如玩游戏、看电影等。特殊场景可以根据项目需求自定义具体应用或系统增加判断。如王者荣耀、刺激战场等应用定位为游戏;或系统检查到音视频播放,定位为音乐、电影场景;或检查到高德地图正在导航,定位为地图场景。与特殊场景相对应的是非特殊场景,非特殊场景是指项目没有指定要需要特殊处理的场景,例如项目没有定义爱奇艺需要特殊处理,则不进入特殊场景,只记录为当前显示。(2)记录与当前正在使用的应用功能有关联的应用,如相应绑定了服务,等待结果返回等。(3)记录正处在表1中特殊场景的应用,如正在使用GPS导航、播放音乐等。(4)记录每个应用使用的最后时间,统计各应用在哪种场景下,哪些时间段内是否使用、以及使用的频率。根据统计结果生成相应的允许启动或提前启动的配置策略。多次记录分析统计,可以得到目标用户的使用习惯。如工作日18点到19点,目标用户在下班路上会看抖音等,在多次统计后可以更新策略,还可以将抖音增加到可以启动的应用名单中。(5)根据Android的四大组件,Activity、Service、broadcast、provider,可以确定待启动的应用,进而判断系统是否处于特殊场景,并得到指定的进程管理策略,如实记录触发特殊场景的进程管理策略,如特殊场景的清理等。指定的进程管理策略即特殊场景,可以根据项目需求进行自定义设置。如果18点之前最后一次清理,没有检测到抖音进程,则触发提前启动。

步骤S104,获取目标用户输入的用户操作指令,并基于用户操作指令确定目标场景信息。其中,目标场景信息表示待进入进程的场景信息。

步骤S106,基于目标场景信息和/或当前内存状态信息,确定目标进程管理方式。其中,目标进程管理方式包括以下至少之一:进程启动方式、进程清理方式、限制启动方式、提前启动方式。

步骤S108,基于当前内存状态信息和当前系统状态记录,利用目标进程管理方式对目标设备执行对应的进程管理操作。

上述执行对应的进程管理操作可以指对目标设备上的后台进程进行清理,还可以指对待进入进程进行启动、限制启动、提前启动。本申请是不依赖Android原生进程优先级机制的进程管理方法,通过这种方式,可以脱离Android进程管理机制,基于目标场景信息或当前内存状态信息提供丰富的目标进程管理方式,实现对目标设备的进程管理,进而提高用户体验。

本申请中的进程清理方式有多种类型,包括但不限于按需清理方式、极限清理方式和定时清理方式,这些不同类型的进程清理方式的等级也不相同。以下对这三种类型的进程清理方式的确定分别进行如下详细描述。

在目标用户启动需要较高性能的应用时,如王者荣耀游戏、相机拍照等,为了保证有足够的内存和CPU资源使用,可以触发按需清理方式。在一个可选地实施例中,进程清理方式包括按需清理方式,若目标进程管理方式为按需清理方式,步骤S106包括如下步骤S11~步骤S13:步骤11,基于目标场景信息,确定待进入进程的所需内存信息;步骤12,判断所需内存信息是否大于当前内存状态信息中的当前内存剩余信息;步骤13,若是,则确定目标进程管理方式为按需清理方式。因此在进入自定义的特殊场景时,如玩游戏,可以进行力度较大的清理。

当检查到当前剩余内存低于预设阈值时,可以触发启动一次力度大、等级高的目标进程管理方式。在一个可选地实施例中,进程清理方式包括极限清理方式,若目标进程管理方式为极限清理方式,步骤S106还包括如下步骤S21~步骤S22:步骤S21,判断当前内存状态信息中的当前内存剩余信息是否小于预设阈值;步骤S22,若是,则确定目标进程管理方式为极限清理方式。总之,在当前内存剩余很多时,可以保留多一些的后台进程,对后台进程进行少一些的清理,反之,就多清理一些后台进程。

在一个可选地实施例中,进程清理方式包括定时清理方式,若目标进程管理方式为定时清理方式,步骤S106还包括如下步骤S31~步骤S32:步骤S31,基于目标场景信息,判断目标设备是否处于待机状态;步骤S32,若否,则确定目标进程管理方式为定时清理方式。

现有技术中由于APK进程的优先级高,因此导致长时间在后台进行。进程在后台运行会占用CPU资源与内存资源。为了解决该问题,本申请通过定时清理的方式可以有效克服进程占用CPU资源与内存资源的这一弊端。只要系统(即目标设备)处于非待机状态,就可以定时检查当前内存状态信息和当前系统状态记录,执行管控。目标设备在长时间待机时,表示目标用户比较长的时间未使用目标设备,此时应该对后台应用(即进程)进行比较严格的清理。

进程清理的主要目的是实现内存的回收、减少后台进程的运行,降低系统负载。整体判断逻辑依据图2。不同使用的场景,内存清理所需的剩余内存阈值不同,需清理的进程种类也不同,确保目标用户主要使用的功能可以流畅使用。例如,(1)亮屏时,由于目标用户持续使用目标设备,可以定时检查系统内存,根据系统剩余内存和当前记录的状态场景,判断是否需要执行清理。如果需要执行,则按照图2中的流程进行处理。如果当前剩余内存足够,则不需要执行清理。(2)灭屏时,目标设备处于灭屏状态,说明目标用户没有在使用,可以根据灭屏时间的长短来制定不同程度的清理策略,时间越长清理的力度越狠。需要注意两点,第一点是:要保留用户可感知的应用。上述用户可感知的应用是指:主要是指目标用户正在使用的,如能看到、听到,关闭了会影响启动功能的,比如正在播放音乐的、当前正在显示的、正在导航的进程。而用户不可感知的应用表示用户已经完成使用,退出或者挂后台一段时间的应用。比如:目标用户看视频,看完退出后有一段时间的腾讯视频。第二点是:根据灭屏时长不同,保留不同数量、最后使用的应用。总的来说,灭屏时长达到相应条件后,清理掉一切不直接影响用户感知的,可清理的所有应用,使系统恢复到最佳状态。(3)特殊场景下的清理(即按需清理),特殊场景可以根据不同场景的进入退出,主动触发进程清理,目的是确保在相应的场景下,系统运行流畅。不同场景根据需求清理的力度不同。如激战类游戏时,相应APK需要最高优先级的CPU使用、需要分配的CPU负载充足,所以可以进行大力度的进程清理,回收内存内存,释放CPU。

通过上述多种进程清理方式可知,本申请可以根据场景需求执行相应的进程管控策略。例如:1、当前场景是灭屏待机10分钟,目标用户已经长时间未使用,就可以清理尽量多的进程。2、目标用户在启动比较消耗性能的应用时,如拍照、大型游戏等,为保证应用的运行流畅,可以提供较多的内存和较高的CPU资源。因此不同场景下可以执行不同等级的进程清理方式。所说场景是指目标设备如手机的当前使用情况。

在一个可选地实施例中,步骤S106还包括如下步骤S41~步骤S43:步骤S41,判断目标场景信息是否满足预设启动条件;步骤S42,若是,则确定目标进程管理方式为进程启动方式;步骤S43,若否,则确定目标进程管理方式为限制启动方式。在本申请中,预设启动条件包括以下至少之一:待进入进程为用户主动启动、待进入进程与当前运行的进程功能关联、待进入进程属于白名单进程。限制启动方式不允许不需要的APK进程启动。

在一个可选地实施例中,若目标进程管理方式为提前启动方式,步骤S106还包括如下步骤S51~步骤S54:步骤S51,获取目标设备的历史系统状态记录;步骤S52,基于历史系统状态记录,统计所有已知进程的规律信息;其中,规律信息用于反映目标用户进入已知进程的习惯;步骤S53,判断目标场景信息是否符合待进入进程的规律信息;步骤S54,若是,则确定目标进程管理方式为提前启动方式。也就是说,在到达特殊场景时,可以提前启动APK进程,从而提供启动速度等体验。

参见图2所示的一种定时清理方式的流程图,包括以下步骤:步骤S1,获取当前内存状态;步骤2,判断是否需要处理;若否,则结束;步骤S3,若是,则获取当前进程;步骤S4,获取场景需清理进程,步骤S5,执行清理。

在获取当前内存状态之前,还可以进行定时检查与特殊场景触发。定时检测的是当前的内存使用情况,在定时检测之后,可以结合当前状态场景,确定哪些后台进程可以清理,执行合理的、清理力度不同的清理。上述特殊场景是项目自定义的,需要特殊处理的场景。比如启动特定应用,灭屏待机、正在拍照等。在项目需要增强体验时,可以主动启动清理,根据场景配置的参数进行相应的清理。一般情况下,当前正在显示的应用,以及与其有关联的关联应用无需清理,该场景是特殊要考虑的无需清理的场景。

参见图3所示的确定进程启动方式和限制启动方式的流程图,包括以下步骤:

步骤S301,应用启动(即待进入进程启动);

步骤S302,判断该应用是否为用户主动启动,若是,则执行步骤S308,若否,执行步骤S303;

步骤S303,判断是否为关键必须应用,若是,则执行步骤S308,若否,执行步骤S304;

步骤S304,判断进程是否已经启动,若是,则执行步骤S308,若否,执行步骤S305;

步骤S305,判断是否与当前进程有功能关联,若是,则执行步骤S308,若否,执行步骤S306;

步骤S306,判断是否为白名单应用,若是,则执行步骤S308,若否,执行步骤S307;

步骤S307,判断是否是黑名单上的应用,若是,则执行步骤S310,若否,执行步骤S309;

步骤S308,执行清理;

步骤S309,根据不同组件进行处理;

步骤S310,对应用限制启动。

在应用启动过程中可以对当前场景中不需要的应用执行限制启动,整体判断逻辑依据图3,可以分为以下几种情况进行分析:(1)黑名单记录组件(Activity、Service等)启动,直接限制。(2)应用的Activity启动,根据当前使用场景、启动者与进程是否存在判断是否允许启动,如允许则直接启动。如不允许则记为管理启动,提示用户,并询问是否允许启动。(3)应用的服务启动,如不满足图3的各种允许条件,则限制启动。(4)应用通过广播启动,如不满足图3的各种允许条件,则限制启动。(5)应用通过Recovery启动,如不满足图3的各种允许条件,则限制启动。

综上,本发明实施例的发明点在于:通过基于用户使用场景的状态记录、系统CPU状态、内存状态,可以实现对系统进程的管理,是一种结合使用场景脱离Android进程管理机制的进程启动、清理、限制的管理方案。限制启动和进程清理这两个功能都属于进程管理限制,若只清理不限制启动,则清理过后应用又自己启动了,易导致清理作用降低的缺陷,因此两者结合使用可以达到更好的进程管理效果。本发明实施例实现了基于用户使用场景的进程管理机制,包括进程清理、限制启动、提前启动等策略,从而提高系统性能,以及用户体验。

对应于前述进程管理方法,本申请进一步提供了一种进程管理装置,参见图4所示的一种进程管理装置的结构框图,主要包括如下模块:

获取单元402,用于获取目标设备的当前内存状态信息和当前系统状态记录;

获取确定单元404,用于获取目标用户输入的用户操作指令,并基于用户操作指令确定目标场景信息;其中,目标场景信息表示待进入进程的场景信息;

确定单元406,用于基于目标场景信息和/或当前内存状态信息,确定目标进程管理方式;其中,目标进程管理方式包括以下至少之一:进程启动方式、进程清理方式、限制启动方式、提前启动方式;

进程管理单元408,用于基于当前内存状态信息和当前系统状态记录,利用目标进程管理方式对目标设备执行对应的进程管理操作。

通过上述装置,可以脱离Android进程管理机制,基于目标场景信息或当前内存状态信息提供丰富的目标进程管理方式,可以实现对目标设备的进程管理,进而提高用户体验。

在一种具体的实施方式中,进程清理方式包括按需清理方式,若目标进程管理方式为按需清理方式,确定单元进一步用于:基于目标场景信息,确定待进入进程的所需内存信息;判断所需内存信息是否大于当前内存状态信息中的当前内存剩余信息;若是,则确定目标进程管理方式为按需清理方式。

在一种具体的实施方式中,进程清理方式包括极限清理方式,若目标进程管理方式为极限清理方式,确定单元进一步用于:判断当前内存状态信息中的当前内存剩余信息是否小于预设阈值;若是,则确定目标进程管理方式为极限清理方式。

在一种具体的实施方式中,进程清理方式包括定时清理方式,若目标进程管理方式为定时清理方式,确定单元进一步用于:基于目标场景信息,判断目标设备是否处于待机状态;若否,则确定目标进程管理方式为定时清理方式。

在一种具体的实施方式中,确定单元进一步用于:判断目标场景信息是否满足预设启动条件;若是,则确定目标进程管理方式为进程启动方式;若否,则确定目标进程管理方式为限制启动方式。

在一种具体的实施方式中,若目标进程管理方式为提前启动方式,确定单元进一步用于:获取目标设备的历史系统状态记录;基于历史系统状态记录,统计所有已知进程的规律信息;其中,规律信息用于反映目标用户进入已知进程的习惯;判断目标场景信息是否符合待进入进程的规律信息;若是,则确定目标进程管理方式为提前启动方式。

在一种具体的实施方式中,预设启动条件包括以下至少之一:待进入进程为用户主动启动、待进入进程与当前运行的进程功能关联、待进入进程属于白名单进程。

进一步,本实施例还提供了一种电子设备,包括:处理器和存储装置;其中,存储装置上存储有计算机程序,计算机程序在被处理器运行时执行前述进程管理方法。

进一步,本实施例还提供了一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述进程管理方法。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”、“多”的含义是指至少两个。

应该理解,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者可能同时存在居中元件;当一个元件被称为“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件,此外,这里使用的“连接”可以包括无线连接;使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为:表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

相关技术
  • 进程管理方法、装置、电子设备和存储介质
  • 一种业务进程管理方法、装置、电子设备及存储介质
技术分类

06120112389891