CN111596971A - 应用清理方法、装置、存储介质及电子设备 - Google Patents
应用清理方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111596971A CN111596971A CN202010406003.0A CN202010406003A CN111596971A CN 111596971 A CN111596971 A CN 111596971A CN 202010406003 A CN202010406003 A CN 202010406003A CN 111596971 A CN111596971 A CN 111596971A
- Authority
- CN
- China
- Prior art keywords
- application
- target application
- cleaning
- target
- terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44594—Unloading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Stored Programmes (AREA)
- Telephone Function (AREA)
Abstract
本申请实施例公开了一种应用清理方法、装置、存储介质及电子设备,其中,方法包括:采用本申请实施例,检测到针对通知消息的清理操作,对所述通知消息进行清理,确定所述通知消息对应的目标应用,确定在应用白名单中不存在所述目标应用,对所述目标应用对应的应用进程进行清理。可以提高应用清理的效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用清理方法、装置、存储介质及电子设备。
背景技术
随着通信技术的发展,终端上可以安装多种应用,用户可以通过安装的应用实现各种不同的功能,包括网页浏览、聊天等等。在应用的使用过程中,终端上应用的通知消息泛滥给用户带来了很大的困扰,很多通知消息的内容对用户毫无作用,反而会对终端操作系统的资源造成极大的浪费。
目前,为了节省终端操作系统的资源会采用对应用进行彻底清理的方式,即用户在对应用推送的通知消息进行清理之后,会对通知消息对应的应用进程进行清理。如用户需要在清理完通知信息之后再点击相应的清理控件(如清理进程的图标)实现对后台运行应用进程的智能清理或一键清理,又如用户需要在清理完通知信息之后开启后台的应用进程管理器找到通知消息对应的应用进程进行清理,然而采用这些方式,通常需要用户多次进行操作之后才能实现应用的彻底清理,操作步骤繁琐,导致应用清理的效率较低。
发明内容
本申请实施例提供了一种应用清理方法、装置、存储介质及电子设备,可以提高了应用清理的效率。本申请实施例的技术方案如下:
第一方面,本申请实施例提供了一种应用清理方法,所述方法包括:
检测到针对通知消息的清理操作,对所述通知消息进行清理;
确定所述通知消息对应的目标应用;
确定在应用白名单中不存在所述目标应用,对所述目标应用对应的应用进程进行清理。
第二方面,本申请实施例提供了一种应用清理装置,所述装置包括:
通知消息清理模块,用于检测到针对通知消息的清理操作,对所述通知消息进行清理;
目标应用确定模块,用于确定所述通知消息对应的目标应用;
应用进程清理模块,用于确定在应用白名单中不存在所述目标应用,对所述目标应用对应的应用进程进行清理。
第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供一种电子设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
在本申请一个或多个实施例中,终端检测到针对通知消息的清理操作,对所述通知消息进行清理,确定所述通知消息对应的目标应用,确定在应用白名单中不存在所述目标应用,对所述目标应用对应的应用进程进行清理。通过在对通知消息进行清理的同时,对通知消息的应用进程进行同步清理,可以避免在实现应用进程清理的过程中用户的多次操作,在实现了应用消息的彻底清理情况下,简化了对应用清理的流程,提高了应用清理的效率,并节省终端操作系统的资源,提升了操作系统的流畅性;同时,终端只对不属于应用白名单的目标应用对应的应用进程进行清理,可以避免对应用进程清理时的误操作,实现应用进程精准清理。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种应用清理方法的流程示意图;
图2是本申请实施例提供的应用清理方法涉及的一种通知栏显示通知消息的界面示意图;
图3是本申请实施例提供的应用清理方法涉及的一种弹窗显示通知消息的界面示意图;
图4是本申请实施例提供的应用清理方法涉及的一种应用角标显示通知消息的界面示意图;
图5是本申请实施例提供的另一种应用清理方法的流程示意图;
图6是本申请实施例提供的一种应用清理装置的结构示意图;
图7是本申请实施例提供的一种参考应用确定模块的结构示意图;
图8是本申请实施例提供的一种风险等级获取模块的结构示意图;
图9是本申请实施例提供的另一种应用清理装置的结构示意图;
图10是本申请实施例提供的一种电子设备的结构示意图;
图11是本申请实施例提供的操作系统和用户空间的结构示意图;
图12是图10中安卓操作系统的架构图;
图13是图11中IOS操作系统的架构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
下面结合具体的实施例对本申请进行详细说明。
在一个实施例中,如图1所示,特提出了一种应用清理方法,该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的应用清理装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
其中,应用清理装置可以是终端,终端可以是具有应用清理功能的电子设备,该电子设备包括但不限于:可穿戴设备、手持设备、个人电脑、平板电脑、车载设备、智能手机、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端设备可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、个人数字处理(personal digital assistant,PDA)、5G网络或未来演进网络中的终端设备等。
具体的,该应用清理方法包括:
步骤S101:检测到针对通知消息的清理操作,对所述通知消息进行清理。
所述通知消息可以包括通过任意应用程序接收到的新信息类型的通知消息,或具备服务处理事项提醒能力(如购物定时提醒的某购物应用)的应用程序推送的通知提醒信息等等,如,所述通知消息可以是通过即时通信应用程序(例如微信、QQ)接收到的新即时信息类型的通知消息、通过新闻阅读应用程序(例如今日头条、网易新闻、腾讯新闻)接收到的新即时新闻类型的通知消息、通过邮件应用程序接收的新邮件类型的通知消息、通过购物应用程序(例如京东、淘宝)等接收的新购物信息类型的通知消息等。
所述清理操作是用于指示终端进行消息清理的指示或要求,可以理解为指示终端执行“通知消息的清理”运算或功能实现的某种控制的代码。实际应用中,终端检测到用户针对通知消息的清理操作,执行“通知消息的清理”运算或功能实现的某种控制的代码,首先对当前清理操作指示的所述通知消息进行清理。
具体的,终端具有对用户在当前显示界面上的输入操作进行检测的功能,当某应用程序接收到新信息类型的通知消息时,终端推送通知消息,如以消息弹窗的形式进行推送通知消息、以在通知栏推送的方式对通知消息进行推送,等等,终端可以实时或相隔一定周期对通知消息推送后的用户操作进行监测,当终端检测到用户针对推送的通知消息输入清理操作时,终端识别到所述清理操作,执行“通知消息的清理”运算或功能实现的某种控制的代码,对当前清理操作指示的所述通知消息进行清理。
可选的,所述用户针对推送的通知消息输入清理操作可以是通过外部设备完成的,例如,用户可以通过连接终端的鼠标选中终端的显示界面上通知消息中的清理选项;可以是用户通过连接终端的键盘或者触摸板输入相应的清理通知消息指令进行的,如输入自定义或默认的用于通知消息清理的字符串;可以是用户通过语音输入针对通知消息进行清理的指令(例如语音输入“清理当前通知消息”等);可以是用户通过摄像头采集手势控制指令完成特定的清理通知消息的清理操作,还可以是通过按压终端的物理按键触发的对通知消息的清理操作等。
需要说明的是,用户针对推送的通知消息输入清理操作的方式有多种,此处不作具体限定。
以下为了本申请实施例描述的方便,具体以用户通过触控终端屏幕输入清理操作为例进行说明。
具体的,终端可以具有触摸屏,所述触摸屏可以是能够实现单一触摸功能的触摸屏,例如:电容触摸屏、电磁触摸屏,也可以是能够同时实现电容感应、电磁感应和红外感应的触摸屏。当用户通过手指触摸终端上的触摸屏时,触摸位置的电容参数发生变化,触摸框根据电容的变化,确定手指在终端触摸屏的触摸位置;或者,手指在接触触摸框时,阻挡了红外的接收端接收红外信号,触摸框根据被阻挡的红外信号确定手指的触摸位置,通过识别所述触摸位置对应的逻辑控制指令对应的代码,终端可以检测到用户针对通知消息输入的清理操作。
在一种具体的实施方式中,如图2所示,图2是一种通知栏显示通知消息的界面示意图,当终端上的应用程序接收到新信息类型的通知消息时,终端可以将通知消息显示在通知栏上,用户可以通过手指触控的方式从终端显示界面上的顶端自上向下输入打开通知栏界面的操作,终端在如图2所示的界面中显示当前待显示的应用程序的通知消息,如通知消息1、通知消息2....等等,用户可以从多个通知消息中针对某一个或多个通知消息输入清理操作,如,用户可以针对“通知消息1”通过手指触控方式输入清理操作,如图2所示,具体清理操作可以是用户通过手指触控方式选中“通知消息1”选项沿图2中箭头指示方向自右向左滑动,以完成对“通知消息1”的清理操作的输入。这个过程中,终端可以通过获取用户手指触控“通知消息1”选项进行滑动过程中,“通知消息1”选项位置处电容参数发生变化,从而识别到用户针对“通知消息1”的清理操作,进而对所述清理操作进行响应,将该通知消息进行清理。
在一种具体的实施方式中,如图3所示,图3是一种弹窗显示通知消息的界面示意图,当终端上的应用程序接收到新信息类型的通知消息时,终端可以将通知消息以消息弹窗的形式显示在终端当前显示界面上,如图3所示的界面中终端以弹窗的形式显示有当前待显示的应用程序的通知消息,如:弹窗中显示有某购物应用推送的通知消息:“优惠活动:春装打折促销,快来抢购吧...”,并为在弹窗中显示有“查看详情”选项和对通知消息进行清理的关闭按钮,用户此时可以通过手指触控的方式触控关闭按钮,从而完成针对该通知消息的清理操作,在用户触控关闭按钮的过程中,终端检测到用户触摸位置的电容参数发生变化,从而识别到用户的针对该通知消息的清理操作,进而对所述清理操作进行响应,将该通知消息进行清理。
在一种具体的实施方式中,如图4所示,图4是一种应用角标显示通知消息的界面示意图,当终端上的应用程序接收到新信息类型的通知消息时,终端可以将通知消息以应用程序角标的形式对通知消息进行显示,当某一段时间内某应用程序推送有多条通知消息时,终端可以在应用程序角标显示这段时间内通知消息的数量,如图4所示,在图4中“推特”应用程序的角标显示有99条通知消息、“云服务”应用程序的角标显示有58条通知消息、“新闻”应用程序的角标显示有19条通知消息等等,当用户需要对某个应用程序的通信消息进行清理时,用户此时可以通过手指触控的方式选中某个应用程序的角标,然后沿图4中箭头所示的轨迹,对某个应用程序的角标进行滑动,从而完成针对该应用程序的所有或部分通知消息的清理操作。如,在用户触控“推特”应用程序的角标沿箭头指示的方向进行滑动过程中,终端检测到用户触摸位置的电容参数发生变化,从而识别到用户的针对该通知消息的清理操作,进而对所述清理操作进行响应,将该通知消息进行清理。
可选的,清理操作可以是预先终端所定义的指定操作,以“通知消息1”选项为例,如,清理操作可以是预先定义的用户通过长按“通知消息1”的长按操作、清理操作可以是预先定义的用户通过双击“通知消息1”的双击操作、清理操作可以是预先定义的用户通过对“通知消息1”沿某一指定方向进行滑动的滑动操作、可以是针对“通知消息1”触控“通知消息1”对应的某一指定控件的关闭操作,等等。
步骤S102:确定所述通知消息对应的目标应用。
所述目标应用可以理解为终端上接收应用服务平台(如某应用后台服务器)推送的通知消息的应用程序,或具备服务处理事项提醒能力(如购物定时提醒的某购物应用)的应用程序,等等。
其中,所述目标应用为终端上存在(如已安装、已开启)的应用程序,所述应用程序可以是终端操作系统本身自带的应用,可以是第三方应用,所述第三方应用是指由第三方开发、非终端操作系统本身自带的应用,包括一些由第三方开发的应用、小程序、插件等。在本实施例中所述第三方应用可以理解为终端的操作系统预置系统应用以外的应用,如电子邮件、即时通讯、电子商务等应用程序。
具体的,对于终端的操作系统来说,推送某一应用的推送消息通常是该应用对应的消息推送的业务线程进行的,其中,所述业务线程是终端搭载的操作系统能够进行业务运算调度的最小单位。通常业务线程与进程相关,业务线程被包含在进程之中,并作为进程中的实际运作单位。其中,一条业务线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个业务线程,每条业务线程并行执行不同的任务。进一步的,终端上的应用程序在运行时会对应一个进程,根据应用程序的业务类型的不同通常会对应不同业务类型的业务线程,当终端的检测到用户针对通知消息的清理操作时,终端可以根据通知消息确定目标业务线程(即执行推送通知消息的业务线程),然后可以根据业务线程进行应用溯源可以获取到通知消息对应的目标应用,一种应用溯源方式是获取该业务线程对应的线程记录,对线程记录进行分析处理,通常业务线程在调用线程方法时会涉及到参数的调用,对参数进行分析就可获取到目标应用的应用标识,基于应用标识可以唯一识别到该目标应用;一种应用溯源方式是确定业务线程对应的父进程,由于应用程序运行时与进程唯一对应,则终端可以根据业务线程确定业务线程对应的父进程,根据该父进程即可确定通知消息对应的目标应用。
步骤S103:确定在应用白名单中不存在所述目标应用,对所述目标应用对应的应用进程进行清理。
所述应用白名单是包括至少一个白名单应用,通常白名单应用可以是终端出厂时默认的,可以是用户在后期使用中对已安装的部分应用程序自定义添加到应用白名单中的,所述应用白名单可以理解为获得用户或管理员批准应用的简单清单。在本申请实施例中,当终端确定通知消息的目标应用之后,自动对目标应用进行检测,判断所述目标应用是否在应用白名单中,根据判断结果来确定是否对该目标应用程序执行“对所述目标应用对应的应用进程进行清理”的步骤。
具体的,终端在确定所述通知消息对应的目标应用之后,对该目标应用进行检测,具体为判断应用白名单中是否存在该目标应用,具体如下:
1、当应用白名单存在该目标应用时,此时,终端可以确定该目标应用为应用白名单确实的认证程序而不是恶意程序或是有相同名字的其它程序,终端继续运行目标应用,不对目标应用对应的进程进行处理。
2、当应用白名单不存在该目标应用时,此时,终端可以确定该目标应用为应用白名单确实的非认证程序,该应用程序可能为恶意程序。如恶意推送通知消息的应用程序。终端可以对所述目标应用对应的应用进程进行清理,以防止该目标应用的相关进程在终端的操作系统后台继续运行。
可选的,应用白名单中通常保存有白名单应用对应的应用标识,通过应用标识可以唯一表征该应用程序,终端判断应用白名单可以是否存在目标应用,可以是通过对目标应用的目标应用标识与应用白名单中各白名单应用对应的应用标识进行比对,当在应用白名单中存在于目标应用标识一致的应用标识时,终端即可确定目标应用为应用白名单中的应用;反之,当在应用白名单中不存在于目标应用标识一致的应用标识时,终端即可确定目标应用不为应用白名单中的应用。
其中,上述应用白名单中的应用,用户可以根据自己的喜好或者实际需要,对应用白名单中的应用进行设置。具体地,用户可以通过指定的设置界面开启应用白名单的功能,然后选择进入应用白名单的设置界面,在应用白名单的设置界面内,用户可以在包含目前手机中已安装的应用的下拉列表中选中需要加入应用白名单的应用,点击“添加”,然后点击“确定”,则可将该应用添加至应用白名单中。用户也可以选中需要从应用白名单中删除的应用,点击“删除”,然后点击“确定”,则可将该应用从应用白名单中删除。当然,用户也可以手动输入需要添加或者删除的应用,点击“确定”,则可将该应用添加或者删除。当然,用户也可通过语音功能或者拖动等添加应用到应用白名单。
具体的,终端在确定在应用白名单中不存在所述目标应用之后,终端对所述目标应用对应的应用进程进行清理,终端可以调用活动管理服务(Activity manager service,AMS)来确定该应用进程的相关事件,其中,AMS为在相干技术中的应用进程管理软件,可以对应用进程的启动、暂停和终止事件进行管理(例如与电脑的操作系统界面中任务管理器的功能相似),终端可以通过AMS确定应用进程的相关事项,如应用进程的启动事件、应用进程所占用的内存空间、应用进程所分配的计算资源、与该应用进程对应的关联服务等等,终端在清理应用进程的同时,同时控制AMS对应用进程的相关事项进行清理,即结束应用进程的相关事项,如回收应用进程所占用的内存空间、停止为应用进程分配的计算资源、对应用进程所对应的各业务线程进行灭活等等,从而完成对所述目标应用对应的应用进程进行清理。
在本申请实施例中,终端检测到针对通知消息的清理操作,对所述通知消息进行清理,确定所述通知消息对应的目标应用,确定在应用白名单中不存在所述目标应用,对所述目标应用对应的应用进程进行清理。通过在对通知消息进行清理的同时,对通知消息的应用进程进行同步清理,可以避免在实现应用进程清理的过程中用户的多次操作,在实现了应用消息的彻底清理情况下,简化了对应用清理的流程,提高了应用清理的效率,并节省终端操作系统的资源,提升了操作系统的流畅性;同时,终端只对不属于应用白名单的目标应用对应的应用进程进行清理,可以避免对应用进程清理时的误操作,实现应用进程精准清理。
请参见图5,图5是本申请提出的一种应用清理方法的另一种实施例的流程示意图。具体的:
步骤S201:检测到针对通知消息的清理操作,对所述通知消息进行清理。
具体可参见步骤S101,此处不再赘述。
步骤S202:确定所述通知消息对应的目标应用。
具体可参见步骤S102,此处不再赘述。
步骤S203:确定在应用白名单中不存在所述目标应用,对所述目标应用对应的应用进程进行清理。
具体可参见步骤S103,此处不再赘述。
步骤S204:获取与所述目标应用相关联的参考应用。
所述参考应用是指与目标应用具有关联关系的应用,参考应用的根据实际应用环境设置的关联应用确定规则确定。
在一种具体的实施场景中,一种关联应用确定规则可以为:参考应用可以是与目标应用为同一应用类型的应用,如同为视频应用类型、即时通讯应用类型、音乐应用类型、游戏应用类型、图片美化应用类型等等,其中,终端可以将同一场景下的应用或相关联的应用作为同一应用类型的应用,所述同一场景主要用于表征终端所处的场景位置,所述场景包括但不限于商场场景、地铁站场景、高铁站场景、旅游景点场景、餐厅场景、学校场景、医院场景、电影院场景、银行场景等场景中的至少一种。
如,可以将终端处于商场场景下用户使用频率或次数较高的应用作为同一类型的应用,如某购物应用、某点评应用、某支付应用等等。
如:可以将终端处于地铁站场景下用户使用频率或次数较高的:某导航应用、某地铁应用、某买票应用等等。
如:可以将终端处于医院场景下用户使用频率或次数较高的:某挂号应用、某医疗支付应用、某医疗健康应用等等。
在实际应用中,终端可以基于预设的至少一个应用类型,针对各应用类型关联至少一个应用程序,所述各应用类型关联的至少一个应用程序可以是服务器基于大数据计算与匹配得到的,可以理解为应用类型关联至少一个应用程序,通常用户的终端为该应用类型下时,开启的频率以及使用的次数较高,具有较高的场景关联性。
具体实施中,终端可以获取后台运行的应用集合,该应用集合包括至少一个后台正在运行的应用,以及确定目标应用的应用类型,然后对应用集合中的各应用进行判断,确定属于该应用类型下的目标应用,该目标应用即为应用集合中与所述目标应用属于同一类型的参考应用。可以理解的是,当用户对目标应用的通知消息输入清理操作时,终端可以自动判断在后台运行且与该目标应用属于同一应用类型下的参考应用,然后对这一应用类型下的参考应用进行清理,从而实现了基于用户当前的清理需求对同一类应用进行清理的目标,清理更彻底。
在一种具体的实施场景中,一种关联应用确定规则可以为:将与目标应用具有应用耦合关系的耦合应用,可以理解的是与目标应用具有应用耦合关系的耦合应用可以作为参考应用。
其中,耦合,也叫耦合性或耦合度,是对两个个体程序间关联性的度量。耦合的强弱取决于两个个体程序间架构的复杂性、调用模块、服务、终端组件的方式以及通过界面传递数据的多少。程序间的耦合度是指程序之间的依赖关系,包括控制关系、调用关系、数据传递关系。两个应用程序间联系越多,其耦合性越强,同时表明其独立性越差(减低耦合性,可以提高其独立性)。耦合性存在于各个领域,而非软件设计中独有的,在本实施例中,只对软件工程中的应用耦合进行阐述。
在软件工程中,耦合指的就是对象之间的依赖性。对象之间的耦合越高,维护成本越高。在本申请实施例中,与目标应用耦合关系高的应用,确定为参考应用,对与目标应用耦合关系高的应用进行清理,可以降低终端对应用的维护成本(如计算资源的维护、处理器资源的调用、内存的分配、终端对应用的供电管理等等)。
以下将对常见的类型耦合进行阐述,两个应用之间常见的耦合关系可以是内容耦合、公共耦合、外部耦合、控制耦合、标记耦合等。
内容耦合可以理解为当一个应用直接修改或操作另一个应用的数据的时候,或一个应用不通过正常入口(软件接口或硬件接口)而转入另一个模块的时候,这样的耦合被称为内容耦合。通俗的来说,具有内容耦合的两个应用,其中一个应用可以不经调用(如函数调用)直接使用或访问另一个应用的程序代码或内部数据。
公共耦合可以两个或两个以上的应用共同引用一个全局数据项,这样的两个或两个以上的应用被称为公共耦合;
外部耦合可以理解为两个或两个以上的应用都访问同一全局变量而不是同一全局数据结构,也不是通过参数传递该全局变量的信息,这样的两个或两个以上的应用则称之为外部耦合;
控制耦合可以理解为某个应用通过接口(软件接口或硬件接口)向另一个应用传递一个数据控制信息,接收数据控制信息的应用根据数据控制信息中的信号值而进行适当的动作或控制,这样的两个应用被称为控制耦合。
标记耦合可以理解为A应用通过接口(软件接口或硬件接口)向B应用和C应用传递一个函数调用过程中涉及的公共参数,那么通常称B应用和C应用之间存在一个标记耦合,即存在标记耦合的A应用。
具体的,通常上述一类或多类具有耦合关系的应用在应用程序开发时即可确定,在对应用程序进行安装时终端可以向应用服务提供商获取到与该应用程序具有耦合关系的耦合应用集合,可以理解的是,终端根据耦合应用集合,可以判断后台正在运行的各后台应用是否在耦合应用集合中,将属于耦合应用集合中的后台应用作为参考应用。
可选的,终端可以在对应用程序进行安装完成后,对该应用程序进行应用的耦合监测,具体为获取该应用程序的应用行为日志,对应用行为日志进行分析,如函数调用情况、参数传递情况等等,从而可以确定与应用具有耦合关系的耦合应用。
可选的,终端也可以通过服务器基于大数据处理得到的与目标应用具有耦合关系的耦合应用;可以是第三方安全服务提供商提供的与目标应用具有耦合关系的耦合应用,等等。
在一种具体的实施场景中,一种关联应用确定规则可以为:可以是根据目标应用的开启时间来确定预设时间范围指示的参考应用,开启时间可以理解为终端后台运行该目标应用的初始运行时间,终端可以通过应用进程管理软件(AMS)来确定目标应用的开启时间,并获取后台正在运行的应用集合,该应用集合包括正在运行的至少一个应用,然后终端预设有开启时间的预设时间范围,如预设时间范围可以是目标应用开启时间前后5分钟的时间范围(如开启是时间为9:00,则预设时间范围即为8:55-9:05),终端将应用集合中在该预设时间范围内开启的应用可作为参考应用,如将预设时间范围即为8:55-9:05内开启的应用作为参考应用。
步骤S205:确定在所述应用白名单中不存在所述参考应用,对所述参考应用对应的应用进程进行清理。
具体的,终端在获取与所述目标应用相关联的参考应用之后,可以对参考应用直接进行清理;进一步的,终端为了避免误清理,可以判断该参考应用是是否在应用白名单中,根据判断结果来确定是否对该参考应用对应的应用进程进行清理。
具体的,终端在获取与所述目标应用相关联的参考应用之后,对该参考应用进行检测,具体为判断应用白名单中是否存在该参考应用,具体如下:
1、当应用白名单存在该参考应用时,此时,终端可以确定该参考应用为应用白名单确实的认证程序而不是恶意程序或是有相同名字的其它程序,终端继续运行参考应用,不对参考应用对应的进程进行处理。
2、当应用白名单不存在该参考应用时,此时,终端可以确定该参考应用为应用白名单确实的非认证程序,该应用程序可能为恶意程序。如恶意推送通知消息的应用程序。终端可以对所述参考应用对应的应用进程进行清理,以防止该参考应用的相关应用进程在终端的操作系统后台继续运行。
步骤S206:将所述目标应用的自启动权限设置为禁止自启状态,所述自启动权限包括开机自启权限以及后台自启权限。
所述开机自启权限是指终端开机启动过程中,操作系统开机初始化完成时,会发送开机广播给已注册开机广播的应用,即具有开机自启应用权限的应用,接收到所述开机广播的应用会根据所述开机广播进行自启动。
所述后台自启权限就是终端的操作系统在运行时,用户没有主动去开启该应用,应用会进行自动启动从而在操作系统的后台运行,通常这种情况是在用户不知情或者违背用户意愿的情况下实施的应用启动。
具体的,终端在确定通知消息对应的目标应用之后,可以将目标应用的自启动权限设置为禁止自启状态,具体为将开机自启权限以及后台自启权限设置为禁止自启状态。
一种方式可以是,终端可以设置有一个自启动应用黑名单,自启动应用黑名单中的应用为禁止自启动的应用,终端可以将目标应用加入自启动应用黑名单,以防止目标应用下一次的自启动;
一种方式是将该目标应用加入开机广播的接收状态进行关闭,从而实现禁止将终端开机时将开机广播发送给所述目标应用,以使所述应用接收不到开机广播,进而无法进行开机自启动。以及,将该目标应用的后台自启权限设置为禁止自启状态,实际实施中,终端可以通过android的SharedPreferences()方法把需要禁止后台自启的应用程序的包名记录下来,并将所述包名存储于SharedPreferences表中。以实现对目标应用后台自启权限的禁止。
进一步的,终端可以先检测目标应用的自启动权限是否设置为禁止自启状态,当自启动权限是设置为允许自启状态时,对目标应用的自启动权限进行设置,具体设置为禁止自启状态。
在一种具体的实施方式中,终端在将所述目标应用的自启动权限设置为禁止自启状态的同时,可以同时设置一个禁止自启的时间范围,在禁止自启的时间范围禁止目标应用进行自启动,在自启的时间范围过后,终端可以将将所述目标应用的自启动权限设置为允许自启状态,以防止误操作。如,终端可以设置禁止自启的时间范围为2个小时,则在2小时内禁止目标应用进行自启动,在2小时候将目标应用的自启动权限更改为允许自启状态。
步骤S207:获取所述目标应用的风险等级。当所述风险等级大于第一等级阈值时,对所述目标应用进行卸载。
所述阈值是指某一领域、状态或系统的门限值,也称临界值。
在本申请实施例中,所述第一等级阈值是针对应用的风险等级设置的风险等级的门限值或临界值,当某一应用的风险等级小于或等于第一等级阈值时,终端可以确定该目标应的风险等级较低,为低风险应用,无需对目标应用进行卸载;当某一应用的风险等级大于第一等级阈值时,终端可以确定该目标应的风险等级较高,为高风险的恶意应用,如该恶意应用可能会在运行过程中泄漏用户隐私、修改系统设置、删除存储数据等等,为了降低应用使用风险终端可以将该应用程序进行卸载。
可选的,终端确定风险等级大于第一等级阈值之后,可以在当前显示界面上输出针对目标应用的卸载提示信息,基于用户对卸载提示信息的确认卸载操作,然后终端对目标应用进行卸载。其中,所述卸载提示信息可以是以信息弹窗的形式,如,终端在当前显示界面上显示相应的文字提醒来提醒用户当前目标应用风险较高,并在弹窗上提供可供用户选择的控件(如确认删除控件、取消删除),终端在检测到用户针对“确认删除控件”的触控操作时,对目标应用进行删除;所述卸载提示信息可以是以语音播报的形式,如,终端调用麦克风语音播放:目标应用风险等级较高,是否对目标应用进行删除,当识别到用户输入的确认删除的语音时,终端对目标应用进行删除;所述卸载提示信息还可以是以响铃、提示灯、振动、屏幕闪烁灯方式中的至少一种进行消息输出的提示形式。
一种目标应用的风险等级的获取方法可以是:终端在安装某个目标应用的时候,通常会从提供应用下载服务的应用服务提供商处下载该目标应用对应的安装包,应用服务提供商可以是软件应用商店、软件应用市场等等,终端可以从至少一个应用服务提供商处获取该目标应用的应用评分,根据各应用评分进行统计学计算,确定目标应用的目标评分,然后根据评分与风险等级的对应关系确定目标评分对应的风险等级,最后判断风险等级是否大于第一等级阈值,在所述风险等级大于第一等级阈值时,对所述目标应用进行卸载;其中,根据各应用评分进行统计学计算可以计算平均值、中位值、最大值、众数、泊松分布值等统计概率值中的一种或多种的拟合,此处不作具体限定。
一种目标应用的风险等级的获取方法可以是:终端可以向应用安全服务提供商获取目标应用的风险等级,其中,应用安全服务提供商可以某杀毒软件、某安全管家应用、某应用清理大师等等,通过应用安全服务提供商提供的应用风险检测服务,终端可以获取到目标应用的风险等级,最后判断风险等级是否大于第一等级阈值,在所述风险等级大于第一等级阈值时,对所述目标应用进行卸载。
一种目标应用的风险等级的获取方法可以是:在法律规则允许的范围内,对目标应用进行反编译得到目标应用的程序源文件,并对程序源文件进行分析处理获取得到待测目标应用的应用程序编程的接口调用信息,并根据应用程序编程接口调用信息获取待测目标应用在安装后所需对终端进行操作的操作权限信息,基于操作权限信息以及接口调用信息来,检测是否存在涉及用户隐私和/或恶意调用行为,根据检测结果来确定目标应用的风险等级,如根据操作权限信息以及接口调用信息中来获取目标应用的应用程序编程接口(Application Programming Interface,API),将目标应用的API与预先设置的恶意行为库中的API分别进行匹配,将匹配成功的目标应用的API标记为恶意行为API。根据所述恶意行为库分别得到恶意行为API所占的权重;根据该恶意行为API所占权重,确定待测目标应用的恶意度量值;将恶意程序度量值与预设的恶意程度标准进行匹配,从而能够得到待测目标应用的风险等级;最后判断风险等级是否大于第一等级阈值,在所述风险等级大于第一等级阈值时,对所述目标应用进行卸载。
一种目标应用的风险等级的获取方法可以是:终端可以对目标应用开启监测机制,对所述目标应用的运行状态进行监测,具体为终端在检测到用户针对目标应用的清理操作之后,可以获取预设监测时长内终端通过监测机制获取到的目标应用的行为日志,其中预设监测时长可以是某一历史时间段内、可以是清理操作对应的时间点为时间起点所对应的时间段内等等,具体可根据实际应用使用情况进行设置。所述行为日志可以是对目标应用的链式启动、自启动、权限调用、敏感行为等类型的应用行为进行记录;更进一步的,终端可以通过预先训练好的应用风险分析模型对行为日志进行分析,具体终端可以将目标应用的行为日志输入至应用风险分析模型,输出所述目标应用的风险等级。
其中,通过预先获取应用程序对应的大量样本数据(可以是多个终端上对应的行为日志),提取特征信息,并对所述样本数据进行标注,所述特征信息包含:后台应用程序的包名、应用程序最近一次切换到后台运行的时刻、应用程序前台运行的总时间、应用程序后台运行的总时间、应用的链式启动信息、自启动信息、权限调用信息、敏感行为信息等,创建初始的应用风险分析模型。所述应用风险分析模型可以是使用大量的样本数据对初始的应用风险分析模型进行训练的,如应用风险分析模型可以是基于LR(Logistic Regression,逻辑回归模型)、SVM(Support Vector Machine,支持向量机)、决策树、朴素贝叶斯分类器、CNN(Convolutional Neural Network,卷积神经网络)、RNN(Recurrent Neural Networks,递归神经网络)等中的一种或多种实现,基于已经标注风险等级的样本数据对初始的应用风险分析模型进行训练,可以得到训练好的应用风险分析模型。
更进一步的,本实施例中可以采用引入误差反向传播算法的DNN-HMM模型创建初始的应用风险分析模型,提取特征信息之后,将特征信息以特征向量的形式输入到所述神经网络模型中,所述神经网络模型的训练过程通常由正向传播和反向传播两部分组成,在正向传播过程中,终端输入样本数据对应的特征信息从所述神经网络模型的输入层经过隐层神经元(也称节点)的传递函数(又称激活函数、转换函数)运算后,传向输出层,其中每一层神经元状态影响下一层神经元状态,在输出层计算实际输出值-第一语音标识,计算所述实际输出值与期望输出值的期望误差,基于所述期望误差调整所述神经网络模型的参数,所述参数包含每一层的权重值和阈值,训练完成后,生成应用风险分析模型。
具体的,所述期望误差可以是计算实际输出值与期望输出值的均方误差MSE,均方误差MSE,所述均方误差MSE可以采用如下的公式:
其中,m为输出节点个数,p为训练样本数目,为期望输出值,为实际输出值。
步骤S208:确定在所述应用白名单中存在所述目标应用,获取所述目标应用的风险等级。
具体的,终端在确定所述通知消息对应的目标应用之后,对该目标应用进行检测,具体为判断应用白名单中是否存在该目标应用,当应用白名单存在该目标应用时,此时,终端可以确定该目标应用为应用白名单中存在的认证程序而不是恶意程序或是有相同名字的其它程序,在实际应用中可能存在用户或管理员对一些应用程序的误操作,即将一些风险程度高的应用加入到应用白名单中;或由于某些应用为恶意应用可能获取到终端操作系统的管理权限和通过脚本而自动将某些风险较高的应用加入至应用白名单中,为了避免这种状况,降低终端的应用运行风险,终端可以获取目标应用的应用风险程度,基于应用风险程度在基于应用白名单的基础上对目标应用进行二次风险评估,根据评估结果来衡量目标应用的运行风险。
其中,所述获取所述目标应用的风险等级的步骤可参考步骤S207,此处不再赘述。
步骤S209:当所述风险等级大于第二等级阈值时,对所述目标应用对应的应用进程进行清理。
所述第二等级阈值是针对应用的风险等级设置的风险等级的门限值或临界值,当某一应用存在于应用白名单中,且该应用的风险等级小于或等于第一等级阈值时,终端可以确定该目标应的风险等级较低,为低风险应用,无需对目标应用进行清理;当某一应用的风险等级大于第一等级阈值时,终端可以确定该目标应用的风险等级较高,可能为高风险的恶意应用,如该恶意应用可能会在运行过程中泄漏用户隐私、修改系统设置、删除存储数据等等,为了降低应用使用风险终端可以将该应用程序对应的应用进程进行清理。
需要说明的是,所述第一等级阈值可以是与第二等级阈值相同,所述第一等级阈值可以是与第二等级阈值不相同,此处具体不作限定,具体第一等级阈值与第二等级阈值的设置可以根据实际应用环境确定;
其中,当所述第一等级阈值可以是与第二等级阈值不相同时,优选第一等级阈值大于第二等级阈值,进一步的,当某一应用存在于应用白名单中且应用的风险等级大于第二等级阈值时,对所述目标应用对应的应用进程进行清理;当某一应用存在于应用白名单且应用的风险等级大于第一等级阈值,对所述目标应用对应的应用进程进行卸载。
所述对所述目标应用对应的应用进程进行清理可参考步骤S103,此处不再赘述。
在本申请实施例中,终端检测到针对通知消息的清理操作,对所述通知消息进行清理,确定所述通知消息对应的目标应用,确定在应用白名单中不存在所述目标应用,对所述目标应用对应的应用进程进行清理。通过在对通知消息进行清理的同时,对通知消息的应用进程进行同步清理,可以避免在实现应用进程清理的过程中用户的多次操作,在实现了应用消息的彻底清理情况下,简化了对应用清理的流程,提高了应用清理的效率,并节省终端操作系统的资源,提升了操作系统的流畅性;以及,对通知消息对应的应用进程进行清理,和/或对目标应用相关联的参考应用对应的应用进程进行清理,可以节省终端操作系统的资源,提升了操作系统的流畅性;同时,终端只对不属于应用白名单的目标应用和/或关联应用对应的应用进程进行清理,可以避免对应用进程时的误操作;以及,终端可以在目标应用的风险等级大于第一等级阈值时,对高风险的目标应用进行卸载,降低了终端的应用风险;以及终端可以获取属于应用白名单的目标应用对应的风险等级,在目标应用的风险等级大于第一等级阈值时,对高风险的目标应用进行清理,可以实现对属于应用白名单的目标应用的二次风险检测,达到应用精准清理的效果。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图6,其示出了本申请一个示例性实施例提供的应用清理装置的结构示意图。该应用清理装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置1包括通知消息清理模块11、目标应用确定模块12和应用进程清理模块13。
通知消息清理模块11,用于检测到针对通知消息的清理操作,对所述通知消息进行清理;
目标应用确定模块12,用于确定所述通知消息对应的目标应用;
应用进程清理模块13,用于确定在应用白名单中不存在所述目标应用,对所述目标应用对应的应用进程进行清理。
可选的,如9图所示,所述装置1,包括:
参考应用确定模块14,用于获取与所述目标应用相关联的参考应用;
所述应用进程清理模块13,还用于对所述参考应用对应的应用进程进行清理。
可选的,所述应用进程清理模块13,具体用于:
确定在所述应用白名单中不存在所述参考应用,对所述参考应用对应的应用进程进行清理。
可选的,如图7所示,所述参考应用确定模块14,包括:
参考应用第一确定单元141,用于获取后台运行的应用集合,确定所述应用集合中与所述目标应用属于同一类型的参考应用;
参考应用第二确定单元142,用于获取与所述目标应用具有耦合关系的耦合应用,将所述耦合应用作为参考应用;
参考应用第三确定单元143,用于获取所述目标应用的开启时间,在后台运行的应用集合中确定在所述开启时间的预设时间范围内开启的参考应用。
可选的,如9图所示,所述装置1,包括:
禁止自启设置模块15,用于将所述目标应用的自启动权限设置为禁止自启状态,所述自启动权限包括开机自启权限以及后台自启权限。
可选的,如图9所示,所述装置1,包括:
风险等级获取模块16,用于获取所述目标应用的风险等级,当所述风险等级大于第一等级阈值时,对所述目标应用进行卸载。
可选的,所述风险等级获取模块16,具体用于:
确定在所述应用白名单中存在所述目标应用,获取所述目标应用的风险等级;
所述应用进程清理模块13,还用于当所述风险等级大于第二等级阈值时,对所述目标应用对应的应用进程进行清理。
可选的,如图8所示,所述风险等级获取模块16,包括:
行为日志获取单元161,用于对所述目标应用进行监测,并获取在预设监测时长内的所述目标应用的行为日志;
风险等级确定单元162,用于将所述行为日志输入至应用风险分析模型中,输出所述目标应用的风险等级。
需要说明的是,上述实施例提供的应用清理装置在执行应用清理方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的应用清理装置与应用清理方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请实施例中,终端检测到针对通知消息的清理操作,对所述通知消息进行清理,确定所述通知消息对应的目标应用,确定在应用白名单中不存在所述目标应用,对所述目标应用对应的应用进程进行清理。通过在对通知消息进行清理的同时,对通知消息的应用进程进行同步清理,可以避免在实现应用进程清理的过程中用户的多次操作,在实现了应用消息的彻底清理情况下,简化了对应用清理的流程,提高了应用清理的效率,并节省终端操作系统的资源,提升了操作系统的流畅性;以及,对通知消息对应的应用进程进行清理,和/或对目标应用相关联的参考应用对应的应用进程进行清理,可以节省终端操作系统的资源,提升了操作系统的流畅性;同时,终端只对不属于应用白名单的目标应用和/或关联应用对应的应用进程进行清理,可以避免对应用进程时的误操作;以及,终端可以在目标应用的风险等级大于第一等级阈值时,对高风险的目标应用进行卸载,降低了终端的应用风险;以及终端可以获取属于应用白名单的目标应用对应的风险等级,在目标应用的风险等级大于第一等级阈值时,对高风险的目标应用进行清理,可以实现对属于应用白名单的目标应用的二次风险检测,达到应用精准清理的效果。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1-图5所示实施例的所述应用清理方法,具体执行过程可以参见图1-图5所示实施例的具体说明,在此不进行赘述。
本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行如上述图1-图5所示实施例的所述应用清理方法,具体执行过程可以参见图1-图5所示实施例的具体说明,在此不进行赘述。
请参考图10,其示出了本申请一个示例性实施例提供的电子设备的结构方框图。本申请中的电子设备可以包括一个或多个如下部件:处理器110、存储器120、输入装置130、输出装置140和总线150。处理器110、存储器120、输入装置130和输出装置140之间可以通过总线150连接。
处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个电子设备内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digital signal processing,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)、可编程逻辑阵列(programmable logicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(centralprocessing unit,CPU)、图像处理器(graphics processing unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(random Access Memory,RAM),也可以包括只读存储器(read-only memory,ROM)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等,该操作系统可以是安卓(Android)系统,包括基于Android系统深度开发的系统、苹果公司开发的IOS系统,包括基于IOS系统深度开发的系统或其它系统。存储数据区还可以存储电子设备在使用中所创建的数据比如电话本、音视频数据、聊天记录数据,等。
参见图11所示,存储器120可分为操作系统空间和用户空间,操作系统即运行于操作系统空间,原生及第三方应用程序即运行于用户空间。为了保证不同第三方应用程序均能够达到较好的运行效果,操作系统针对不同第三方应用程序为其分配相应的系统资源。然而,同一第三方应用程序中不同应用场景对系统资源的需求也存在差异,比如,在本地资源加载场景下,第三方应用程序对磁盘读取速度的要求较高;在动画渲染场景下,第三方应用程序则对GPU性能的要求较高。而操作系统与第三方应用程序之间相互独立,操作系统往往不能及时感知第三方应用程序当前的应用场景,导致操作系统无法根据第三方应用程序的具体应用场景进行针对性的系统资源适配。
为了使操作系统能够区分第三方应用程序的具体应用场景,需要打通第三方应用程序与操作系统之间的数据通信,使得操作系统能够随时获取第三方应用程序当前的场景信息,进而基于当前场景进行针对性的系统资源适配。
以操作系统为Android系统为例,存储器120中存储的程序和数据如图12所示,存储器120中可存储有Linux内核层320、系统运行时库层340、应用框架层360和应用层380,其中,Linux内核层320、系统运行库层340和应用框架层360属于操作系统空间,应用层380属于用户空间。Linux内核层320为电子设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。系统运行库层340通过一些C/C++库来为Android系统提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL/ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。在系统运行时库层340中还提供有安卓运行时库(Android runtime),它主要提供了一些核心库,能够允许开发者使用Java语言来编写Android应用。应用框架层360提供了构建应用程序时可能用到的各种API,开发者也可以通过使用这些API来构建自己的应用程序,比如活动管理、窗口管理、视图管理、通知管理、内容提供者、包管理、通话管理、资源管理、定位管理。应用层380中运行有至少一个应用程序,这些应用程序可以是操作系统自带的原生应用程序,比如联系人程序、短信程序、时钟程序、相机应用等;也可以是第三方开发者所开发的第三方应用程序,比如游戏类应用程序、即时通信程序、相片美化程序、应用清理程序等。
以操作系统为IOS系统为例,存储器120中存储的程序和数据如图13所示,IOS系统包括:核心操作系统层420(Core OS layer)、核心服务层440(Core Services layer)、媒体层460(Media layer)、可触摸层480(Cocoa Touch Layer)。核心操作系统层420包括了操作系统内核、驱动程序以及底层程序框架,这些底层程序框架提供更接近硬件的功能,以供位于核心服务层440的程序框架所使用。核心服务层440提供给应用程序所需要的系统服务和/或程序框架,比如基础(Foundation)框架、账户框架、广告框架、数据存储框架、网络连接框架、地理位置框架、运动框架等等。媒体层460为应用程序提供有关视听方面的接口,如图形图像相关的接口、音频技术相关的接口、视频技术相关的接口、音视频传输技术的无线播放(AirPlay)接口等。可触摸层480为应用程序开发提供了各种常用的界面相关的框架,可触摸层480负责用户在电子设备上的触摸交互操作。比如本地通知服务、远程推送服务、广告框架、游戏工具框架、消息用户界面接口(User Interface,UI)框架、用户界面UIKit框架、地图框架等等。
在图13所示出的框架中,与大部分应用程序有关的框架包括但不限于:核心服务层440中的基础框架和可触摸层480中的UIKit框架。基础框架提供许多基本的对象类和数据类型,为所有应用程序提供最基本的系统服务,和UI无关。而UIKit框架提供的类是基础的UI类库,用于创建基于触摸的用户界面,iOS应用程序可以基于UIKit框架来提供UI,所以它提供了应用程序的基础架构,用于构建用户界面,绘图、处理和用户交互事件,响应手势等等。
其中,在IOS系统中实现第三方应用程序与操作系统数据通信的方式以及原理可参考Android系统,本申请在此不再赘述。
其中,输入装置130用于接收输入的指令或数据,输入装置130包括但不限于键盘、鼠标、摄像头、麦克风或触控设备。输出装置140用于输出指令或数据,输出装置140包括但不限于显示设备和扬声器等。在一个示例中,输入装置130和输出装置140可以合设,输入装置130和输出装置140为触摸显示屏,该触摸显示屏用于接收用户使用手指、触摸笔等任何适合的物体在其上或附近的触摸操作,以及显示各个应用程序的用户界面。触摸显示屏通常设置在电子设备的前面板。触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本申请实施例对此不加以限定。
除此之外,本领域技术人员可以理解,上述附图所示出的电子设备的结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,电子设备中还包括射频电路、输入单元、传感器、音频电路、无线保真(wireless fidelity,WiFi)模块、电源、蓝牙模块等部件,在此不再赘述。
在本申请实施例中,各步骤的执行主体可以是上文介绍的电子设备。可选地,各步骤的执行主体为电子设备的操作系统。操作系统可以是安卓系统,也可以是IOS系统,或者其它操作系统,本申请实施例对此不作限定。
本申请实施例的电子设备,其上还可以安装有显示设备,显示设备可以是各种能实现显示功能的设备,例如:阴极射线管显示器(cathode ray tubedisplay,简称CR)、发光二极管显示器(light-emitting diode display,LED)、电子墨水屏、液晶显示屏(liquidcrystal display,LCD)、等离子显示面板(plasma display panel,PDP)等。用户可以利用电子设备上的显示设备,来查看显示的文字、图像、视频等信息。所述电子设备可以是智能手机、平板电脑、游戏设备、增强现实(Augmented Reality,AR)设备、汽车、数据存储装置、音频播放装置、视频播放装置、笔记本、桌面计算设备、可穿戴设备诸如电子手表、电子眼镜、电子头盔、电子手链、电子项链、电子衣物等设备。
在图10所示的电子设备中,电子设备可以是一种终端,处理器110可以用于调用存储器120中存储的应用清理应用程序,并具体执行以下操作:
检测到针对通知消息的清理操作,对所述通知消息进行清理;
确定所述通知消息对应的目标应用;
确定在应用白名单中不存在所述目标应用,对所述目标应用对应的应用进程进行清理。
在一个实施例中,所述处理器110在执行所述应用清理方法时,具体执行以下操作:
获取与所述目标应用相关联的参考应用,对所述参考应用对应的应用进程进行清理。
在一个实施例中,所述处理器110在执行所述对所述参考应用对应的应用进程进行清理时,具体执行以下操作:
确定在所述应用白名单中不存在所述参考应用,对所述参考应用对应的应用进程进行清理。
在一个实施例中,所述处理器110在执行所述获取与所述目标应用相关联的参考应用时,具体执行以下操作:
获取后台运行的应用集合,确定所述应用集合中与所述目标应用属于同一类型的参考应用;和/或,
获取与所述目标应用具有耦合关系的耦合应用,将所述耦合应用作为参考应用;和/或,
获取所述目标应用的开启时间,在后台运行的应用集合中确定在所述开启时间的预设时间范围内开启的参考应用。
在一个实施例中,所述处理器110在执行所述对所述目标应用对应的应用进程进行清理之后,还执行以下操作:
将所述目标应用的自启动权限设置为禁止自启状态,所述自启动权限包括开机自启权限以及后台自启权限。
在一个实施例中,所述处理器110在执行所述对所述目标应用对应的应用进程进行清理之后,还执行以下操作:
获取所述目标应用的风险等级;
当所述风险等级大于第一等级阈值时,对所述目标应用进行卸载。
在一个实施例中,所述处理器110在执行所述应用清理方法时,还执行以下步骤:
确定在所述应用白名单中存在所述目标应用,获取所述目标应用的风险等级;
当所述风险等级大于第二等级阈值时,对所述目标应用对应的应用进程进行清理。
在一个实施例中,所述处理器110在执行所述获取所述目标应用的风险等级,具体执行以下步骤:
对所述目标应用进行监测,并获取在预设监测时长内的所述目标应用的行为日志;
将所述行为日志输入至应用风险分析模型中,输出所述目标应用的风险等级。
在本申请实施例中,终端检测到针对通知消息的清理操作,对所述通知消息进行清理,确定所述通知消息对应的目标应用,确定在应用白名单中不存在所述目标应用,对所述目标应用对应的应用进程进行清理。通过在对通知消息进行清理的同时,对通知消息的应用进程进行同步清理,可以避免在实现应用进程清理的过程中用户的多次操作,在实现了应用消息的彻底清理情况下,简化了对应用清理的流程,提高了应用清理的效率,并节省终端操作系统的资源,提升了操作系统的流畅性;以及,对通知消息对应的应用进程进行清理,和/或对目标应用相关联的参考应用对应的应用进程进行清理,可以节省终端操作系统的资源,提升了操作系统的流畅性;同时,终端只对不属于应用白名单的目标应用和/或关联应用对应的应用进程进行清理,可以避免对应用进程时的误操作;以及,终端可以在目标应用的风险等级大于第一等级阈值时,对高风险的目标应用进行卸载,降低了终端的应用风险;以及终端可以获取属于应用白名单的目标应用对应的风险等级,在目标应用的风险等级大于第一等级阈值时,对高风险的目标应用进行清理,可以实现对属于应用白名单的目标应用的二次风险检测,达到应用精准清理的效果。
本领域的技术人员可以清楚地了解到本申请的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列(Field-ProgrammaBLE GateArray,FPGA)、集成电路(Integrated Circuit,IC)等。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
Claims (10)
1.一种应用清理方法,其特征在于,所述方法包括:
检测到针对通知消息的清理操作,对所述通知消息进行清理;
确定所述通知消息对应的目标应用;
确定在应用白名单中不存在所述目标应用,对所述目标应用对应的应用进程进行清理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取与所述目标应用相关联的参考应用,对所述参考应用对应的应用进程进行清理。
3.根据权利要求2所述的方法,其特征在于,所述对所述参考应用对应的应用进程进行清理,包括:
确定在所述应用白名单中不存在所述参考应用,对所述参考应用对应的应用进程进行清理。
4.根据权利要求2所述的方法,其特征在于,所述获取与所述目标应用相关联的参考应用,包括:
获取后台运行的应用集合,确定所述应用集合中与所述目标应用属于同一类型的参考应用;或,
获取与所述目标应用具有耦合关系的耦合应用,将所述耦合应用作为参考应用;或,
获取所述目标应用的开启时间,在后台运行的应用集合中确定在所述开启时间的预设时间范围内开启的参考应用。
5.根据权利要求1所述的方法,其特征在于,所述对所述目标应用对应的应用进程进行清理之后,还包括:
将所述目标应用的自启动权限设置为禁止自启状态,所述自启动权限包括开机自启权限以及后台自启权限。
6.根据权利要求1所述的方法,其特征在于,所述对所述目标应用对应的应用进程进行清理之后,还包括:
获取所述目标应用的风险等级;
当所述风险等级大于第一等级阈值时,对所述目标应用进行卸载。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定在所述应用白名单中存在所述目标应用,获取所述目标应用的风险等级;
当所述风险等级大于第二等级阈值时,对所述目标应用对应的应用进程进行清理。
8.根据权利要求6或7所述的方法,其特征在于,所述获取所述目标应用的风险等级,包括:
对所述目标应用进行监测,并获取在预设监测时长内的所述目标应用的行为日志;
将所述行为日志输入至应用风险分析模型中,输出所述目标应用的风险等级。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~8任意一项的方法步骤。
10.一种电子设备,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~8任意一项的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010406003.0A CN111596971B (zh) | 2020-05-14 | 2020-05-14 | 应用清理方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010406003.0A CN111596971B (zh) | 2020-05-14 | 2020-05-14 | 应用清理方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111596971A true CN111596971A (zh) | 2020-08-28 |
CN111596971B CN111596971B (zh) | 2023-07-14 |
Family
ID=72187344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010406003.0A Active CN111596971B (zh) | 2020-05-14 | 2020-05-14 | 应用清理方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111596971B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099757A (zh) * | 2020-09-21 | 2020-12-18 | 珠海格力电器股份有限公司 | 一种应用保活的方法以及装置 |
CN112256354A (zh) * | 2020-11-25 | 2021-01-22 | Oppo(重庆)智能科技有限公司 | 应用启动方法、装置、存储介质及电子设备 |
CN113407300A (zh) * | 2021-05-21 | 2021-09-17 | 荣耀终端有限公司 | 应用误杀评估方法及相关设备 |
CN114089877A (zh) * | 2021-11-30 | 2022-02-25 | 深圳Tcl新技术有限公司 | 应用控制方法、装置、存储介质及电子设备 |
CN114531497A (zh) * | 2020-10-30 | 2022-05-24 | 华为技术有限公司 | 一种tcp保活方法、装置及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030188217A1 (en) * | 2002-03-27 | 2003-10-02 | International Business Machines Corporation | Method and apparatus for controlling the termination of processes in response to a shutdown command |
CN104239093A (zh) * | 2014-08-28 | 2014-12-24 | 广州金山网络科技有限公司 | 一种通知栏消息清除方法及装置 |
CN107390999A (zh) * | 2017-08-31 | 2017-11-24 | 珠海市魅族科技有限公司 | 应用程序操作方法及装置、计算机装置及可读存储介质 |
CN107885545A (zh) * | 2017-10-31 | 2018-04-06 | 广东欧珀移动通信有限公司 | 应用管理方法、装置、存储介质及电子设备 |
CN108093129A (zh) * | 2017-12-05 | 2018-05-29 | 广东小天才科技有限公司 | 移动终端的应用程序通知处理方法、装置、终端及介质 |
CN108519916A (zh) * | 2018-04-16 | 2018-09-11 | 努比亚技术有限公司 | 终端清理进程的处理方法、移动终端及可读存储介质 |
CN109960901A (zh) * | 2017-12-14 | 2019-07-02 | 北京京东尚科信息技术有限公司 | 桌面应用风险评价、控制的方法、系统、设备和存储介质 |
CN110830468A (zh) * | 2019-11-05 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 基于跨应用的权限管理方法、装置及计算机可读存储介质 |
-
2020
- 2020-05-14 CN CN202010406003.0A patent/CN111596971B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030188217A1 (en) * | 2002-03-27 | 2003-10-02 | International Business Machines Corporation | Method and apparatus for controlling the termination of processes in response to a shutdown command |
CN104239093A (zh) * | 2014-08-28 | 2014-12-24 | 广州金山网络科技有限公司 | 一种通知栏消息清除方法及装置 |
CN107390999A (zh) * | 2017-08-31 | 2017-11-24 | 珠海市魅族科技有限公司 | 应用程序操作方法及装置、计算机装置及可读存储介质 |
CN107885545A (zh) * | 2017-10-31 | 2018-04-06 | 广东欧珀移动通信有限公司 | 应用管理方法、装置、存储介质及电子设备 |
CN108093129A (zh) * | 2017-12-05 | 2018-05-29 | 广东小天才科技有限公司 | 移动终端的应用程序通知处理方法、装置、终端及介质 |
CN109960901A (zh) * | 2017-12-14 | 2019-07-02 | 北京京东尚科信息技术有限公司 | 桌面应用风险评价、控制的方法、系统、设备和存储介质 |
CN108519916A (zh) * | 2018-04-16 | 2018-09-11 | 努比亚技术有限公司 | 终端清理进程的处理方法、移动终端及可读存储介质 |
CN110830468A (zh) * | 2019-11-05 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 基于跨应用的权限管理方法、装置及计算机可读存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099757A (zh) * | 2020-09-21 | 2020-12-18 | 珠海格力电器股份有限公司 | 一种应用保活的方法以及装置 |
CN114531497A (zh) * | 2020-10-30 | 2022-05-24 | 华为技术有限公司 | 一种tcp保活方法、装置及系统 |
CN112256354A (zh) * | 2020-11-25 | 2021-01-22 | Oppo(重庆)智能科技有限公司 | 应用启动方法、装置、存储介质及电子设备 |
CN112256354B (zh) * | 2020-11-25 | 2023-05-16 | Oppo(重庆)智能科技有限公司 | 应用启动方法、装置、存储介质及电子设备 |
CN113407300A (zh) * | 2021-05-21 | 2021-09-17 | 荣耀终端有限公司 | 应用误杀评估方法及相关设备 |
CN114089877A (zh) * | 2021-11-30 | 2022-02-25 | 深圳Tcl新技术有限公司 | 应用控制方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111596971B (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111596971B (zh) | 应用清理方法、装置、存储介质及电子设备 | |
EP3680761B1 (en) | Notification display method and terminal | |
WO2020108085A1 (zh) | 资源配置方法、装置、终端及存储介质 | |
JP4897837B2 (ja) | ユーザインターフェースコンポーネントをワイヤレスデバイスにダウンロードするシステムおよび方法 | |
EP2699029B1 (en) | Method and device for providing a message function | |
CN111767554B (zh) | 屏幕分享方法、装置、存储介质及电子设备 | |
CN109416652B (zh) | 应用数据的共享方法、装置和终端设备 | |
US11204681B2 (en) | Program orchestration method and electronic device | |
CN107846511A (zh) | 一种接入移动广告的方法、终端及计算机可读存储介质 | |
CN113268212A (zh) | 投屏方法、装置、存储介质及电子设备 | |
CN106484262A (zh) | 一种分身应用的生成方法、装置及终端 | |
CN108829456A (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
WO2019061495A1 (zh) | 一种消息的处理方法及装置 | |
CN109814801A (zh) | 应用登录方法、装置、终端及存储介质 | |
CN112214653B (zh) | 字符串识别方法、装置、存储介质及电子设备 | |
CN118519553A (zh) | 应用数据的处理方法、装置和终端设备 | |
CN112653670A (zh) | 业务逻辑漏洞检测方法、装置、存储介质以及终端 | |
US20170161047A1 (en) | Electronic device and method for improviing installation speed of theme package | |
CN110557499B (zh) | 信息处理方法、装置及移动终端 | |
CN112817498A (zh) | 应用权限管理方法、装置、存储介质以及终端 | |
CN111918386A (zh) | 定位方法、装置、存储介质及电子设备 | |
CN108647070B (zh) | 信息提醒方法、装置、移动终端和计算机可读介质 | |
CN112256354B (zh) | 应用启动方法、装置、存储介质及电子设备 | |
CN113950043B (zh) | 通信方法、装置、存储介质以及终端 | |
CN115379005A (zh) | 一种消息处理方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |