“為什麼手機記憶體還有很多,手機還是會卡?”很多人都有到這樣的困惑。今天,我們就從記憶體的角度和大家聊一聊。
01 揭穿可用記憶體很多的“假象”當你看到可用記憶體很多,但是手機還會卡頓的時候,不要詫異哦。這是因為你看到的是檔案頁資料+空閒記憶體的總和,並非完全空閒的記憶體。
*記憶體資料包含2個方面:檔案頁資料和匿名型別資料。
檔案頁資料:影音圖片、檔案(包括程式執行檔案)匿名型別資料:程式執行過程中產生的臨時變數數 (如聊天記錄、連結等)當資料太多完全空閒的記憶體不足時,就需要回收了。由於匿名頁資料是程式執行時產生的臨時變數資料,一旦回收(清除)無法找回,所以採用資料壓縮的方式節省記憶體空間。而檔案頁資料多數是硬碟資料的備份,扔了就完事了,因此首當其衝被回收~
02 為什麼剩餘記憶體很多,手機還是會卡頓?那是因為,資料回收是!有!開!銷!的!如果被回收的檔案很快被二次用到,就需要重新從硬碟讀取,這個開銷(IO:Input/Output)可不小。
就像你去銀行貸款,利息就是IO開銷。貸(回收)的越多IO開銷越大,如果還不上,輕則拆東牆補西牆(影響別的程式執行)。重則資金鍊斷裂,導致系統卡頓。
那,為什麼不通過匿名頁壓縮的方式回收呢?因為太耗費CPU、太費電了。照這樣說,記憶體管理豈不是無解了?
03 智慧記憶體管理引擎 PROMM,順勢而生EMUI 10 智慧記憶體管理引擎 PROMM (Pattern Reflected Optimization Memory Management),在夾縫中尋求最優解:
動態調節記憶體回收機制,平衡檔案頁與匿名頁資料回收比例。
建立記憶體行
為模型,針對不同的應用提供精準的供給。
提供冷熱資料解析功能,將長期未使用的資料進行聚攏,並剔除記憶體。
線上自學習的檔案預讀機制,以最小的代價,完成檔案頁資料高速載入。
綜上,在硬體記憶體配置降低場景下,也能提供流暢使用者體驗,大幅降低由於記憶體供給不足或者記憶體浪費帶來的二次系統性能創傷。讓手機在流暢的道路上一去不復返。
最新評論