[發(fā)明專利]內(nèi)存回收方法及裝置、計(jì)算機(jī)裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)有效
| 申請(qǐng)?zhí)枺?/td> | 201710719984.2 | 申請(qǐng)日: | 2017-08-21 |
| 公開(公告)號(hào): | CN108228343B | 公開(公告)日: | 2020-11-17 |
| 發(fā)明(設(shè)計(jì))人: | 鐘斌;陳乾 | 申請(qǐng)(專利權(quán))人: | 珠海市魅族科技有限公司 |
| 主分類號(hào): | G06F9/50 | 分類號(hào): | G06F9/50;G06F12/02 |
| 代理公司: | 深圳市賽恩倍吉知識(shí)產(chǎn)權(quán)代理有限公司 44334 | 代理人: | 孫芬 |
| 地址: | 519085 廣東*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 內(nèi)存 回收 方法 裝置 計(jì)算機(jī) 可讀 存儲(chǔ) 介質(zhì) | ||
本發(fā)明提供一種內(nèi)存回收方法及內(nèi)存回收裝置,所述內(nèi)存回收方法包括:接收內(nèi)存回收請(qǐng)求,并查詢?cè)L問磁盤的隊(duì)列管道的當(dāng)前狀態(tài);判斷所述隊(duì)列管道的當(dāng)前狀態(tài)是否滿足預(yù)設(shè)條件;若所述隊(duì)列管道的當(dāng)前狀態(tài)滿足預(yù)設(shè)條件,則將所述內(nèi)存回收請(qǐng)求加到所述隊(duì)列管道中進(jìn)行排隊(duì),以響應(yīng)所述內(nèi)存回收請(qǐng)求并將其對(duì)應(yīng)的待回收的進(jìn)程的內(nèi)存數(shù)據(jù)寫入到磁盤中進(jìn)行保存。本發(fā)明提供的內(nèi)存回收方法在進(jìn)行內(nèi)存回收之前,根據(jù)訪問磁盤的隊(duì)列管道的當(dāng)前狀態(tài)決定是否響應(yīng)內(nèi)存回收請(qǐng)求,從而能夠有效避免在內(nèi)存回收時(shí)出現(xiàn)的磁盤訪問的壓力過大、系統(tǒng)卡頓等問題,并能夠有效提升用戶的使用體驗(yàn)。
技術(shù)領(lǐng)域
本發(fā)明涉及內(nèi)存管理技術(shù)領(lǐng)域,尤其涉及一種內(nèi)存回收方法及裝置、計(jì)算機(jī)裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù)
本部分旨在為權(quán)利要求書及具體實(shí)施方式中陳述的本發(fā)明的實(shí)施方式提供背景或上下文。此處的描述不因?yàn)榘ㄔ诒静糠种芯统姓J(rèn)是現(xiàn)有技術(shù)。
在各種操作系統(tǒng)中,用戶在打開某個(gè)應(yīng)用程序后,該應(yīng)用程序會(huì)占用系統(tǒng)內(nèi)存,即使該應(yīng)用程序被切換到后臺(tái)運(yùn)行,仍會(huì)占用一定的系統(tǒng)內(nèi)存。若用戶打開的應(yīng)用程序過多,則占用的系統(tǒng)內(nèi)存也越多,而系統(tǒng)內(nèi)存占用越多,應(yīng)用程序運(yùn)行速度越慢,甚至造成死機(jī)現(xiàn)象。解決上述問題的一個(gè)方法是增加系統(tǒng)內(nèi)存,但這將帶來硬件成本的提高,因此,內(nèi)存管理技術(shù)應(yīng)運(yùn)而生。內(nèi)存管理技術(shù)是指應(yīng)用程序運(yùn)行時(shí),對(duì)系統(tǒng)內(nèi)存資源的分配和使用的技術(shù),其主要的目的是如何高效、快速的分配內(nèi)存資源,并且在適當(dāng)?shù)臅r(shí)候釋放和回收內(nèi)存資源。
當(dāng)在應(yīng)用程序中打開了一個(gè)文件,且回收的文件頁面是被修改過的文件頁面或匿名頁面時(shí),目前的內(nèi)存回收方案中是通過將該頁面的內(nèi)存數(shù)據(jù)寫入到磁盤保存,然后釋放這部分內(nèi)存給其它應(yīng)用程序使用,當(dāng)再次執(zhí)行該應(yīng)用程序時(shí),重新把該應(yīng)用程序的數(shù)據(jù)從磁盤中加載到內(nèi)存中重新運(yùn)行。由于磁盤的讀寫速度要比內(nèi)存的讀寫速度慢許多,系統(tǒng)把內(nèi)存中的數(shù)據(jù)寫到磁盤或者從磁盤加載數(shù)據(jù)到內(nèi)存中都是比較耗時(shí)的操作,當(dāng)多個(gè)應(yīng)用程序?qū)Υ疟P進(jìn)行操作時(shí),就會(huì)出現(xiàn)競(jìng)爭(zhēng)卡死的問題,所以系統(tǒng)在設(shè)計(jì)之初,設(shè)計(jì)了一個(gè)隊(duì)列管道,該隊(duì)列管道把所有應(yīng)用程序?qū)Υ疟P操作的請(qǐng)求按照先后順序進(jìn)行訪問。
例如圖1所示,當(dāng)程序A和程序B都要訪問磁盤時(shí),系統(tǒng)會(huì)根據(jù)這兩個(gè)程序的優(yōu)先級(jí),先后地進(jìn)行訪問。如果在同一時(shí)刻系統(tǒng)出現(xiàn)多個(gè)進(jìn)程訪問磁盤的時(shí)候,該隊(duì)列管道內(nèi)就會(huì)在短時(shí)間內(nèi)塞滿大量的請(qǐng)求,此時(shí)在請(qǐng)求中的進(jìn)程只能等待磁盤的訪問,這過程中不會(huì)影響任務(wù)的外部請(qǐng)求,這樣就會(huì)導(dǎo)致系統(tǒng)出現(xiàn)卡頓,而在內(nèi)存回收時(shí),則會(huì)加重這種現(xiàn)象,從而降低了用戶體驗(yàn)。
發(fā)明內(nèi)容
鑒于此,有必要提供一種內(nèi)存回收方法及裝置、計(jì)算機(jī)裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),以解決內(nèi)存回收時(shí)出現(xiàn)的系統(tǒng)卡頓的問題,并能夠提升用戶的使用體驗(yàn)。
本發(fā)明實(shí)施例一方面提供一種內(nèi)存回收方法。所述內(nèi)存回收方法包括:
接收內(nèi)存回收請(qǐng)求,并查詢?cè)L問磁盤的隊(duì)列管道的當(dāng)前狀態(tài);
判斷所述隊(duì)列管道的當(dāng)前狀態(tài)是否滿足預(yù)設(shè)條件;
若所述隊(duì)列管道的當(dāng)前狀態(tài)滿足預(yù)設(shè)條件,則將所述內(nèi)存回收請(qǐng)求加到所述隊(duì)列管道中進(jìn)行排隊(duì),以響應(yīng)所述內(nèi)存回收請(qǐng)求并將其對(duì)應(yīng)的待回收的進(jìn)程的內(nèi)存數(shù)據(jù)寫入到磁盤中進(jìn)行保存。
進(jìn)一步的,本發(fā)明實(shí)施例提供的上述內(nèi)存回收方法中,所述內(nèi)存回收方法還包括:
若所述隊(duì)列管道的當(dāng)前狀態(tài)不滿足預(yù)設(shè)條件,則中止所述內(nèi)存回收請(qǐng)求,并放棄回收所述內(nèi)存回收請(qǐng)求對(duì)應(yīng)的待回收的進(jìn)程的內(nèi)存數(shù)據(jù)。
進(jìn)一步的,本發(fā)明實(shí)施例提供的上述內(nèi)存回收方法中,所述判斷所述隊(duì)列管道的當(dāng)前狀態(tài)是否滿足預(yù)設(shè)條件包括:
查詢當(dāng)前所述隊(duì)列管道中的內(nèi)存回收請(qǐng)求對(duì)應(yīng)的進(jìn)程中具有最高優(yōu)先級(jí)的進(jìn)程;
判斷所述具有最高優(yōu)先級(jí)的進(jìn)程是否為桌面進(jìn)程;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于珠海市魅族科技有限公司,未經(jīng)珠海市魅族科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710719984.2/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





