#卡顿这件“小”事
手机,为啥会卡顿?
这个问题相信d都有不少自己的看法,毕竟换手机的原因千千万,系统卡顿占一半。
谁也不希望咱们在寒风中打开镜头拍摄或者扫码,结果需要白白等待个几十秒的情况发生吧。
造成系统卡顿,有两大根本性原因:
其一便是设备本身:硬件是有极限的。
这几年安卓机器的内存容量可以说是在不断变多,从 8G、12G、一直飙升到 16G 的都有。
容量变大确实能带来不错的体验,但是如果内存本身比较小,就更依赖于软件调教。
举个例子,咱们平常说的手机内存空间就好像是一个市区里最繁华的十字路口,而路上的车辆就是我们系统里流转的内部资源。
但不管咱们多少车道,终归都是比车的数量要少的,车辆数一上来,这十字路口分分钟就塞满了。
这时候如果咱们再打开一个 App,就好像是给堵住的路口再去调配一辆大货车过去一样。
那肯定是没法通过,不卡顿才奇怪呢。
所以,面对着有限的硬件条件,软件优化就成了一个解决问题的重中之重。
但是,软件不是万能的。
对于拥挤的内存十字路口来说,软件就是调度红绿灯的艺术,可再强的调度也有力所不能及的时刻。
这种问题由来已久,有个非常形象的名字 ——锁竞争。
就拿咱们现在用的手机来举个例子,得益于大内存的硬件基础,我们可以在后台同时打开不少应用。
但是对手机系统来说,如何识别这些不同应用之间的优先级,如何保证优先供给这些应用计算资源就成了一个老大难的问题。
这就有点像两车道合并成为一车道,如果没有合适的指挥,那结果就是大眼瞪小眼,大家一起堵在路上。