[發(fā)明專利]應(yīng)用于瀏覽器的內(nèi)存管理方法、裝置、終端及存儲介質(zhì)有效
| 申請?zhí)枺?/td> | 201810990014.0 | 申請日: | 2018-08-28 |
| 公開(公告)號: | CN109117274B | 公開(公告)日: | 2021-03-09 |
| 發(fā)明(設(shè)計)人: | 趙劍萍 | 申請(專利權(quán))人: | OPPO廣東移動通信有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京三高永信知識產(chǎn)權(quán)代理有限責(zé)任公司 11138 | 代理人: | 牟慧仙 |
| 地址: | 523860 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 應(yīng)用于 瀏覽器 內(nèi)存 管理 方法 裝置 終端 存儲 介質(zhì) | ||
1.一種應(yīng)用于瀏覽器的內(nèi)存管理方法,其特征在于,所述方法包括:
當(dāng)獲取到對應(yīng)于所述瀏覽器的運行指令時,獲取運行所述瀏覽器的終端的內(nèi)存信息,所述內(nèi)存信息用于指示內(nèi)存大??;
根據(jù)所述終端的內(nèi)存信息確定所述瀏覽器的運行方式;
在所述瀏覽器運行之前,將所述終端的操作系統(tǒng)的內(nèi)存分配方式調(diào)整為自定義的內(nèi)存分配方式;
注冊內(nèi)存處理回調(diào)函數(shù);
按照所述瀏覽器的運行方式運行所述瀏覽器;
在所述瀏覽器的運行過程中,監(jiān)測所述操作系統(tǒng)向所述瀏覽器分配內(nèi)存是否失敗;
當(dāng)監(jiān)測到所述操作系統(tǒng)向所述瀏覽器分配內(nèi)存失敗時,通過所述內(nèi)存處理回調(diào)函數(shù)向所述瀏覽器發(fā)送分配失敗通知,所述分配失敗通知用于指示所述操作系統(tǒng)向所述瀏覽器分配內(nèi)存失?。?/p>
釋放所述瀏覽器的冗余內(nèi)存;
根據(jù)所述瀏覽器的運行方式對所述瀏覽器中的目標(biāo)對象進行重啟處理;
其中,所述根據(jù)所述內(nèi)存信息確定所述瀏覽器的運行方式,包括:當(dāng)所述終端的內(nèi)存信息所指示的內(nèi)存大小大于第一門限時,確定所述瀏覽器的運行方式為多進程方式;當(dāng)所述終端的內(nèi)存信息所指示的內(nèi)存大小小于第二門限時,確定所述瀏覽器的運行方式為單進程多線程方式;其中,所述第一門限大于所述第二門限;
當(dāng)所述瀏覽器的運行方式為多進程方式時;所述根據(jù)所述瀏覽器的運行方式對所述瀏覽器中的目標(biāo)對象進行重啟處理,包括:對所述瀏覽器的目標(biāo)進程進行重啟處理,所述目標(biāo)進程是除所述瀏覽器的主進程之外的其它進程;
當(dāng)所述瀏覽器的運行方式為單進程多線程方式時;所述根據(jù)所述瀏覽器的運行方式對所述瀏覽器中的目標(biāo)對象進行重啟處理,包括:對所述瀏覽器的目標(biāo)線程進行重啟處理,所述目標(biāo)線程是除所述瀏覽器的主線程之外的其它線程。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述冗余內(nèi)存包括以下一項或多項的組合:瀏覽器內(nèi)核所占用的內(nèi)存、在圖片解碼過程中所產(chǎn)生的內(nèi)存、腳本所占用的內(nèi)存、層疊樣式表CSS所占用的內(nèi)存、在腳本解析過程中所產(chǎn)生的內(nèi)存、圖形處理器GPU所占用的內(nèi)存。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述瀏覽器的運行方式對所述瀏覽器中的目標(biāo)對象進行重啟處理之前,還包括:
檢測釋放所述瀏覽器的冗余內(nèi)存的釋放次數(shù)是否小于預(yù)設(shè)次數(shù);
若所述釋放次數(shù)不小于所述預(yù)設(shè)次數(shù),則執(zhí)行所述根據(jù)所述瀏覽器的運行方式對所述瀏覽器中的目標(biāo)對象進行重啟處理的步驟。
4.一種應(yīng)用于瀏覽器的內(nèi)存管理裝置,其特征在于,所述裝置包括:
瀏覽器運行模塊,用于當(dāng)獲取到對應(yīng)于所述瀏覽器的運行指令時,獲取運行所述瀏覽器的終端的內(nèi)存信息,所述內(nèi)存信息用于指示內(nèi)存大??;根據(jù)所述終端的內(nèi)存信息確定所述瀏覽器的運行方式;在所述瀏覽器運行之前,將所述終端的操作系統(tǒng)的內(nèi)存分配方式調(diào)整為自定義的內(nèi)存分配方式;注冊內(nèi)存處理回調(diào)函數(shù);按照所述瀏覽器的運行方式運行所述瀏覽器;
內(nèi)存監(jiān)測模塊,用于在所述瀏覽器的運行過程中,監(jiān)測所述操作系統(tǒng)向所述瀏覽器分配內(nèi)存是否失敗;
內(nèi)存釋放模塊,用于當(dāng)監(jiān)測到所述操作系統(tǒng)向所述瀏覽器分配內(nèi)存失敗時,通過所述內(nèi)存處理回調(diào)函數(shù)向所述瀏覽器發(fā)送分配失敗通知,所述分配失敗通知用于指示所述操作系統(tǒng)向所述瀏覽器分配內(nèi)存失??;釋放所述瀏覽器的冗余內(nèi)存;
重啟處理模塊,用于根據(jù)所述瀏覽器的運行方式對所述瀏覽器中的目標(biāo)對象進行重啟處理;
其中,所述瀏覽器運行模塊,用于:當(dāng)所述終端的內(nèi)存信息所指示的內(nèi)存大小大于第一門限時,確定所述瀏覽器的運行方式為多進程方式;當(dāng)所述終端的內(nèi)存信息所指示的內(nèi)存大小小于第二門限時,確定所述瀏覽器的運行方式為單進程多線程方式;其中,所述第一門限大于所述第二門限;
當(dāng)所述瀏覽器的運行方式為多進程方式時;所述重啟處理模塊,用于:對所述瀏覽器的目標(biāo)進程進行重啟處理,所述目標(biāo)進程是除所述瀏覽器的主進程之外的其它進程;
當(dāng)所述瀏覽器的運行方式為單進程多線程方式時;所述重啟處理模塊,用于:對所述瀏覽器的目標(biāo)線程進行重啟處理,所述目標(biāo)線程是除所述瀏覽器的主線程之外的其它線程。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于OPPO廣東移動通信有限公司,未經(jīng)OPPO廣東移動通信有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810990014.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





