一种阻断安卓系统中应用相互唤醒启动的方法技术方案

技术编号:15624739 阅读:159 留言:0更新日期:2017-06-14 06:05
本发明专利技术公开了一种阻断安卓系统中应用相互唤醒启动的方法,包括如下步骤:根据数据收集规则采集通过服务、内容提供者以及广播接收者这三种启动模式进行的异常启动行为,并将异常启动行为列表更新至远程服务器;定期对采集的异常启动行为进行分析,得到各应用程序对应的相互唤醒异常组件,并将对应列表更新至远程服务器;当应用程序安装时,对各应用程序进行体检,禁用相应的互相唤醒异常组件,当应用程序运行时,根据情况恢复相互唤醒异常组件或者是清理应用程序不必要的进程。本发明专利技术可以有效节约CPU资源,提高手机电池的续航能力。

【技术实现步骤摘要】
一种阻断安卓系统中应用相互唤醒启动的方法
本专利技术涉及安卓系统中对应用的控制方法,尤其涉及一种阻断应用相互唤醒自行启动的方法。
技术介绍
随着智能手机的发展,手机上的应用程序(简称应用)越来越多,各个应用程序协助人们完成各种工作生活的事项,提供了极大的便利。但是,智能手机的硬件的发展速度相比而言,有些跟不上软件的更新、扩大发展速度,因此,目前手机耗电、卡顿的原因之一,是部分耗电应用处于启动状态在后台频繁调度CPU导致不必要的功耗和内存占用。目前安卓系统共有4中启动类型,分别为:Activity活动启动,Activity本身有界面的意思,该类型启动时用户可以看到界面出现,比如桌面上点开一个应用就可以打开对应应用界面;Service服务启动,后台相互唤醒启动主要通过该类型进行启动,比如有些应用后台通过Service偷偷上传或下载数据,由于不需要任何界面让用户看到,蒙蔽用户而偷偷运行的行为;ContentProvider内容提供者启动,例如同一家公司研发的多个应用程序APP通过内部协商制定一个数据访问的接口,这样该公司的多个应用程序就可以通过内容提供者启动实现跨进程的相互访问数据了。通过调用该数据访问接口,就可以启动该公司下的所有已装在用户手机上的应用,该方式非常隐蔽主要是进行数据交互使用;BroadCastRecevier广播接收者启动,当应用程序想在开机时进行自启动,可以通过注册广播接收者对应的开机广播实现开机自启动功能。如图1所示,上述4种启动中,Activity活动启动属于用户行为,而其他三种启动均非用户行为,都有被软件发布者不当利用而消耗手机资源的隐患。
技术实现思路
本专利技术为了解决现有技术中存在的问题,提出了一种阻断安卓系统中应用相互唤醒启动的方法,包括如下步骤:步骤1,在服务、内容提供者以及广播接收者这三种启动模式的入口设置采集点;步骤2,根据数据收集规则采集通过三种启动模式进行的异常启动行为,并将异常启动行为列表更新至远程服务器;步骤3,定期对采集的异常启动行为进行分析,得到各应用程序对应的相互唤醒异常组件,并将各应用程序对应的相互唤醒异常组件列表更新至远程服务器;步骤4,当应用程序安装时,对各应用程序的组件进行检测,根据所述应用程序对应的相互唤醒异常组件列表禁用相应的组件;步骤5,当应用程序运行时,判断所述应用程序的运行是否为用户主动点击启动;若是,根据所述应用程序对应的相互唤醒异常组件列表恢复被禁用的组件;若否,则清理所述应用程序对应的进程。本专利技术通过收集Service\ContentProvider\BroadCastRecevier3种类型启动的行为数据,同时将将应用异常启动行为按期上传大数据服务器,并制定针对性规则,由服务器不定时推送更新的相互唤醒规则,来对一些用户暂时不需要用到的,或者是一些违规的启动进行禁止,减轻了CPU的负担,防止WiFi/Gps/Gprs的后台额外被使用,同时减少屏幕绘制事件的次数,因为后台应用的每个弹出消息,都需要调度屏幕绘制并显示。同时杜绝了应用后台偷偷运行行为和阻断应用之间相互启动行为,减少系统内存占用和系统内大量后台应用运行造成的发热,功耗现象,并且提高了手机电池的续航能力。附图说明图1为现有技术中应用程序唤醒启动的触发源及危害示意图;图2为本专利技术采集异常行为数据的流程图;图3为本专利技术的应用体检流程图;图4为本专利技术监控及阻断应用相互唤醒的流程图。具体实施方式下面结合附图对本专利技术的原理及方法进行详细说明。本专利技术阻断安卓系统中应用相互唤醒启动的方法,主要有三大步骤,第一大步骤是收集应用程序的异常启动行为,并形成大数据,第二大步骤是基于异常启动行为的大数据进行分析,得到相互唤醒异常组件,第三大步骤则是根据相互唤醒异常组件在应用安装和运行时进行相应的阻断及控制。如图2所示,收集应用程序的异常启动行为,需要在服务、内容提供者以及广播接收者这三种启动模式的入口设置采集点,根据数据收集规则确定异常启动行为并进行相应的收集,本实施例中,数据收集规则为当启动发起源Src(例如A进程),通过一个具体的启动动作启动被启动对象Dest(例如B进程),即获取A进程某个动作Aciton启动了B进程这个行为,我们还可以继续收集发生这个行为的时间和出现次数统计。将这些信息整理为异常启动行为列表,并将异常启动行为列表更新至远程服务器。经过时间和收集广度的积累,将会在远程服务器中,形成关于异常启动行为的大数据,基于该大数据,定期对采集的异常启动行为进行分析,得到各应用程序对应的相互唤醒异常组件,并将各应用程序对应的相互唤醒异常组件列表更新至远程服务器。如图3所示,当应用程序安装时,对各应用程序的组件进行检测,根据应用程序对应的相互唤醒异常组件列表禁用相应的组件。通过在安装时对应用程序进行体检,将应用每个组件信息与远程服务器中的唤醒策略(应用程序对应的相互唤醒异常组件列表)进行配对,若属于唤醒策略规则的组件,会被禁用并保存相互唤醒组件数据库。该步骤也可以等同功能阉割理解,相当于应用安装完成后其中解锁启动、网络变化启动、广告推送启动的功能将被禁用,即阉割掉,但是应用本身主要的功能却不会受到任何影响。因此,通过应用体检的应用一些相互唤醒的行为将被得到有效的预防。具体的,通过大数据分析发现,Service,ContentProvider,BroadCastRecevier3种类型的异常启动的现象有共同点,因此根据实际收集到的数据分别进行如下规则制定,当然这些规则不是一成不变的,会随着大数据的不断更新而更新和加强。限制BroadCastRecevier广播类型启动的规则可以如下:当一个应用在手机安装完成后,我们可以进行“应用体检”,若是应用包含的广播组件中含有开启启动、解锁、网络变化、推送等功能时,我们会禁用该组件并更新至应用程序对应的相互唤醒异常组件列表中。限制Service服务类型启动的规则可以如下:当一个应用在手机安装完成后,我们可以进行“应用体检”,若是应用包含的服务组件中含推送、同步、唤醒等功能时,其中对应推送功能的服务组件我们甚至研究了市面上23家主流推送公司的SDK并按实际情况调整规则,我们会禁用该组件并更新至应用程序对应的相互唤醒异常组件列表中。限制ContentProvider数据交互类型启动的规则可以如下:由于该数据交互类型启动比较特殊,我们一般通过收集的信息会进行专项分析进行专项规则建立,保证确实只是后台唤醒启动特性的才会被禁用该组件并更新至应用程序对应的相互唤醒异常组件列表中。上述规则的建立是根据实际应用后台相互唤醒的的现象进行收集和分析而得到,本领域技术人员可以根据具体的情况进行相应的调整和变更。如图4所示,当应用程序安装以后,还需要实时动态监控应用启动状态,当一个应用启动时,可以根据启动类型判断是否用户主动点击启动还是后台启动。若是用户主动点击启动,根据应用程序对应的相互唤醒异常组件列表恢复被禁用的组件;若否,则需要判定是否属于允许后台运行的白名单应用,若是运行后台运行的白名单应用,则根据应用程序对应的相互唤醒异常组件列表恢复被禁用的组件;若是既不是用户点击也不是白名单应用,那么清理应用程序对应的进程,防止其后台悄悄运行,同时也节省了相应的CPU及内存空间。以本文档来自技高网
...
一种阻断安卓系统中应用相互唤醒启动的方法

【技术保护点】
一种阻断安卓系统中应用相互唤醒启动的方法,其特征在于,包括如下步骤:步骤1,在服务、内容提供者以及广播接收者这三种启动模式的入口设置采集点;步骤2,根据数据收集规则采集通过三种启动模式进行的异常启动行为,并将异常启动行为列表更新至远程服务器;步骤3,定期对采集的异常启动行为进行分析,得到各应用程序对应的相互唤醒异常组件,并将各应用程序对应的相互唤醒异常组件列表更新至远程服务器;步骤4,当应用程序安装时,对各应用程序的组件进行检测,根据所述应用程序对应的相互唤醒异常组件列表禁用相应的组件;步骤5,当应用程序运行时,判断所述应用程序的运行是否为用户主动点击启动;若是,根据所述应用程序对应的相互唤醒异常组件列表恢复被禁用的组件;若否,则清理所述应用程序对应的进程。

【技术特征摘要】
1.一种阻断安卓系统中应用相互唤醒启动的方法,其特征在于,包括如下步骤:步骤1,在服务、内容提供者以及广播接收者这三种启动模式的入口设置采集点;步骤2,根据数据收集规则采集通过三种启动模式进行的异常启动行为,并将异常启动行为列表更新至远程服务器;步骤3,定期对采集的异常启动行为进行分析,得到各应用程序对应的相互唤醒异常组件,并将各应用程序对应的相互唤醒异常组件列表更新至远程服务器;步骤4,当应用程序安装时,对各应用程序的组件进行检测,根据所述应用程序对应的相互唤醒异常组件列表禁用相应的组件;步骤5,当应用程序运行时,判断所述应用程序的运行是否为用户主动点击启动;若是,根据所述应用程序对应的相互唤醒异常组件列表恢复被禁用的组件;若否,则清理所述应用程序对应的进程。2.如权利要求1所述的阻断安卓系统中应用相互唤醒启动的方法,其特征在于,所述数据收集规则为各应用程序中启动发起源进程通过...

【专利技术属性】
技术研发人员:黄子恺苏华治
申请(专利权)人:硕诺科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1