安卓的后台程序为什么关不掉?如果运行内存大,是不是就不需要关闭了?
相信很多Android的用户也都有过这样的经历,后台程序关闭后,过不了一段时间某个程序就会自动启用,这些自启的程序对于一些有强迫症习惯的用户来说特别难受,那今天小编就借此机会给大家讲一下为什么Android的后台程序关不掉。
关于Android的后台一直关不掉的问题,其实完全是因为Android的广播机制。简单来说,当用户安装某一个程序的时候,系统会像面试官一样把这个程序的功能记录下来,当用户在使用手机时,系统状态的变化会产生各种事件,这些事件需要一些程序来处理的时候,系统会发送广播消息,而这些能处理这件事的程序会被启用,究竟是用哪一个程序,这个是由系统默认的程序或者由用户选择的程序来处理这个事件。
举个例子:就如同你开了一家公司,Android是你的管家,那些程序则是来你这里应聘的职工,管家会记录这些职工的能力,例如A会搓澡,B会大保健。当你想要搓澡的时候,管家会叫A过来帮你搓澡。当你想要大保健的时候,管家会叫B过来给你做个大保健。哪怕这个程序是在休眠中,也会被叫起来。也就是不管你怎么去关闭这些应用程序,当需要它的时候,它就是一颗螺丝钉,哪里需要哪里钉。
当然还有一些你不需要的程序也一直在自启动,这是因为利益的原因,国内的很多流氓软件都改变了自身程序的优先性,外加增加了终止其他程序的权限,还有增加守护进程的功能,当检测到自己人被干掉了,直接一个复活术让这个程序满血满蓝原地复活。而另外一些社交软件则是为了保证能够及时推送消息,也会做出一些优先权的改变。
如果运行内存大,是不是就不需要关闭了?
其实Android系统设计的理念就是要淡化用户对后台的管理,手机资源的分配完全交给系统就可以。Android会设定一个阈值,这个阈值默认设置的非常小,所以我们所看到内存剩余量也会很少,事实上并不会影响手机的速度,而且它有一个自己的规则来回收这些内存,当内存使用达到临界值的时候,再次打开另一个程序系统会选择一些重要性比较低的程序关闭来腾出内存给这个程序运行。
而我们之所以感觉手机在打开某个大型程序会慢的原因就是当你打开这个程序的时候,这个程序会向系统申请内存,由于系统不会关闭所有的进程,只是选择性的去关闭,所以会调动大量的系统资源进行操作,自然也就会拖慢系统。改变系统的阈值会改善很多,但是也可能会带来一些问题。
所以,后台的程序本身就不需要关闭,如果当你运行某个大型程序的时候可以去手动关闭,这样可以显著的提高速度,而平常使用的时候则不需要去管它。至于内存的大小,这个除非你内存大到一定程度,否则你安装N多APP早晚又会达到这个阈值的。
|