想知道为什么安卓手机会出现这种情况,为什么iPhone就不卡呢?
安卓为什么卡,原因其实很多方面,并不仅仅因为内存调度问题,但是现在安卓手机其实已经比以前的好用很多了,卡的问题也得到了有效的缓解。
至于以前为什么会卡,我认为主要有以下几点原因:
1.底层内核层面
首先我们要知道,安卓的诞生是为了适应更多变的硬件环境而制造的通用解决方案,只要插桩适配谷歌提供的demo和SDK,就可以拥有自己的智能安卓手机,为了能运行在各种各样的设备(包括老设备和新设备),我们必须使其集成所有的运行库,比如安卓4.4及以下和已上所使用app运行库不一样,但直到安卓6.0发布,系统中还是默认集成运行库的切换选项,提供更大的兼容性。
再比如直到现在为止,安卓的开发者选项仍提供“强制开启GPU渲染”,这一选项,而现在的应用程序早都默认支持了GPU渲染,不取消这个选项,就要加入数以万计的代码,所以本身安卓系统就很臃肿,为提供更多兼容性。
2.系统层面
系统内存和硬盘调度是很重要的一个原因,这里的硬盘也称存储,如今已发展到普遍为emmc 5.1,理论速度很高,但安卓为了保证存储稳定性,实际效率变低,尤其是安卓5.1集成了默认随机加密,严重影响存储性能还关不掉。
早期安卓内存是这样分配的,打开app,就长占有内存,直到内存占满,新的app就会闪退。后来安卓优化了调度方式,最后一个内存不够了就关闭最早的内存占用,但依然表现不佳。新的调度机制开始学习伪后台,app进入后台状态自动释放内存并冻结app,类似于app快照的方式,有很大的提升。
3.硬件层面
这一层也是有很大影响,处理器是整个手机的大脑,(与ios的区别见本号另一篇问答),一旦出现高负荷,cpu处理不过来的时候,手机就会卡顿,卡顿是一种自我保护机制,用于强行统一数据速度,相当于所有任务停止,直到本任务结束或与其他任务到同一水平,这种模式主要是手机处理器arm架构本身在多线程处理上就有弱势,这是无法避免的,只能由cpu供应厂商自己调整。
4.其他
很多人的手机长时间没有重启过,这导致积蓄的系统垃圾很多,手机毛病百出就像一个人一直工作,不能清理一下脑子,自然会出问题。
现在的手机除了CPU和RAM外其他的主板硬件如电阻电容等使用过程中损耗太快了!并且与运行电流和温度有关,如此功耗越高的机器寿命越短
我觉得就是因为安卓系统太开放了,导致一大堆流氓软件入驻了你的系统。很多人又不会搞这些,最多也就是一键清理弄一下,但是这些流氓软件一键清理根本清不掉,后台也是一直占用。时间长了这种垃圾多了,手机自然就很卡了。经常会优化手机的人,手机流畅会保持的更久,不过现在安卓本身也比以前强了,各家的定制系统做的都挺不错的。