时间:2019-11-30 来源:互联网 浏览量:
当你看到可用内存很多,但是手机还会卡顿的时候,不要诧异哦。这是因为你看到的是文件页数据+空闲内存的总和,并非完全空闲的内存。
当数据太多完全空闲的内存不足时,就需要回收了。由于匿名页数据是程序运行时产生的临时变量数据,一旦回收(清除)无法找回,所以采用数据压缩的方式节省内存空间。而文件页数据多数是硬盘数据的备份,扔了就完事了,因此首当其冲被回收~
为什么剩余内存很多,手机还是会卡顿?那是因为,数据回收是!有!开!销!的!如果被回收的文件很快被二次用到,就需要重新从硬盘读取,这个开销(IO:Input/Output)可不小。
就像你去银行贷款,利息就是IO开销。贷(回收)的越多IO开销越大,如果还不上,轻则拆东墙补西墙(影响别的程序执行)。重则资金链断裂,导致系统卡顿。
那,为什么不通过匿名页压缩的方式回收呢?因为太耗费CPU、太费电了。照这样说,内存管理岂不是无解了?
智能内存管理引擎 PROMM,给你最优解EMUI10 智能内存管理引擎 PROMM (Pattern Reflected Optimization Memory Management),在夹缝中寻求最优解:
1.动态调节内存回收机制,平衡文件页与匿名页数据回收比例。
2.建立内存行为模型,针对不同的应用提供精准的供给。
3.提供冷热数据解析功能,将长期未使用的数据进行聚拢,并剔除内存。
4.在线自学习的文件预读机制,以最小的代价,完成文件页数据高速加载。
综上,在硬件内存配置降低场景下,也能提供流畅用户体验,大幅降低由于内存供给不足或者内存浪费带来的二次系统性能创伤。让手机在流畅的道路上一去不复返。