Android应用的内存管理,android 版本对内存容量需求( 二 )


安卓手机多大内存才不卡顿?

Android应用的内存管理,android 版本对内存容量需求


文/小伊评科技这里先要解释一下安卓为什么会卡,以及和内存之间的关系 。安卓为什么会卡,最主要的因素就是因为安卓系统的内存垃圾回收机制的影响 。什么是垃圾回收机制,简单来说就是当系统检测到内存容量不足以支撑某一个应用的时候,他就会从内存中将其他的进程逐一地清除掉,从而保证当前应用的使用状态,这也就是JAVA的GC机制,安卓的应用层就是Java 。
那么这样做的好处是什么?好处就是只要处于后台没有被杀掉的进程全部都是活跃的进程,他们哪怕不在前台也依旧可以正常地保持网络的连接等,这一点和IOS是有本质的区别的,IOS是没有后台这一说的,所有没有处在前台的应用都会处于非活跃状态,手机的内存实际上都是主要供应前台的一个软件,这也就是为什么iPhone 到目前为止依旧只有4G运存的原因(iPhone13的普通版和MINI版都是4G内存)我可以举一个最典型的例子,IOS在全屏打游戏的时候,如果你下滑进入快捷控制页面,当前游戏的网络就会短暂地断开,你进去之后会有半秒左右的重新加载的时间 。
而安卓就不会出现这样的问题,哪怕你把这个应用切出去也一样不会有任何问题,网络连接依旧可以保持 。这也就是真假后台这个说法的源头 。但是安卓的这个机制也会带来一个明显的弊端——卡顿 。当安卓系统检测到系统中的空域内存不足以支撑用户正在进行的操作的时候,就会对内存中已有的进程进行回收销毁(也就是杀后台),这个时候就会牵扯到内存的操作,而这个时候用户的任务也在进行内存的操作,再加上安卓系统的应用程序本身就不是直接跑在系统上而是跑在虚拟机上,无法做到实时的内存回收,在这种高并发的场景,卡顿的问题就出现了 。
这也就解释了为什么在打开多个应用之后,手机会明显变卡的原因,简单来说就是因为频繁的对内存进行读写导致,此外在加上闪存随机读写性能不足,应用生态的混乱无序,流氓软件常驻后台等诸多因素的共同影响,最终就会导致系统的卡顿和卡死 。那么想要解决这个问题的一个最直接的方式就是增加手机的运行内存,让其能够同时容纳足够多的进程,这样就可以在很大程度上降低出现卡顿的风险 。
所以,想要手机不那么快地出现卡顿,配备大容量的内存当然是最佳的选择 。另外,现阶段手机厂商为了从系统层面降低对于内存并发的需求,也是开发出了很多的手段,就拿VIVO家的Origin OS来说,为了解决安卓长久以来的卡顿的问题,就掏出了三种手段——“内存融合”,“进程优化”和“应用预加载”其中内存融合就很类似于Windows系统上的虚拟内存,就是将闪存空间中的一部分划归给运存使用,但是VIVO的这个内存融合技术也不仅仅只是简简单单的划拨融合,而是通过AI算法的方式,判断哪些应用的哪几个进程是不重要的,然后把这些进程放置在读写速度稍差一些的闪存空间当中,从而实现在不影响用户体验的基础上减少对原始运存的占用,减少触发系统回收机制的频率,从而降低卡顿的出现 。
而进程优化,就是指通过算法,对系统常驻的进程进行管控,降低系统对于内存的占用,从而降低系统出现并发冲突的几率 。至于最后的一个应用预加载技术,就是根据用户的使用习惯,优先的将用户常用的APP从闪存中提前内置到运存当中,从而实现快速的打开,提升流畅度 。VIVO的这个做法也代表了当下安卓手机厂商对于解决安卓系统卡顿的一个主流的方向 。

推荐阅读