時間:2019-11-30 來源:互聯網 瀏覽量:
當你看到可用內存很多,但是手機還會卡頓的時候,不要詫異哦。這是因為你看到的是文件頁數據+空閑內存的總和,並非完全空閑的內存。
當數據太多完全空閑的內存不足時,就需要回收了。由於匿名頁數據是程序運行時產生的臨時變量數據,一旦回收(清除)無法找回,所以采用數據壓縮的方式節省內存空間。而文件頁數據多數是硬盤數據的備份,扔了就完事了,因此首當其衝被回收~
為什麼剩餘內存很多,手機還是會卡頓?那是因為,數據回收是!有!開!銷!的!如果被回收的文件很快被二次用到,就需要重新從硬盤讀取,這個開銷(IO:Input/Output)可不小。
就像你去銀行貸款,利息就是IO開銷。貸(回收)的越多IO開銷越大,如果還不上,輕則拆東牆補西牆(影響別的程序執行)。重則資金鏈斷裂,導致係統卡頓。
那,為什麼不通過匿名頁壓縮的方式回收呢?因為太耗費CPU、太費電了。照這樣說,內存管理豈不是無解了?
智能內存管理引擎 PROMM,給你最優解EMUI10 智能內存管理引擎 PROMM (Pattern Reflected Optimization Memory Management),在夾縫中尋求最優解:
1.動態調節內存回收機製,平衡文件頁與匿名頁數據回收比例。
2.建立內存行為模型,針對不同的應用提供精準的供給。
3.提供冷熱數據解析功能,將長期未使用的數據進行聚攏,並剔除內存。
4.在線自學習的文件預讀機製,以最小的代價,完成文件頁數據高速加載。
綜上,在硬件內存配置降低場景下,也能提供流暢用戶體驗,大幅降低由於內存供給不足或者內存浪費帶來的二次係統性能創傷。讓手機在流暢的道路上一去不複返。