通信世界网消息(CWW) 偶吧欧尼代言的三星大屏不到一天就没电怎么办思密达?智能手机的电量问题越来越成为手机使用中的瓶颈。你可知道,手机掉电快的元凶正是手机软件自启,关掉的应用抓住一切机会默默自启,努力刷存在感。不光耗你的电量、偷你的流量、卡你的手机甚至还半夜推送通知,最近处女座伤不起的技术帝默策,熬夜狂测防自启软件,容不得一个耗电APP后台运行,寻找让手机省电大招,下面就献上默策大牛的吐血巨作,还原手机费电真相:
科普:这些情况都是手机软件自启
作为手机达人的你,以下的情况肯定遇到过:
场景一 :手机刚刚开机,某视频软件就立即弹出通知栏,XXX电视剧第4季已更新(开机自启)
用户独白:奇怪,我刚开机还没有启动你,你就能给我发通知了?
场景二: 深更半夜,昏睡弥留之际,手机突然发出类似短信或者微信的提示音,暗自窃喜,哪个MM这么晚想我了。打开手机一看,某某购物,8折促销。
(后台运行,夜间骚扰)
用户独白:靠~~玩我呢吧,大半夜的谁买你的破东西啊,失望。
场景三: 手机收到提示信息,XX软件新版本已经为您下载完毕,是否立即安装?
用户独白:尼玛,我的流量啊,谁让你更新的?我都半年没用过你了,你怎么自己就下载更新了,更新个毛啊。(后台运行,消耗流量)
场景四: 早上拿着刚刚充满电的手机去上班,挤上了地铁,心想慢慢上班路,唯有游戏可以解忧,你准备玩会《Dota传奇》,于是掏出手机,好烫啊,解锁屏幕,不是吧,还剩20%的电量,太坑爹了,副本还没下呢,打开正在运行的应用程序一看吓一跳,大量的后台运行程序还在运行中。(后台运行,大量消耗电量)
当安卓手机刚刚重启之后,或者安卓手机联网状态发生切换之后,又或者手机使用了很久一直没有重启过的时候,你会发现手机后台有很多应用,根本就不是你主动运行的,这些应用软件,在手机后台偷偷摸摸的运行着,有的表现在通知栏弹广告推送,有的则在后台大量消耗数据流量、手机电量,有的还会在深夜打搅用户。
揭秘:手机软件自启原理
大家都会想知道,这些软件不是我主动运行的,到底是如何自己运行起来的呢?接下来我们将简单讲讲软件自启的方式和原理。
以下内容有些偏技术,读起来可能有些晦涩,还请耐心拜读。
不过在介绍之前,先要铺垫一下:Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器,每个组件都是可以实现自启的,那么自启的方式也就有以下4种方式:
1、 通过打开activity,实现自启
2、 通过广播实现自启
3、 通过服务实现自启
4、 通过Content provider实现自启
方式1,打开activity实现自启,某程序通过运行一段命令,通过直接打开指定应用的activity的方式来实现。例如很多程序当手机连上电脑后,某些应用就直接被运行起来了。
举例:通过运行adb shell am start com.sina.weibo/.MainTabActivity
微博就可以被运行起来了。
方式2,通过广播实现自启,这种方式是目前最普遍的,也是使用最多的实现自启的方式,当目标应用通过对指定的广播注册了receiver,该广播触发后,注册了该广播的应用就会被唤醒并运行起来,从而实现了自启。
具体点说,系统重启后会发送一条系统广播给所有的应用,该广播名称为android.intent.action.BOOT_COMPLETED。有些应用注册了该广播的receiver,当应用收到了这条广播后,就会自动运行起来。
举例:确保手机上的WEIBO应用处于未运行的状态,(在设置的应用程序管理中停止微博)运行以下命令。
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n com.sina.weibo/.BootCompletedReceiver
这时候你会发现微博应用已经在后台被运行起来了。
方式3,通过服务实现自启,这种方式也很普遍,与第二种类似,也是在manifest里面定义了服务,当这服务被运行后,相应的进程也会被运行起来。
举例:确保手机上的WEIBO应用处于未运行的状态,(在设置的应用程序管理中停止微博)运行以下命令。
amstartservice -n com.sina.weibo/.business.WeiboService
你会发现微博应用也已经在后台被运行起来了。
方式4,通过注册Content provider实现自启。也就是说,应用自己本身注册了provider,当其他应用需要调用这个provider的时候,这个应用自己也就被运行起来了,从而实现了自启。例如手机淘宝应用就注册了如下provider
com.taobao.tao.proxy.TBLocationContentProviderProxy
当这个provider被其他应用调用的时候,手机淘宝也会自动运行起来
支招:多款工具帮你手机防自启
我们简单介绍了实现自启的方式,那么我们有没有办法去控制那些我们并不希望自动运行起来的应用,不去自启呢?答案是肯定的,目前很多安全类和工具类的应用实现了对应用自启的拦截。下面我们介绍一下这些工具。
这些工具主要包括
LBE安全大师
360手机卫士极客版
金山手机毒霸
百度卫士
腾讯管家等等
LBE的自启管理
百度手机卫士的自启管理
360 手机卫士极客版(原360手机杀毒)的自启管理
腾讯手机管家的自启管理
金山手机毒霸的自启管理
竞赛:寻找最爽防自启软件
接下来大家可能会问,介绍了这些款软件都有禁止自启的功能,是不是随便装哪款都可以呢?哪款软件效果更好呢?小编推荐安装哪款呢?总不能同时都装了吧。接下来,小编将为您进行更加详细的逐一评测。
评测环境:三星NOTE3(N9002),安卓4.3
测试策略:选择了29款使用量比较大的应用进行逐一的单品对比,验证自启拦截成功率以及是否影响正常的手动运行。
测试方法:开启各安全软件的禁止自启功能后,对目标程序设置为禁止自启,再通过adb shell am startservice 和adb shell am broadcast命令去模拟广播和服务,触发各个待测应用程序注册的广播和服务,从而实现自启的目的。
验证方法:查看运行中的应用程序(包括缓存的应用程序)是否存在哪些被禁止自启的应用程序。如果有则视为拦截失败,如果没有则视为拦截成功。并且多次尝试后给出结论,避免测试错误导致数据不正确。
结果一目了然。所有软件都不会影响应用的主动正常运行。拦截成功率最高的显而易见是360手机卫士极客版,而且就目前为止,360手机卫士极客版是唯一一款支持服务方式(service)自启拦截的安全软件,拦截称功率也是最高的,禁用了这些自启软件,手机跟新系统一样流畅,并且更加省电!
下载地址:
http://msoftdl.360.cn/360antivirus/360AntiVirus_offical.apk
|