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

  • 时间:
  • 浏览:0

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

不需要 不需要 App须要注册絮状的后台服务,那先 后台服务会消耗额外的资源和电量

安卓系统的后台机制

你这个人先来谈谈安卓的后台机制,这可不须要让你这个人更清晰地得知为啥流氓App为啥容易驻留在后台。安卓是一有多少 多基于Linux的操作系统,或者其后台机制也和Linux同类——一般情况下,返回桌面时tcp连接运行之不需要 不需要 会退出后台,不需要 不需要 在后台持续运行,当系统须要更多资源的刚刚,相应的tcp连接运行才会被请出去。

安卓并须要随便清理后台的tcp连接运行运行的,在安卓系统中,App分为Foreground_App(前台应用)、Visiable_App(可见应用)、Secondary_App(二级应用)、Hidden_App(隐藏应用)、Content_Provider(内容提供器)、Empty_App(空应用)等情况。当内存匮乏的刚刚,系统会优先终止Empty_Apptcp连接运行运行和服务,将内存释放出去;内存再次吃紧,就刚刚结束了了对Content_Provider动手脚了,以此类推。或者,越重要的tcp连接运行运行会越得到保留,越无关重要的tcp连接运行运行会越被优先清理出内存,这方案乍看之下没啥问提。

安卓把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,会老是运行,tcp连接运行运行不需要被随便清理掉。于是流氓App就在这方面动歪脑筋了,某流氓App会在设置一有多少 多1像素大小的透明悬浮窗,用户是看只能的,但这悬浮窗的确发生。App退到后台后,肯能有悬浮窗的发生,tcp连接运行运行也得以保留。

你这个 土方法也肯能被Google所察觉,在新版的安卓系统以及不需要 不需要 第三方ROM中,App肯可不须要随便申请到悬浮窗的权限。

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

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

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

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

安卓6.0引入的Doze模式,旨在让App统一唤醒,但之不需要 不需要 能彻底正确处理问提

流氓App驻留后台技巧:tcp连接运行运行相互唤醒

除了利用安卓系统的唤醒机制,流氓App们还可不须要利用tcp连接运行运行来相互唤醒。一方面,流氓App可不须要在后台注册多个tcp连接运行运行,就算某个tcp连接运行运行被干掉,也可不须要用你这个tcp连接运行运行来唤醒——肯能你仔细观察,可不须要发现不需要 不需要 App须要后台注册了不止一有多少 多tcp连接运行运行,为的不需要 不需要 不断唤醒;个人面,流氓App们还可不须要抱团相互唤醒!当你开启了A应用后,它的tcp连接运行运行肯能会唤醒B应用,B应用的tcp连接运行运行接而又会唤醒C应用,你这个 “链式唤醒”在国内的App中尤为常见,令人防不胜防。

用绿色守护能观察到不需要 不需要 App须要由你这个App唤醒的

“链式唤醒”这麼 常见,是有愿因的。肯能Google服务的缺失,不需要 不需要 国内App为了实现推送和广告等功能,不得不使用你这个第三方的SDK。那先 第三方的SDK往往就会让App抱团唤醒,不少App真是你后该 耍流氓,但用了那先 第三方SDK,不需要 不需要 得不变流氓。当然,正确处理土方法还是有的,有心的开发者可不须要在使用流氓SDK的刚刚,接入Project Condom你这个 开源库(点此进入Github主页),正确处理“链式唤醒”。

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

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

这应该不需要 不需要 终极的大招了!肯能流氓App并是否就和ROM有勾结,这App无疑就获得了最高通行权,无论咋样不需要 不需要 会被干掉。同类,你多会儿看多过原生安卓会干掉Google Play(别说Play服务不流氓)?国内的一堆ROM不需要 不需要 会干掉自家的流氓推送服务,还得靠推送来卖广告呢。

面对你这个 情况,用户基本上是无能为力的。或许基于AOSP的第三方ROM可不须要正确处理问提,但并须要所有设备须要条件刷机。

总结

实际上,安卓的生态肯能近似于恶性循环,流氓App们不断找土方法驻留后台,而各种ROM为了对付流氓App,对后台限制又日益收紧,这令安卓渐渐缺失了最初的卖点。为此,业界也在想土方法正确处理流氓App的问提,同类须要开发者提出了Android绿色应用公约(点此查看),国内也打算联合开发者们建立统一的App推送机制,减少App后台驻留的必要性,希望安卓的生态最终还是可不须要这麼 好吧。