应用程序的冻结方法及装置的制造方法

文档序号:10724620阅读:247来源:国知局
应用程序的冻结方法及装置的制造方法
【专利摘要】本发明实施例公开了一种应用程序的冻结方法,包括:接收应用冻结指令,所述应用冻结指令中携带有需要冻结的目标应用;根据所述应用冻结指令将所述目标应用设置为冻结状态;启动桌面启动器组件,通过所述桌面启动器组件检测所述目标应用;在所述桌面启动器组件检测到所述目标应用不存在于系统且处于冻结状态时,将所述目标应用添加到更新列表中,以使所述目标应用的数据不被所述桌面启动器组件删除。此外,本发明实施例还公开一种应用程序的冻结装置。采用本发明实施例,可减少多余应用程序对终端资源的占用,提高终端资源的有效利用率。
【专利说明】
应用程序的冻结方法及装置
技术领域
[0001]本发明涉及计算机技术领域,尤其涉及一种应用程序的冻结方法及装置。
【背景技术】
[0002]随着电子技术的发展,智能手机、平板电脑等移动智能设备已经得到了极大的普及,这些智能设备允许用户根据自己的需要安装各种各样的应用程序,从而使得移动智能设备具备多种多样的功能。目前,许多应用在用户安装后悔自动设备为开机启动,即在用户开启智能设备之后,无论用户是否打开或者使用该应用,该应用程序都会自动启动并在后台运行,并且会占用系统资源,如消耗电量或者数据流量,然而现实中用户经常会在智能设备中安装许多不经常使用的应用,这些应用有些仅仅是为了不时之需,而有些仅仅是因为好奇而安装在之后很少使用或者不使用,对于用户来讲,虽然这些应用的系统资源的占用会导致手机等智能设备的使用体验变差,但是直接删除或者卸载可能会导致在后续需要用到该应用的时候的不便,因此,很多用户会选择将这些应用进行冻结。
[0003]在现有的应用程序的冻结方案中,因为在应用程序的冻结过程中,为了达到冻结的效果,会在备份了应用程序的配置文件之后删除原来的配置文件,使得应用程序变成假死状态,减少多余的应用程序对终端资源的消耗。但是,这种应用程序的冻结方案中,因为配置文件的删除使得该应用程序进入到了假死状态,在系统中是不存在的;从而使得Android系统的桌面应用程序(Launcher)在运行的过程中,因为在系统中无法查找到已被冻结的应用程序,会删除与该应用对应的数据、缓存以及数据库等数据,也就是说,该应用在桌面上对应的图标以及标题(图标、标题被称为View)也会被删除。也就是说,在智能设备的主页面或者桌面或者主菜单页面中,被冻结的应用的View将不再显示,若用户需要对该应用进行删除操作、或者解冻操作,就需要进入到与冻结功能对应的操作页面中进行操作,也就是说,用户在需要进行操作时,难以找到所需要进行操作的冻结应用,并且需要进行多次操作,给用户带来了操作上的极大的不便,存在便利性不足的问题。

【发明内容】

[0004]基于此,为解决传统技术中的应用程序的冻结方案在需要对被冻结的应用程序进行启动等操作时存在的操作便利性不足的技术问题,特提出了一种应用程序的冻结方法。
[0005]—种应用程序的冻结方法,包括:
[0006]接收应用冻结指令,所述应用冻结指令中携带有需要冻结的目标应用;
[0007]根据所述应用冻结指令将所述目标应用设置为冻结状态;
[0008]启动桌面启动器组件,通过所述桌面启动器组件检测所述目标应用;
[0009]在所述桌面启动器组件检测到所述目标应用不存在于系统且处于冻结状态时,将所述目标应用添加到更新列表中,以使所述目标应用的数据不被所述桌面启动器组件删除。
[0010]可选的,在其中一个实施例中,所述将所述目标应用添加到更新列表中之后还包括:将所述目标应用的应用图标更换设置为预设的冻结图标文件,并刷新界面展示所述冻结图标文件。
[0011 ]可选的,在其中一个实施例中,所述方法还包括:接收应用解冻指令,对所述应用解冻指令对应的应用进行解冻;将所述解冻的应用由所述更新列表中移除,并将所述解冻的应用的应用图标重置。
[0012]可选的,在其中一个实施例中,所述通过桌面启动器组件检测所述目标应用之后还包括:在所述桌面启动器组件检测到所述目标应用不存在于系统且不处于冻结状态时,删除所述目标应用的应用数据。
[0013]可选的,在其中一个实施例中,所述桌面启动器组件为Android系统中的launcher组件;所述方法还包括:通过判断应用是否存在于getActivityList函数返回的应用列表确定所述目标应用是否存在,通过调用getApplicat1nEnabledSetting函数确定所述目标应用是否处于冻结状态。
[0014]此外,为解决传统技术中的应用程序的冻结方案在需要对被冻结的应用程序进行启动等操作时存在的操作便利性不足的技术问题,还提出了一种应用程序的冻结装置。
[0015]一种应用程序的冻结装置,包括:
[0016]冻结指令接收模块,用于接收应用冻结指令,所述应用冻结指令中携带有需要冻结的目标应用;
[0017]应用冻结模块,用于根据所述应用冻结指令将所述目标应用设置为冻结状态;
[0018]桌面启动器组件检测模块,用于启动桌面启动器组件,通过所述桌面启动器组件检测所述目标应用;
[0019]更新列表添加模块,用于在所述桌面启动器组件检测到所述目标应用不存在于系统且处于冻结状态时,将所述目标应用添加到更新列表中,以使所述目标应用的数据不被所述桌面启动器组件删除。
[0020]可选的,在其中一个实施例中,所述装置还包括冻结图标设置模块,用于将所述目标应用的应用图标更换设置为预设的冻结图标文件,并刷新界面展示所述冻结图标文件。
[0021]可选的,在其中一个实施例中,所述装置还包括解冻模块,用于接收应用解冻指令,对所述应用解冻指令对应的应用进行解冻;将所述解冻的应用由所述更新列表中移除,并将所述解冻的应用的应用图标重置。
[0022]可选的,在其中一个实施例中,所述装置还包括应用数据删除模块,用于在所述桌面启动器组件检测到所述目标应用不存在于系统且不处于冻结状态时,删除所述目标应用的应用数据。
[0023]可选的,在其中一个实施例中,所述桌面启动器组件为Android系统中的launcher组件;所述装置还包括状态确定模块,用于通过判断应用是否存在于getActivityList函数返回的应用列表确定所述目标应用是否存在,通过调用getApplicat1nEnabledSetting函数确定所述目标应用是否处于冻结状态。
[0024]实施本发明实施例,将具有如下有益效果:
[0025]采用了上述应用程序的冻结方法和装置之后,在根据应用冻结指令将应用冻结之后,启动操作系统的桌面桌面启动器组件,在桌面桌面启动器组件在系统中查找不到对应的应用时,且该应用为已经为冻结的应用时,将该应用添加到更新列表中,以免桌面桌面启动器组件在更新数据的时候讲已经被冻结的应用在桌面上对应的图标删除,也就是说,采用了上述应用程序的冻结方法和装置之后,在桌面上保留被冻结的应用的应用图标,以方便用户在需要进行解冻等需求时的操作,极大的提升了用户体验。
【附图说明】
[0026]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027]其中:
[0028]图1为一个实施例中一种应用程序的冻结方法的流程示意图;
[0029]图2为一个实施例中应用图标被冻结如后的图标展不效果不意图;
[0030]图3为一个实施例中一种应用程序的冻结装置的结构示意图;
[0031]图4为一个实施例中运行前述应用程序的冻结方法的计算机设备的结构示意图。
【具体实施方式】
[0032]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0033]为解决传统技术中的应用程序的冻结方案在需要对被冻结的应用程序进行启动等操作时存在的操作便利性不足的技术问题,在本实施例中,特提出了一种应用程序的冻结方法,该方法的实现可依赖于计算机程序,该计算机程序可运行于基于冯诺依曼体系的计算机系统之上,该计算机程序可以是基于Android系统的应用程序的冻结应用,例如,应用程序的冻结和解冻管理程序。该计算机系统可以是运行上述计算机程序的例如智能手机、平板电脑等终端设备。
[0034]具体的,如图1所示,上述应用程序的冻结方法包括如下步骤:
[0035]步骤S102:接收应用冻结指令,所述应用冻结指令中携带有需要冻结的目标应用。
[0036]冻结应用是指将应用变为假死状态,用户将一段时间不用的或者不清楚该应用卸载与保留价值的应用进行冻结处理,冻结的应用程序不会再进行后台启动等操作,以减少多余应用对终端资源的消耗。
[0037]用户可以在应用程序管理界面选择某一个具体的应用并点击冻结按钮来发送冻结应用指令,也可以批量选择多个应用并点击冻结按钮来发送批量冻结指令。
[0038]在本实施例中,在应用冻结指令中至少包括了需要冻结的应用,即需要冻结的目标应用。
[0039]步骤S104:根据所述应用冻结指令将所述目标应用设置为冻结状态。
[0040]在本实施例中,冻结状态即为应用进入到一种假死状态,该应用在终端中变成是不可用的,无法前台或者后台运行,无法占用系统的资源。具体的,可以使用终端中的应用管理中的应用冻结功能区对应用进行冻结操作,也可以应用的冻结服务应用。[0041 ]具体的,作为本发明的一种【具体实施方式】,在android系统中,每个应用程序均对应了一个配置文件,名称均为AndroidManifest.xml,位于各个应用程序的根目录下,当用户需要冻结某一个应用时,查找与该应用对应的配置文件,并确定其存储位置,其中,配置文件包括有该应用的入口信息以及该应用程序在终端系统中的注册事件信息。每个应用注册的事件可以是一个或者多个,注册事件信息包括:应用的包名package、入口注册activity名称、自启动事件以及其他事件等属性。
[0042]将某一个应用设置为冻结状态之后,用户可能还需要将该应用进行解冻,也就是说,在将应用的配置文件进行删除时,还需要将该配置文件进行备份,以便在解冻时回复对应的配置文件。具体的,可以将应用的配置文件备份到另一个新建的备份文件夹目录下,也可以将需要备份的配置文件备份到云端,在本实施例中,配置文件可以备份到本地磁盘的文件系统或者发送到云端软件平台进行虚拟网络存储,在本实施例中对此不作限制。
[0043]在备份完成之后,将对应的配置文件进行删除,即删除了配置文件中包含了该应用程序的入口信息和注册事件信息。也就是说,在删除了配置文件之后,该应用没有入口进行进入,也不会进行任何可以触发的时间,从而达到冻结应用的目的。
[0044]步骤S106:启动桌面启动器组件,通过所述桌面启动器组件检测所述目标应用。
[0045]步骤S108:在所述桌面启动器组件检测到所述目标应用不存在于系统且处于冻结状态时,将所述目标应用添加到更新列表中,以使所述目标应用的数据不被所述桌面启动器组件删除。
[0046]在Android系统中,桌面启动器组件即为Launcher,即桌面应用程序。一般来讲,Launcher在被调用的过程中,会针对桌面上显示的所有应用图标对应的应用,调用对应的接口函数判断该应用在系统中是否可以正常使用,若能正常使用,则不需要对该应用在桌面上展示的图标、名称等内容进行任何改变;若不能正常使用,则根据具体的情况对桌面上展示的图标、名称等做相应的更改。一般来讲,若应用被冻结之后,因为其在系统中的配置文件已经被删除,因此Launcher会因为该应用在系统中不存在,删除该应用对应的数据,SP删除该应用在桌面上显示的应用图标以及名称。
[0047]在本实施例中,桌面启动器组件检测到目标应用在系统中不存在时,根据系统是否属于冻结状态进行分情况处理。在目标应用在系统中不存在且该应用处于冻结状态时,将该目标应用添加到更新列表中去,也就是说,因为该目标应用被添加到更新列表中,因此桌面启动器组件在对目标应用进行检测的过程中,不会因为配置文件的删除就删除该目标应用对应的数据,也就是说,保留了已经被冻结的目标应用在桌面上展示的应用图标和名称。
[0048]也就是说,在桌面启动器组件检测到目标应用不存在与系统且不处于冻结状态下时,将于该应用对应的所有应用数据进行删除,删除的应用数据包括了该应用在桌面上展示的应用图标和应用名称,以释放该应用在终端中占用的资源和空间。即上述通过桌面启动器组件检测所述目标应用之后还包括:在所述桌面启动器组件检测到所述目标应用不存在于系统且不处于冻结状态时,删除所述目标应用的应用数据。
[0049]具体的,在本实施例中,上述判断目标应用是否存在于系统的过程可通过如下代码实现:
[0050]List<LauncherActivityInfoCompat>matches=IauncherApps.getActivityList(packageName,user);
[0051]if(matches.size()>0) {
[0052]//该应用存在。
[0053]}else{
[0054]//该应用不存在
[0055]}
[005?] 也就是说,在一个实施例中,通过判断应用是否存在于getActivityList函数返回的应用列表确定所述目标应用是否存在,具体的,getActivityList函数返回的应用列表指的是在终端中处于正常使用状态的应用的集合,在getActivityList函数返回的应用列表中查找与目标应用匹配的应用,若查找到,则判定该应用存在于系统,反之,则判定该应用不存在于系统。
[0057]可选的,在一个实施例中,上述判断一个应用是否被冻结的过程可以是:通过调用PackageManager的接口函数一getApplicat1nEnabledSetting函数确定所述目标应用是否处于冻结状态。具体实现可通过如下代码实现:
[0058]if(getAppIicat1nEnabledSetting(pakName) = = PackageManager.C0MP0NENT_ENABLED_STATE_DISABLED)
[0059]{//应用被冻结}
[0060]else
[0061]{//应用未被冻结}
[0062]在桌面启动器组件检测到目标应用不存在与系统,并且还处于冻结状态时,说明用户只是将该应用进行了冻结,需要保留该应用在终端上的相关应用图标以及名称,并不需要将所有的数据进行删除,因此,将上述目标应用添加到更新列表中,处于更新列表中的应用,在Launcher检测的过程中,会执行更新操作,而不删除相关数据。
[0063]具体是,上述将应用添加到更新列表的过程可以通过如下代码实现:
[0064]added.add(appIicat1nInfο);//执行跟新操作,不删除数据。
[0065]需要说明的是,在本实施例中,已经被冻结的应用的应用图标被保留在桌面上,为了将已经被冻结的应用与其他应用的应用图标进行区分,可以针对被冻结的应用对应的应用图标添加冻结的显示效果图。具体的,所述将所述目标应用添加到更新列表中之后还包括:将所述目标应用的应用图标更换设置为预设的冻结图标文件,并刷新界面展示所述冻结图标文件。
[0066]具体实现中,冻结图标文件对应的应用图标的冻结效果,具体的,可以是将应用图标的比例缩小,且在应用图片上增加带冰冻效果的框图、或者黑色边框、或者其他可以将正常的应用图标与被冻结的应用图标区分的效果图。
[0067]如图2所示,图2展示了一个实施例中“百度音乐”应用被用户冻结之后,以图标缩小并添加黑色边框的形式展示应用图标的应用场景。当然,在本实施例中,冻结效果的图标展示效果可以根据用户的需求进行设置。
[0068]应用程序在被冻结之后,用户还可以在相应的应用冻结服务中将已经被冻结的应用进行解冻,具体的,上述方法还包括:接收应用解冻指令,对所述应用解冻指令对应的应用进行解冻;将所述解冻的应用由所述更新列表中移除,并将所述解冻的应用的应用图标重置。
[0069]用户可以在应用程序管理界面中选择已经被冻结的应用并点击解冻按钮来发送应用解冻指令,也可以在桌面上通过长按已经被冻结的应用的应用图标并选择解冻操作来发送应用解冻指令,在应用解冻指令中至少包括了需要解冻的应用,根据应用解冻指令将需要解冻的应用进行解冻,在本实施例中,可以是将备份的配置文件恢复至该应用程序的根目录下。
[0070]在本实施例中,在对应用进行解冻操作之后,还需要对更新列表进行更新,即将已经解冻的应用从更新列表中进行删除。进一步的,还需要对桌面上展示的应用图标进行更新,即删除应用程序的冻结效果,恢复至正常使用状态下的应用图标展示,即对该应用图标进行重置。
[0071]此外,为解决传统技术中的应用程序的冻结方案在需要对被冻结的应用程序进行启动等操作时存在的操作便利性不足的技术问题,在一个实施例中,还提出了一种应用程序的冻结装置,如图3所示,上述装置包括冻结指令接收模块102、应用冻结模块104、桌面启动器组件检测模块106以及更新列表添加模块108,其中:
[0072]冻结指令接收模块102,用于接收应用冻结指令,所述应用冻结指令中携带有需要冻结的目标应用;
[0073]应用冻结模块104,用于根据所述应用冻结指令将所述目标应用设置为冻结状态;
[0074]桌面启动器组件检测模块106,用于启动桌面启动器组件,通过所述桌面启动器组件检测所述目标应用;
[0075]更新列表添加模块108,用于在所述桌面启动器组件检测到所述目标应用不存在于系统且处于冻结状态时,将所述目标应用添加到更新列表中,以使所述目标应用的数据不被所述桌面启动器组件删除。
[0076]可选的,在其中一个实施例中,如图3所示,上述装置还包括冻结图标设置模块110,用于将所述目标应用的应用图标更换设置为预设的冻结图标文件,并刷新界面展示所述冻结图标文件。
[0077]可选的,在其中一个实施例中,如图3所示,上述装置还包括解冻模块112,用于接收应用解冻指令,对所述应用解冻指令对应的应用进行解冻;将所述解冻的应用由所述更新列表中移除,并将所述解冻的应用的应用图标重置。
[0078]可选的,在其中一个实施例中,如图3所示,上述装置还包括应用数据删除模块114,用于在所述桌面启动器组件检测到所述目标应用不存在于系统且不处于冻结状态时,删除所述目标应用的应用数据。
[0079]可选的,在其中一个实施例中,如图3所示,上述桌面启动器组件为Android系统中的launcher组件;所述装置还包括状态确定模块116,用于通过判断应用是否存在于getActivityList函数返回的应用列表确定所述目标应用是否存在,通过调用getApplicat1nEnabledSetting函数确定所述目标应用是否处于冻结状态。
[0080]实施本发明实施例,将具有如下有益效果:
[0081]采用了上述应用程序的冻结方法和装置之后,在根据应用冻结指令将应用冻结之后,启动操作系统的桌面桌面启动器组件,在桌面桌面启动器组件在系统中查找不到对应的应用时,且该应用为已经为冻结的应用时,将该应用添加到更新列表中,以免桌面桌面启动器组件在更新数据的时候讲已经被冻结的应用在桌面上对应的图标删除,也就是说,采用了上述应用程序的冻结方法和装置之后,在桌面上保留被冻结的应用的应用图标,以方便用户在需要进行解冻等需求时的操作,极大的提升了用户体验。
[0082]在一个实施例中,如图4所示,图4展示了一种运行上述应用程序的冻结方法的基于冯诺依曼体系的计算机系统的终端。该计算机系统可以是智能手机、平板电脑、掌上电脑等终端设备。具体的,可包括通过系统总线连接的外部输入接口 1001、处理器1002、存储器1003和输出接口 1004。其中,外部输入接口 1001可选的可至少包括网络接口 10012。存储器1003可包括外存储器10032(例如硬盘、光盘或软盘等)和内存储器10034。输出接口 1004可至少包括显示屏10042等设备。
[0083]在本实施例中,本方法的运行基于计算机程序,该计算机程序的程序文件存储于前述基于冯诺依曼体系的计算机系统的外存储器10032中,在运行时被加载到内存储器10034中,然后被编译为机器码之后传递至处理器1002中执行,从而使得基于冯诺依曼体系的计算机系统中形成逻辑上的冻结指令接收模块102、应用冻结模块104、桌面启动器组件检测模块106、更新列表添加模块108、冻结图标设置模块110、解冻模块112、应用数据删除模块114以及状态确定模块116。且在上述应用程序的冻结方法执行过程中,输入的参数均通过外部输入接口 1001接收,并传递至存储器1003中缓存,然后输入到处理器1002中进行处理,处理的结果数据或缓存于存储器1003中进行后续地处理,或被传递至输出接口 1004进行输出。
[0084]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【主权项】
1.一种应用程序的冻结方法,其特征在于,包括: 接收应用冻结指令,所述应用冻结指令中携带有需要冻结的目标应用; 根据所述应用冻结指令将所述目标应用设置为冻结状态; 启动桌面启动器组件,通过所述桌面启动器组件检测所述目标应用; 在所述桌面启动器组件检测到所述目标应用不存在于系统且处于冻结状态时,将所述目标应用添加到更新列表中,以使所述目标应用的数据不被所述桌面启动器组件删除。2.根据权利要求1所述的应用程序的冻结方法,其特征在于,所述将所述目标应用添加到更新列表中之后还包括: 将所述目标应用的应用图标更换设置为预设的冻结图标文件,并刷新界面展示所述冻结图标文件。3.根据权利要求1所述的应用程序的冻结方法,其特征在于,所述方法还包括: 接收应用解冻指令,对所述应用解冻指令对应的应用进行解冻; 将所述解冻的应用由所述更新列表中移除,并将所述解冻的应用的应用图标重置。4.根据权利要求1所述的应用程序的冻结方法,其特征在于,所述通过桌面启动器组件检测所述目标应用之后还包括: 在所述桌面启动器组件检测到所述目标应用不存在于系统且不处于冻结状态时,删除所述目标应用的应用数据。5.根据权利要求1所述的应用程序的冻结方法,其特征在于,所述桌面启动器组件为Android系统中的launcher组件; 所述方法还包括: 通过判断应用是否存在于getActi vityLi st函数返回的应用列表确定所述目标应用是否存在,通过调用getApplicat1nEnabledSetting函数确定所述目标应用是否处于冻结状??τ O6.一种应用程序的冻结装置,其特征在于,包括: 冻结指令接收模块,用于接收应用冻结指令,所述应用冻结指令中携带有需要冻结的目标应用; 应用冻结模块,用于根据所述应用冻结指令将所述目标应用设置为冻结状态; 桌面启动器组件检测模块,用于启动桌面启动器组件,通过所述桌面启动器组件检测所述目标应用; 更新列表添加模块,用于在所述桌面启动器组件检测到所述目标应用不存在于系统且处于冻结状态时,将所述目标应用添加到更新列表中,以使所述目标应用的数据不被所述桌面启动器组件删除。7.根据权利要求6所述的应用程序的冻结装置,其特征在于,所述装置还包括冻结图标设置模块,用于将所述目标应用的应用图标更换设置为预设的冻结图标文件,并刷新界面展示所述冻结图标文件。8.根据权利要求6所述的应用程序的冻结装置,其特征在于,所述装置还包括解冻模块,用于接收应用解冻指令,对所述应用解冻指令对应的应用进行解冻;将所述解冻的应用由所述更新列表中移除,并将所述解冻的应用的应用图标重置。9.根据权利要求6所述的应用程序的冻结装置,其特征在于,所述装置还包括应用数据删除模块,用于在所述桌面启动器组件检测到所述目标应用不存在于系统且不处于冻结状态时,删除所述目标应用的应用数据。10.根据权利要求6所述的应用程序的冻结装置,其特征在于,所述桌面启动器组件为Android系统中的launcher组件; 所述装置还包括状态确定模块,用于通过判断应用是否存在于getActivityList函数返回的应用列表确定所述目标应用是否存在,通过调用getApplicat1nEnabledSetting函数确定所述目标应用是否处于冻结状态。
【文档编号】G06F9/445GK106095482SQ201610378131
【公开日】2016年11月9日
【申请日】2016年5月31日
【发明人】段小军, 胡坤
【申请人】宇龙计算机通信科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1