CN106155704A - 一种阻止应用程序相互唤醒的方法和系统 - Google Patents
一种阻止应用程序相互唤醒的方法和系统 Download PDFInfo
- Publication number
- CN106155704A CN106155704A CN201610636227.4A CN201610636227A CN106155704A CN 106155704 A CN106155704 A CN 106155704A CN 201610636227 A CN201610636227 A CN 201610636227A CN 106155704 A CN106155704 A CN 106155704A
- Authority
- CN
- China
- Prior art keywords
- application
- application program
- mutually
- wake
- module
- 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.)
- Pending
Links
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/4401—Bootstrapping
- G06F9/442—Shutdown
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种阻止应用程序相互唤醒的方法和系统,所述系统包括:获取保存模块,用于获取新安装的应用程序的唤醒广播组件信息,并保存到封装于ContentProvider的数据库中;监听模块,用于实时监听系统应用的启动信息,判断是否有应用程序启动;相互唤醒识别模块,用于识别已启用的应用程序是否存在相互唤醒行为;阻止模块,用于将被唤醒的应用程序的应用组件进行禁用,并调用杀进程模块杀死所述被唤醒的应用程序的进程;杀进程模块,用于受阻止模块调用杀死所述被唤醒的应用程序的进程。本发明提供的方法和系统通过强有力的进程管理防止了应用程序相互唤醒行为的发生,减小了移动终端内存占用率,减轻CPU负担,延长移动终端使用寿命,提高了用户体验。
Description
技术领域
本发明涉及移动终端操作系统进程管理领域,尤其涉及一种阻止应用程序相互唤醒的方法和系统。
背景技术
目前百度系、腾讯系、阿里系应用及其他第三方使用推送服务的应用程序,会出现应用相互唤醒的现象。例如,开启百度手机助手,即使之前百度地图、百度音乐、百度浏览器没被打开,但当亮屏解锁后手机上所有的百度系应用在后台全部偷偷自启动了。
这种链式启动方式一般称之为应用程序的相互唤醒,由这种应用程序相互唤醒带来的直接后果就是移动终端内存占用增大,导致移动终端系统运行处理速度降低,通知栏自动推送大量广告消息,由于自动被唤醒的应用消耗移动终端电池电量导致电量消耗快,应用程序频繁唤醒CPU,给CPU带来很大负担,严重影响了用户体验,同时折损了移动终端使用寿命。
发明内容
本发明的目的是针对上述现有技术存在的缺陷,提供一种阻止应用程序相互唤醒的方法和系统。
本发明提供的阻止应用程序相互唤醒的方法,包括:
获取新安装的应用程序的唤醒广播组件信息,并保存到封装于ContentProvider的数据库中;
实时监听系统应用程序的启动信息,判断是否有应用程序启动;
若有应用程序启动,则判断已启动应用程序是否存在相互唤醒行为,若存在,则将被唤醒的应用程序的应用组件进行禁用并杀死所述被唤醒的应用程序的进程。
所述方法具体包括以下步骤:
步骤1.查找应用启动入口函数,使用ContentProvider的存储数据接口保存应用启动信息,使用ContentProvider机制完成监听注册,实时监听应用启动信息,若应用启动信息发生变化,则监听到有应用启动,并通过ContentProvider的获取数据接口获取所述应用的启动信息;
步骤2.通过相互唤醒识别模块识别已启动应用是否存在相互唤醒行为,若存在,则将被唤醒的应用程序的相互唤醒数据存入数据库;
步骤3.读取数据库中的唤醒广播组件信息将被唤醒的应用组件进行禁用;
步骤4.调用杀进程模块杀死所述被唤醒的应用程序的进程。
进一步地,所述相互唤醒识别模块的识别包括:检测已启动应用的启动信息,若所述已启动应用程序的进程类型为后台进程、启动类型为服务类型且含“push”关键字,则识别为存在相互唤醒行为;否则识别为不存在相互唤醒行为。
进一步地,还包括:用户主动点击打开应用,恢复之前被禁用的应用组件,包括以下步骤:
系统查找被禁用的应用入口函数,若所述应用程序的进程类型为前台进程,即用户点击打开所述应用,且所述应用启动类型为activity,即用户点击恢复启动所述应用,则系统恢复所述应用的应用组件;否则保持禁用。
本发明还提供了一种阻止应用程序相互唤醒的系统,包括:
获取保存模块,用于获取新安装的应用程序的唤醒广播组件信息,并保存到封装于ContentProvider的数据库中;
监听模块,用于实时监听系统应用的启动信息,判断是否有应用程序启动;
相互唤醒识别模块,用于识别已启用的应用程序是否存在相互唤醒行为;
阻止模块,用于将被唤醒的应用程序的应用组件进行禁用,并调用杀进程模块杀死所述被唤醒的应用程序的进程;
杀进程模块,用于受阻止模块调用杀死所述被唤醒的应用程序的进程。
所述监听模块进一步包括:用于查找应用启动入口函数,使用ContentProvider的存储数据接口保存应用启动信息,并使用ContentProvider机制完成监听注册,实时监听应用启动信息,若应用启动信息发生变化,则监听到有应用启动,并通过ContentProvider的获取数据接口获取所述应用的启动信息。
所述相互唤醒识别模块进一步包括:用于检测已启动应用的启动信息,若所述已启动应用程序的进程类型为后台进程、启动类型为服务类型且含“push”关键字,则识别为存在相互唤醒行为;否则识别为不存在相互唤醒行为。
所述阻止模块还包括查找被禁用的应用入口函数,若所述应用程序的进程类型为前台进程且启动类型为activity,则恢复所述应用的应用组件;否则保持禁用。
与现有技术相比,本发明的有益效果是:
(1)通过强有力的进程管理,防止应用程序相互唤醒;
(2)有效控制后台应用,减小内存占用量,防止大量应用同时运行给移动终端带来负担,从而降低移动终端系统运行处理速度;
(3)通过阻止唤醒和杀死进程有效控制后台推送广告服务,防止后台应用不经过允许推送广告消息;
(4)减少应用程序频繁唤醒CPU的行为,减少CPU负担;
(5)使系统轻量级运行,用户可主动对被禁用的应用启动再运行,防止由于应用相互唤醒启动的应用消耗移动终端电量,提高移动终端的续航能力;
(6)提高了用户体验,延长了移动终端使用寿命。
附图说明
图1为本发明方法的阻止应用程序相互唤醒的步骤流程图;
图2为相互唤醒识别模块识别步骤流程图;
图3为本发明方法的恢复被禁用的应用的步骤流程图;
图4为本发明系统功能模块图。
具体实施方式
下面结合附图和实施例对本发明进行详细的说明。
在一实施例中,根据本发明提出的阻止应用程序相互唤醒的系统和方法是基于Android操作系统平台实施的,应用程序为Android系统中的各APP软件等。
本实施例提供的方法包括阻止应用程序相互唤醒和恢复被禁用的应用。
图1是本发明的阻止应用程序相互唤醒的步骤流程图,具体步骤如下:
步骤S101:获取新安装的应用的唤醒广播组件信息,并保存到封装于内容提供器(ContentProvider)的数据库中;
其中,数据库封装于ContentProvider中,为数据库提供ContentProvider接口,用于不同进程之间信息共享;唤醒广播可推送出应用的唤醒状态,即若有应用被唤醒,系统将自动推送一条唤醒广播,而相互唤醒的应用拥有公共相同的广播信号,可通知应用的唤醒服务程序,从而达到相互唤醒的目的。
步骤S102:实时监听系统应用的启动信息,判断是否有应用程序启动;
进一步地,步骤S102具体为:监听模块查找Android系统中所有应用的启动入口函数,使用ContentProvider的存储数据接口保存应用的启动信息,并利用ContentProvider对应用进行监听注册,从而实时监听保存的应用启动信息,若保存的启动信息发生变化,则表示监听到有应用启动,并通过ContentProvider的获取数据接口获取该应用的启动信息,启动相互唤醒识别模块进行下一步骤;若保存的启动信息未发送变化则保持实时监听;
步骤S103:通过相互唤醒识别模块识别已启动应用是否存在相互唤醒行为,若存在,则将被唤醒的应用程序的相互唤醒数据存入数据库;
图2为相互唤醒识别模块识别步骤流程图,进一步地,步骤S103具体为:检测该已启动应用的启动信息,若该应用程序的进程类型为后台进程且启动类型为server(服务)类型且服务组件含“push”关键字,则识别为存在唤醒行为,保存该应用程序的相互唤醒数据到数据库;否则识别为不存在唤醒行为;
其中,应用程序启动类型为server类型且含“push”关键字代表该应用程序为系统自动推送,即为被唤醒的应用程序;
步骤S104:读取数据库中的唤醒广播组件信息将被唤醒的应用组件进行禁用;
进一步地,步骤S104具体为,读取数据库中的唤醒广播组件信息,截断该唤醒广播组件信息在不同应用间的相互传播路径,同时禁用被唤醒的应用组件;
步骤S105:调用杀进程模块杀死所述被唤醒的应用程序的进程。
针对于被禁用的应用程序,可由用户主动手动点击打开被禁用的应用,并恢复被禁用的应用组件。
图3为本发明恢复被禁用的应用步骤流程图,具体包括以下步骤:
系统查找被禁用的应用入口函数,检测该应用的启动信息;
若该应用程序的进程类型为前台进程,即用户点击打开所述应用,且应用启动类型为activity,即用户点击恢复启动所述应用,则读取数据库,进行下一步骤;否则保持禁用状态;
若数据库中存在该应用程序的相互唤醒数据,则恢复启用该应用的应用组件;否则保持禁用状态。
如图4所示,本发明提供的阻止应用程序相互唤醒的系统包括:
获取保存模块401,用于获取新安装的应用程序的唤醒广播组件信息,并保存到封装于ContentProvider的数据库中;
监听模块402,用于实时监听系统应用的启动信息,判断是否有应用程序启动;
相互唤醒识别模块403,用于识别已启用的应用程序是否存在相互唤醒行为;
阻止模块404,用于将被唤醒的应用程序的应用组件进行禁用,并调用杀进程模块杀死所述被唤醒的应用程序的进程;
杀进程模块405,用于受阻止模块调用杀死所述被唤醒的应用程序的进程。
其中,监听模块402进一步包括:用于查找应用启动入口函数,使用ContentProvider机制的存储数据接口保存应用启动信息,并利用ContentProvider机制完成监听注册,实时监听保存的应用启动信息,若保存的启动信息发生变化,则监听到有应用启动,并通过ContentProvider机制的获取数据接口获取所述应用的启动信息。
相互唤醒识别模块403进一步包括:用于查找所述已启动的应用入口函数,若所述应用程序的进程类型为后台进程且启动类型为server类型且含“push”关键字,则识别为存在相互唤醒行为;否则识别为不存在相互唤醒行为。
阻止模块404还包括查找被禁用的应用入口函数,若所述应用程序的进程类型为前台进程且启动类型为activity,则恢复所述应用的应用组件;否则保持禁用。
本发明提供的阻止应用程序相互唤醒的方法和系统通过强有力的进程管理,防止了应用相互唤醒的行为;有效控制后台应用占用率,防止大量应用同时运行给移动终端带来负担;通过阻止唤醒和杀死进程有效控制后台推送广告服务,防止后台应用不经过允许推送广告消息;减少应用程序频繁唤醒CPU的行为,减少CPU负担;使系统轻量级运行,用户主动使用再运行,防止过多的偷偷启动的应用后台耗电,提高手机的续航能力。
上述实施例仅用于说明本发明的具体实施方式。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和变化,这些变形和变化都应属于本发明的保护范围。
Claims (8)
1.一种阻止应用程序相互唤醒的方法,其特征在于,包括:
获取新安装的应用程序的唤醒广播组件信息,并保存到封装于ContentProvider的数据库中;
实时监听系统应用程序的启动信息,判断是否有应用程序启动;
若有应用程序启动,则判断已启动应用程序是否存在相互唤醒行为,若存在,则将被唤醒的应用程序的应用组件进行禁用并杀死所述被唤醒的应用程序的进程。
2.如权利要求1所述的方法,其特征在于,具体包括以下步骤:
步骤1.查找应用启动入口函数,使用ContentProvider的存储数据接口保存应用启动信息,使用ContentProvider机制完成监听注册,实时监听应用启动信息,若应用启动信息发生变化,则监听到有应用启动,并通过ContentProvider的获取数据接口获取所述应用的启动信息;
步骤2.通过相互唤醒识别模块识别已启动应用是否存在相互唤醒行为,若存在,则将被唤醒的应用程序的相互唤醒数据存入数据库;
步骤3.读取数据库中的唤醒广播组件信息将被唤醒的应用组件进行禁用;
步骤4.调用杀进程模块杀死所述被唤醒的应用程序的进程。
3.如权利要求1所述的方法,其特征在于,所述相互唤醒识别模块的识别包括:检测已启动应用的启动信息,若所述已启动应用程序的进程类型为后台进程、启动类型为服务类型且含“push”关键字,则识别为存在相互唤醒行为;否则识别为不存在相互唤醒行为。
4.如权利要求1所述的方法,其特征在于,还包括:用户主动点击打开应用,恢复之前被禁用的应用组件,包括以下步骤:
系统查找被禁用的应用入口函数,若所述应用程序的进程类型为前台进程,即用户点击打开所述应用,且所述应用启动类型为activity,即用户点击恢复启动所述应用,则系统恢复所述应用的应用组件;否则保持禁用。
5.一种阻止应用程序相互唤醒的系统,其特征在于,包括:
获取保存模块,用于获取新安装的应用程序的唤醒广播组件信息,并保存到封装于ContentProvider的数据库中;
监听模块,用于实时监听系统应用的启动信息,判断是否有应用程序启动;
相互唤醒识别模块,用于识别已启用的应用程序是否存在相互唤醒行为;
阻止模块,用于将被唤醒的应用程序的应用组件进行禁用,并调用杀进程模块杀死所述被唤醒的应用程序的进程;
杀进程模块,用于受阻止模块调用杀死所述被唤醒的应用程序的进程。
6.如权利要求5所述的系统,其特征在于,所述监听模块进一步包括:用于查找应用启动入口函数,使用ContentProvider的存储数据接口保存应用启动信息,并使用ContentProvider机制完成监听注册,实时监听应用启动信息,若应用启动信息发生变化,则监听到有应用启动,并通过ContentProvider的获取数据接口获取所述应用的启动信息。
7.如权利要求5所述的系统,其特征在于,所述相互唤醒识别模块进一步包括:用于检测已启动应用的启动信息,若所述已启动应用程序的进程类型为后台进程、启动类型为服务类型且含“push”关键字,则识别为存在相互唤醒行为;否则识别为不存在相互唤醒行为。
8.如权利要求5所述的系统,其特征在于,所述阻止模块还包括查找被禁用的应用入口函数,若所述应用程序的进程类型为前台进程且启动类型为activity,则恢复所述应用的应用组件;否则保持禁用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610636227.4A CN106155704A (zh) | 2016-08-05 | 2016-08-05 | 一种阻止应用程序相互唤醒的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610636227.4A CN106155704A (zh) | 2016-08-05 | 2016-08-05 | 一种阻止应用程序相互唤醒的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106155704A true CN106155704A (zh) | 2016-11-23 |
Family
ID=57329179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610636227.4A Pending CN106155704A (zh) | 2016-08-05 | 2016-08-05 | 一种阻止应用程序相互唤醒的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106155704A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106817414A (zh) * | 2017-01-12 | 2017-06-09 | 硕诺科技(深圳)有限公司 | 一种阻断安卓系统中应用相互唤醒启动的方法 |
CN107071871A (zh) * | 2017-02-10 | 2017-08-18 | 广州优视网络科技有限公司 | 一种唤醒应用的方法和装置 |
CN109522178A (zh) * | 2018-09-21 | 2019-03-26 | 苏州蜗牛数字科技股份有限公司 | 一种监控应用程序自动启动的方法 |
WO2019061331A1 (zh) * | 2017-09-29 | 2019-04-04 | 深圳传音通讯有限公司 | 禁止应用程序相互唤醒的方法、设备以及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123162A (zh) * | 2014-07-29 | 2014-10-29 | 北京奇虎科技有限公司 | 控制应用程序自启的方法及装置 |
CN104462980A (zh) * | 2014-12-30 | 2015-03-25 | 北京奇虎科技有限公司 | 一种应用程序权限管理的方法、装置、系统及移动终端 |
CN104462978A (zh) * | 2014-12-24 | 2015-03-25 | 北京奇虎科技有限公司 | 一种应用程序权限管理的方法和装置 |
CN104462952A (zh) * | 2014-12-31 | 2015-03-25 | 北京奇虎科技有限公司 | 一种禁止应用自启动的方法及装置 |
-
2016
- 2016-08-05 CN CN201610636227.4A patent/CN106155704A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123162A (zh) * | 2014-07-29 | 2014-10-29 | 北京奇虎科技有限公司 | 控制应用程序自启的方法及装置 |
CN104462978A (zh) * | 2014-12-24 | 2015-03-25 | 北京奇虎科技有限公司 | 一种应用程序权限管理的方法和装置 |
CN104462980A (zh) * | 2014-12-30 | 2015-03-25 | 北京奇虎科技有限公司 | 一种应用程序权限管理的方法、装置、系统及移动终端 |
CN104462952A (zh) * | 2014-12-31 | 2015-03-25 | 北京奇虎科技有限公司 | 一种禁止应用自启动的方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106817414A (zh) * | 2017-01-12 | 2017-06-09 | 硕诺科技(深圳)有限公司 | 一种阻断安卓系统中应用相互唤醒启动的方法 |
CN107071871A (zh) * | 2017-02-10 | 2017-08-18 | 广州优视网络科技有限公司 | 一种唤醒应用的方法和装置 |
WO2019061331A1 (zh) * | 2017-09-29 | 2019-04-04 | 深圳传音通讯有限公司 | 禁止应用程序相互唤醒的方法、设备以及可读存储介质 |
CN109522178A (zh) * | 2018-09-21 | 2019-03-26 | 苏州蜗牛数字科技股份有限公司 | 一种监控应用程序自动启动的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104221445B (zh) | 一种唤醒终端系统的方法及终端 | |
CN103324500B (zh) | 一种回收内存的方法及装置 | |
US20160048682A1 (en) | Method and Apparatus for Clearing Malicious Power-Consuming Application, and User Terminal | |
CN106155704A (zh) | 一种阻止应用程序相互唤醒的方法和系统 | |
CN106055073B (zh) | 一种基于亮屏锁的处理方法和装置 | |
CN104267799B (zh) | 一种网络服务器、处理电子设备耗电的方法及系统 | |
CN104166542A (zh) | 检测应用耗电的方法和装置 | |
CN106020415B (zh) | 智能设备待机状态下的应用控制方法及装置 | |
CN105677477A (zh) | 一种优化应用程序资源的方法、装置及电子设备 | |
CN107426800B (zh) | 降低终端功耗的方法、装置和智能卡 | |
CN106060909A (zh) | 一种网络连接方法及移动终端 | |
CN105955444A (zh) | 对齐唤醒方法及装置 | |
CN106844655A (zh) | 信息处理方法、装置和计算机设备 | |
CN104038632A (zh) | 一种智能终端管理方法及装置 | |
CN104750589B (zh) | 一种存储器参数调节方法及移动终端 | |
CN102591680A (zh) | 一种自动删除与卸载软件关联文件的方法 | |
CN106708616A (zh) | 进程控制方法和进程控制装置 | |
CN111309562A (zh) | 服务器故障的预测方法、装置、设备和存储介质 | |
CN109241031A (zh) | 模型生成方法、模型使用方法、装置、系统及存储介质 | |
CN103902011A (zh) | 电子设备控制方法及电子设备 | |
CN104063316B (zh) | 一种应用的测试方法及装置 | |
CN107222612A (zh) | 一种移动终端的后台应用程序关闭方法及装置 | |
CN105354491B (zh) | 智能终端待机状态检测方法及装置 | |
CN105554104B (zh) | 根据gps卫星数目关闭程序在后台运行的方法及装置 | |
CN105138372A (zh) | 一种基于Android系统的后台服务管控系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161123 |
|
RJ01 | Rejection of invention patent application after publication |