因此,当内存不足时,系统会*死当前在内存中的进程,为新的进程腾出空间。系统内核会进行各种测试和检查,来决定哪些进程可以被*掉以释放内存。举个最简单的例子,当你打开微博看了一小会儿后就挂在后台,当手机认为自身内部运存空间已经不够时,就会“*”掉微博来释放内存,从而保证当前打开的应用能够正常运行。
一些流氓软件会“故意”占用安卓机内部的运存,更麻烦的是它们会相互唤醒,并且常驻后台,传统的清后台方法也治不了它。所以我们在安装一些软件的时候一定要看清楚,哪些软件是需要给到自启动权限的,哪一些又是不需要的。
当然也不用太过于担心所剩内存太少,由于安卓特殊的机制,它总会给你提前缓冲一些后台应用,这样做的目的是加快应用下次启动的速度,不必每次运行应用都要等待加载。当你需要开启一个大型应用时,它就会把这些没必要运行的后台应用给踢出去,只要你开的应用数量不多,是不会影响到手机正常使用的,所以用户确实不用太过于在意手机运存只剩多少多少。
小运存的iOS是怎么做到流畅的?
可能有些用户看到这里就会问,为什么隔壁的iOS只有4G运存(最大6G),体验却完全不比12G甚至是16G运存的安卓差多少呢?前文也提到了,安卓系统是基于Linux开发的,而iOS系统是基于unix平台开发,它是一个与硬件分离的软件体系结构,这使得用户在打开应用时不需要额外建立一个虚拟机。同时iOS系统对于后台限制十分严格,并拥有绝对的权限,当用户允许开启时,应用才会运行,互相唤醒程序这种*操作也就不会发生。
还有一个很重要的原因就是iOS是统一由苹果官方服务器来推送消息。比如微信的消息,对方的消息先是要传送到微信服务器上,然后微信服务器再传送到苹果服务器,最后苹果服务器才将消息送至用户手机上,提醒用户某个APP有新的消息,从而不需要后台运行太多程序也能相应的APP通知。
当iOS检测到你当前运行的软件需要更多活跃内存时,系统会选择性地释放掉后台应用所占用的非活跃内存,然后用来提供给当前软件。而这个释放是根据用户的使用习惯而定,比如用户经常用QQ,其次是微信。那么当前台内存不足时系统会优先释放掉微信占用的内存,若还不够才会继续释放QQ所占用的内存。