这些APP到底是如何“赖”在手机后台里不走呢

2024-10-12 12:12:21

1、那么,其实这些APP是如何“赖”在我们的手机后台呢?首先,我们要了解一下,我们安卓手机是怎样的一个后台机制。众所周知,安卓是一种基于Linux的自由及开放源代码的操作系统,其后台机制跟Linux非常相似。所以,当你在应用返回桌面时,一般应用是不会退出的,而是在后台持续运行。只有当系统需要更多的资源的时候,才会被强行关闭。安卓对后台程序则是有一定的清理规则。对所有在后台APP来说,一般会将其分为六种状态,前台应用(Foreground_App)、可见应用(Visiable_App)、二级应用(Secondary_App)、隐藏应用(Hidden_App)、内容提供器(Content_Provider)、空应用(Empty_App)。每当内存不足的时候,系统会优先清除被分为空应用(Empty_App)状态的APP;而内存再次紧缺的时候,系统则会将被分为内容提供器(Content_Provider)状态的APP清除,以此类推。越重要的APP越留到最后才清除,无关紧要的APP则被优先清除。对APP来说,这些规则显然不适用,压根就不遵守规则。安卓系统后台因为存有太多的空间给这些APP“大放异彩”,才算在后面安卓6.0引进的Doze打盹机制和安卓8.0倡导的后台纯净,都无法阻止这些APP。若是没有专门定制APP,这些APP是永远无法被清除。

2、APP是如何“赖”在后台不走呢?1、乱注册状态。这类型的APP会时常让自己保持为前台应用,如App就可以通过startForeground来把自己注册成为前台应用,让自己的后台成为最高优先级,永远不会被系统干掉。不过呢,这种APP一般都会露出马脚,如上图那样,如果某个App乱注册这个状态,通知栏就会显示“XX正在后台运行”。因此,只要看到这个状态,除非是你认为可以的APP,大多数都是APP无疑。2、透明悬浮窗口。在APP悬浮窗上,iOS与安卓的处理方式不同,安卓是允许APP在系统中显示悬浮窗口,能够为用户提供各种实时信息。因为这个悬浮窗一打开,那么就意味着这个APP一直在运行当中。因此,APP的设计者就开始脑洞大开,设置了一个1像素的透明悬浮窗口,平常肉眼很难看到,但确实存在,因此,这样APP在用户“退出”后,还能够保留在后台。3、各种请求唤醒。安卓系统有一个唤醒机制,某些时间、动作、时间都能够触发APP,而这个唤醒机制,却被APP最常运用的一个,比如:闹钟响了,出了系统闹钟以外,APP也来给你提示;连上WiFi后第一时间又给你提示点什么。这样就算你后台关闭了,但是特殊动作又突然给你唤醒起来,永远都清不掉,并且还不断地消耗掉你的电量。4、APP之间相互唤醒。这招,其实就是所谓的“唤醒全家桶系列”。就算你干掉了一个APP,还有千千万万APP帮你唤醒。A倒了B给你唤醒起来,B倒了C就给你唤醒起来,永无止境,这种唤醒一般都被称为“链式唤醒”。这种问题在国内尤其严重,因为缺少了Google服务的缺失,因此实现广告推送就用了不少第三方的SDK。这些SDK就非常喜欢抱团唤醒。5、APP终极“赖皮”招:本身就与第三方ROM勾结。安卓被许多玩机玩家喜欢,是因为其实一款基于Linux的自由及开放源代码的操作系统,吸引了不少第三方软件开发者,非常非常多第三方ROM的诞生。但是呢,这种第三方ROM来历不明,并且我们也不清楚其中ROM自带了些什么软件,因此这类第三方ROM很容易本身自带有某些APP,这种就是压根无法清除了。APP真的防不胜防,无处不在。不过目前行业不少人士已经对此在考虑解决方法,比如目前国内很多知名厂商都打算联合在一起建立统一的推送机制,让安卓的生态越来越好。

猜你喜欢