无所不用其极!盘点流氓App驻留后台的奇技巧

发布者:幸福满溢最新更新时间:2017-08-26 来源: 太平洋电脑网关键字:Google  Android8.0  Android 手机看文章 扫描二维码
随时随地手机看文章

    和iOS相比,安卓是一个更加开放的平台,带来了更多自由的同时,也容许了更多“法外之地”。App在安卓系统中的限制比iOS更小,这令安卓孕育出了很多流氓App。尽管Google一直尝试对后台增添更多限制、理清安卓的生态,但流氓App们见招拆招,使出了各种丧心病狂的手段来驻留后台。流氓App驻留后台有哪些奇技淫巧?一起来看看吧。

很多App都会注册大量的后台服务,这些后台服务会消耗额外的资源和电量

  安卓系统的后台机制

  我们先来谈谈安卓的后台机制,这可以让我们更清晰地得知为何流氓App为何容易驻留在后台。安卓是一个基于Linux的操作系统,因此其后台机制也和Linux类似——一般情况下,返回桌面时程序并不会推出后台,而是在后台持续运行,当系统需要更多资源的时候,相应的程序才会被请出去。

  安卓并不是随便清理后台的进程的,在安卓系统中,App分为Foreground_App(前台应用)、Visiable_App(可见应用)、Secondary_App(二级应用)、Hidden_App(隐藏应用)、Content_Provider(内容提供器)、Empty_App(空应用)等状态。当内存不足的时候,系统会优先终止Empty_App进程和服务,将内存释放出去;内存再次吃紧,就开始对Content_Provider动手脚了,以此类推。因此,越重要的进程会越得到保留,越无关重要的进程会越被优先清理出内存,这方案乍看之下没啥问题。

安卓把App状态分成不同类型,自动管理后台是否驻留

  然而事情并不尽如人意,流氓App之所以流氓,就是不守规则。安卓系统中留有太多余地让App在后台自由发挥了,就算是Android 6.0引进了Doze打盹机制、Android O倡导后台纯净(Background-free),流氓App们仍能不声不响地在后台龙盘虎踞。如果没有使用特别的杀后台工具或者对后台有特殊限制的ROM,流氓App们甚至能让手机化身续航两小时的暖手宝。

  流氓App驻留后台技巧:乱注册状态

  前面提到,安卓把App分为好几个状态,不过流氓App可不会遵守这些规矩,让后台按照这些状态来运行。例如,流氓App就可以通过startForeground来把自己注册成为前台应用,让自己的后台成为最高优先级,永远不会被系统干掉。

  安卓7.0对很多后台运行的App都在通知栏有公示,后来这些App不得不改变后台驻留的方法

  不过,这个方法已经有了Google官方的应对,在安卓4.3以上的系统中,如果有App乱注册这个状态,通知栏就会显示“XX正在后台运行”。尽管流氓App通过一些手段一度绕了过去,但在安卓7.0中Google封堵了该漏洞。如果你升级到了安卓7.0,某App在通知栏持续显示“XX正在后台运行”,不用怀疑,这就是个流氓App。

  流氓App驻留后台技巧:透明悬浮窗

  这是个脑洞大开的一招,我们知道和iOS不同,App可以在系统中显示悬浮窗,为用户提供各种实时信息。而开了悬浮窗的App,会一直运行,进程不会被随便清理掉。于是流氓App就在这方面动歪脑筋了,某流氓App会在设置一个1像素大小的透明悬浮窗,用户是看不到的,但这悬浮窗的确存在。App退到后台后,由于有悬浮窗的存在,进程也得以保留。

  这个方法也已经被Google所察觉,在新版的安卓系统以及很多第三方ROM中,App已经不能随便申请到悬浮窗的权限。

  流氓App驻留后台技巧:乱请求唤醒

  用过安卓的朋友都知道,流氓App最烦人的一点就在于胡乱自行启动,这和流氓App们胡乱请求唤醒是密不可分的。安卓系统拥有唤醒机制,App可以同某些具体事件,触发特定动作。例如到了时间,App可以触发铃声;又例如连上了网络或者间隔一段时间,App可以触发数据同步动作。这些动作都需要唤醒App才能运行,于是流氓App就把频频使用“Alarm”、“Sync Adapter”等周期性任务唤醒自己,让自己不断在后台启动,这也是很多杀后台App无法彻底干掉流氓App后台进程的原因。

  流氓App通常利用广播接收器触发后台自启动

  对此,Google官方也尝试使用对齐唤醒机制来解决。在安卓6.0中Google引入Doze机制,让后台进程尽量在统一的周期中同时唤醒,使CPU得到尽可能长的休眠时间。不过,这个机制并不够激进,需要手机无操作静止较长时间才会工作,总体而言效果有限。如果用户使用手机频度较大,Doze机制甚至不会生效,流氓App们依然会不断吞噬着手机电量。

安卓6.0引入的Doze模式,旨在让App统一唤醒,但并不能彻底解决问题

  流氓App驻留后台技巧:进程相互唤醒

  除了利用安卓系统的唤醒机制,流氓App们还可以利用进程来相互唤醒。一方面,流氓App可以在后台注册多个进程,就算某个进程被干掉,也可以用其他进程来唤醒——如果你仔细观察,可以发现很多App都在后台注册了不止一个进程,为的就是不断唤醒;另一方面,流氓App们还可以抱团相互唤醒!当你开启了A应用后,它的进程可能会唤醒B应用,B应用的进程接而又会唤醒C应用,这种“链式唤醒”在国内的App中尤为常见,令人防不胜防。

  用绿色守护能观察到很多App都是由其他App唤醒的

  “链式唤醒”如此常见,是有原因的。由于Google服务的缺失,很多国内App为了实现推送和广告等功能,不得不使用一些第三方的SDK。这些第三方的SDK往往就会让App抱团唤醒,不少App其实不想耍流氓,但用了这些第三方SDK,也不得不变流氓。当然,解决方法还是有的,有心的开发者可以在使用流氓SDK的时候,接入Project Condom这个开源库(点此进入Github主页),避免“链式唤醒”。

  Google也知道进程唤醒的问题所在,于是安卓8.0的开发规范要求App一旦进入后台,需要在短时间内停止所有的后台服务,也不可以随便启动新的后台服务。至于这个效果如何,目前安卓8.0尚未普及,还有待观察。

  流氓App驻留后台技巧:沆瀣一气

  这应该就是终极的大招了!如果流氓App本身就和ROM有勾结,这App无疑就获得了最高通行权,无论如何也不会被干掉。例如,你何时看到过原生安卓会干掉Google Play(别说Play服务不流氓)?国内的一堆ROM也不会干掉自家的流氓推送服务,还得靠推送来卖广告呢。

  面对这种情况,用户基本上是无能为力的。或许基于AOSP的第三方ROM可以解决问题,但并不是所有设备都有条件刷机。

  总结

  实际上,安卓的生态已经近似于恶性循环,流氓App们不断找方法驻留后台,而各种ROM为了对付流氓App,对后台限制又日益收紧,这令安卓渐渐缺失了最初的卖点。为此,业界也在想办法解决流氓App的问题,例如就有开发者提出了Android绿色应用公约,国内也打算联合开发者们建立统一的App推送机制,减少App后台驻留的必要性,希望安卓的生态最终还是可以越来越好吧。


关键字:Google  Android8.0  Android 引用地址:无所不用其极!盘点流氓App驻留后台的奇技巧

上一篇:分析称智能手机不会消亡 相反是未来AR发展的必要条件
下一篇:合作伙伴接连退出 微软Hololens还能撑多久?

推荐阅读最新更新时间:2024-05-03 17:06

高通演示基于Snapdragon的Android系统
拉斯维加斯,2009年1月8日——无线技术和数据解决方案厂商美国高通公司今天宣布,将于2009年1月8~11日拉斯维加斯国际消费电子展上首次演示Google Android移动操作系统在Snapdragon™移动计算芯片组上运行。本次演示采用了WVGA清晰度,可以使移动计算终端支持更大的显示屏。此次技术演示突出体现了创新型Android平台与Snapdragon芯片组出色的计算性能、低功耗以及无处不在的连接能力间的紧密集成。 高通CDMA 技术集团负责产品管理的副总裁马克•富兰科表示:“高通公司对Snapdragon平台的愿景重新定义了人们获取信息的方式,这与Android平台的出色性能极为一致。我们非常高兴能够演示运行于Sna
[手机便携]
微软甲骨文苹果诉讼引爆Android专利地雷
      7月15日,Google发布了其营收增长32%、净利增长36%的漂亮财报。其上任不久的CEO拉里·佩奇(Larry Page)不无得意地宣布了其Google+、Chrome浏览器、Android手机系统等多个产品不断飙升的用户数。其中,Google开发的手机操作系统Android长势喜人,“每天激活的Android设备达到55万台,设备激活总数达到1.35亿台”。   然而,树大招风。   以开源、免费示人的Android手机阵营,正遭遇不断曝光的专利“地雷”。   自身Window Phone手机操作系统不温不火的微软,悄然间已从Android获得大笔授权费,HTC每售出一部Android手机,需要向微软缴纳5美元专利
[手机便携]
MIUI10助阵小米发布会 UI界面向Android原生靠拢?
今天MIUI官方微博发布消息:“我是#MIUI10#,我为快过闪电而奋斗。”这是小米官方首次对外曝出MIUI10相关信息。虽然微博内容只有简短一句话,但还是可以从中获取些许有价值的信息。 首先对于此前有关大版本的命名是MIUI10还是MIUI X的猜测,本次官方算是给出了最终答案,大家也不需要再过多猜测。另外,主文案乍一看很像去年MIUI9的slogen“快如闪电”,只是改成了“快过闪电”。这就不难猜测了,显然MIUI0将继续在“快体验”方面下功夫,而且将超越MIUI9,让人期待。 在配图下方的一行小字能够确定,在此次新品发布会上,MIUI10也将作为一大重磅产品亮相,发布会时间为5月31号。 除了图片中的文字信息
[手机便携]
Android十大关键问题:平台分化 升级不畅
   导语:美国IT网站eWeek今天撰文称,虽然Android已经成为全球第一大移动操作系统,但却并不完美,仍然存在很多亟待解决的关键问题。   以下为文章全文:   尽管起初发展有些缓慢,但谷歌Android操作系统还是实现了惊人的成就。根据多家市场研究公司的数据,2010年,该产品已经成为全球最受欢迎的移动操作系统。在可预见的未来,该平台还将继续主导移动市场。包括苹果、RIM和微软在内的其他所有竞争对手都别无选择,必须奋起直追。   考虑到这一点,谷歌现在似乎不必再为移动市场感到担忧,毕竟市场份额越高的企业前景就会越好。而且由于谷歌正在加大广告投入力度,因此有望从中赚取大量收入。   但这并不意味着谷歌And
[手机便携]
Nokia Android 手机曝光 最快2月发表
    Nokia 正在研发 Android 系统的消息从 2013 年12 月就不断传出,手机的外型、系统、UI 等各种信息都很多,科技爆料大神 evleaks 在其 twitter 上公布了 Nokia Normandies 系统智慧型手机的图片,而则正是传说中的 Nokia Android 系统手机。 Evleaks 大神透露 Nokia 的 Andr​​oid 系列智慧型手机分为黑、白、红、蓝、黄、绿六种颜色,肯定会在 2014 年年内上市。网路上曝光的图片来看已经非常接近官方图片,同时设计了多种配色的新机表明 Nokia 的 Normandies 并非像外界传言的只是尝试而已,系统 UI 有别于主流 Android 系统
[手机便携]
Android M测试第二版改进内存管理功能
    Android系统的内存管理一直比较糟糕,泄露问题至今仍然无解。尽管如此,Google在内存查看和管理方面倒是颇为用心,对Android M的第二个预览版又做了大幅度的改进。如今的内存管理页面中,你可以更直观地看到系统平均内存占用量、性能等级、内存总量、平均使用率、剩余空间等指标,还能分3小时、6小时、12小时、1天等不同时间长度来查看。     点击每个应用,也可以单独查看它的内存占用情况。突出显示的是平均值,最大值以小号字跟在下方,还有应用启动频率、进程细节等,更容易发现到底是什么服务和程序在吃内存。强制停止的按钮也被隐藏在菜单。   Google对于系统的易用性改善所
[手机便携]
凯度消费者指数:安卓中国市场份额超87%,华为居首位
根据最近的凯度移动通信消费者指数(Kantar Worldpanel ComTech)的智能手机操作系统数据显示,2017年第一季度,除了中国市场外,苹果在大部分市场保持了同比增长。 iOS的最大增幅出现在英国,占据智能机销售份额的40.4%,增长了5.6个百分点。而在中国市场,iOS的份额下降到了自2014年第二季度以来的最低水平,仅占智能手机销售额的12.4%。凯度移动通信消费者指数消费者洞察总监Lauren Guenveur表示,“安卓继续同比增长,如今占据智能手机销量的87.2%。”从品牌占安卓手机销售的百分比来看,华为在中国城市继续占据主导地位,达到36%,坐稳了中国市场份额第一的位置。 纵观整个中国市场,凯度移动通
[手机便携]
分析称谷歌应效仿iPod Touch开发无合同设备
   导读:美国科技博客Silicon Alley Insider今天撰文称,对于谷歌Android和Palm等智能手机平台厂商而言,不能只着眼于智能手机本身,而应当效仿苹果,开发一款与iPod Touch类似的无合同设备,降低进入门槛,从而吸引更多开发者为其开发应用。      以下为文章全文:      在苹果iPhone应用商店的成功过程中,苹果iPod Touch的地位仍未得到充分认可。但苹果的竞争对手——尤其是谷歌Android的合作伙伴和Palm——应当效仿苹果,生产一款无需签订合同,只能够通过Wi-Fi上网,而且能够运行应用的设备。      原因如下:      1、一款定价合理且性能优异的无合同设备可以提升Andr
[手机便携]
小广播
最新手机便携文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved