关于安卓的后台,也是受到不少人诟病的。当安卓后台应用一多,就会十分卡顿。
因为应用运行是要消耗硬件资源的,不论前台和后台,不知道大家有没有这样的感受呢?
在以前500MB内存的时代,或许我们没有明显地感受到,但在安卓进入1G、2G内存的时代,这遭人诟病的弊端就暴露出来了,也就是后台杀不死,杀死后自启动,一个应用拖好几条进程,一条进程又有好几项服务!
这要说不卡,那不是睁眼说瞎话吗~
另外,安卓跟iOS是不一样的,简单来说,安卓分为 “运行” 和 “停止”,iOS 分为 “前台” 和 “冻结”。
iOS应用留后台但不运行,只有前台应用能运行。如此一来,它就可以做到打开应用时秒开了。而安卓就不是这样的了,它会一直占用着后台的内存,不管你是在运行还是停止了这个应用。
但为了不让内存爆满死机,安卓后台有一个名为lmk的机制。
要知道,lmk 对每个应用状态都有对应数值。当剩余内存大小达到数值时,lmk 就会杀掉对应状态的应用,以释放内存。若杀掉应用,剩余内存仍然不足,便会继续杀掉上一个状态级别的应用,以此类推。
如果现状得不到缓解,就很有可能会一直杀到前台应用,紧接着你正在运行的应用就莫名闪退了!
于是,为了避免遇到这样的状况,很多朋友会在手机上安装加速APP,它有着一个特殊的权限,通过执行系统命令来清除后台应用,简单粗暴地杀死内存中的常驻进程来回收内存。
但从Android 14开始,一键加速的APP就要受到限制了,只能清除自己的后台进程,不再能够清除其它 App 的后台进程。
那么换个角度思量,也就说多个APP在后台打架争抢内存的情况就不再发生了。
在Android 14 DP2 的描述文档中,安卓表示应用程序不应该用某些方式去影响其他应用程序的进程。
如果一键加速的APP随意清除其他APP的进程,可能就会出现降低系统性能等情况。
那么从Android 14开始,我们只有拥有KILL_ALL_BACKGROUND_PROCESSES这一个新权限,才有资格杀死其他应用的后台进程。
关于这,大家有什么看法呢?
运存小的就墓碑机制跟ios一样冻结,运存大的就随便你。