專利名稱:一種用于移動通訊設(shè)備終端的內(nèi)存管理方法及其裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動通訊設(shè)備終端技術(shù)領(lǐng)域,特別是一種用于移動通訊設(shè)備終端的內(nèi) 存管理方法及其裝置。
背景技術(shù):
現(xiàn)有的移動通訊設(shè)備終端,內(nèi)存大小不一。低端機器512k,中端1M,高端2M。 由于配置的及其不統(tǒng)一,對移動通訊設(shè)備終端的頁面緩存,頁面瀏覽,造成了很大的壓力, 內(nèi)存管理的不好,會經(jīng)常出現(xiàn)頁面白屏,數(shù)據(jù)加載不全。緩存太少,需要經(jīng)常連網(wǎng)等?,F(xiàn)有的移動通訊設(shè)備終端多數(shù)應(yīng)用Java,Java內(nèi)存分為兩種固態(tài)內(nèi)存和動態(tài)內(nèi) 存。客戶內(nèi)存管理不好就會造成動態(tài)內(nèi)存使用不合理等。因為使用不合理,因此很容易導(dǎo) 致,頁面加載不全,用戶體驗差。由于不能充分的管理好內(nèi)存,因此會造成客戶端頻繁連網(wǎng),造成流量浪費。由于內(nèi)存處理不好,導(dǎo)致內(nèi)存溢出,最終程序崩潰,嚴重影響軟件,以及手機的穩(wěn) 定性,造成用戶體驗差,用戶流失等嚴重后果。
發(fā)明內(nèi)容
本發(fā)明的第一個發(fā)明目的在于提供一種用于移動通訊設(shè)備終端的內(nèi)存管理方法, 以解決現(xiàn)有技術(shù)中對移動通訊設(shè)備終端內(nèi)存管理不足的技術(shù)問題。為了實現(xiàn)本發(fā)明的第一個發(fā)明目的,采用的技術(shù)方案如下
一種用于移動通訊設(shè)備終端的內(nèi)存管理方法,所述移動通訊設(shè)備終端瀏覽訪問頁面, 所述方法包括
移動通訊設(shè)備終端確定系統(tǒng)內(nèi)存上限的上限檢測步驟; 移動通訊設(shè)備終端監(jiān)控內(nèi)存狀態(tài)的內(nèi)存監(jiān)控步驟;
移動通訊設(shè)備終端在監(jiān)控到內(nèi)存不足時,執(zhí)行內(nèi)存回收算法的內(nèi)存回收步驟。作為一種優(yōu)選方案,所述移動通訊設(shè)備終端對所瀏覽頁面設(shè)有對應(yīng)的優(yōu)先級,所 述內(nèi)存回收算法包括如下步驟
(21)移動通訊設(shè)備終端初始化第一優(yōu)先級為最低優(yōu)先級;
(22)移動通訊設(shè)備終端對第一優(yōu)先級對應(yīng)的頁面進行頁面內(nèi)存回收;
(23)移動通訊設(shè)備終端判斷內(nèi)存是否滿足預(yù)先設(shè)定的閾值或者第一優(yōu)先級為最高優(yōu) 先級,如果滿足則返回,否則執(zhí)行步驟(24);
(24 )第一優(yōu)先級遞增,并執(zhí)行步驟(22 )。作為進一步的優(yōu)選方案,所述步驟(22)的具體步驟為
(31)預(yù)先設(shè)定一個閾值;
(32)檢查內(nèi)存是否達到(31)所設(shè)定的閾值,如果達到則返回,否則執(zhí)行步驟(33);
4(33)清除頁面內(nèi)容的圖片數(shù)據(jù)后檢查內(nèi)存是否達到(31)所設(shè)定的閾值,如果達到則返 回,否則執(zhí)行步驟(34);
(34)清除頁面內(nèi)容的文字數(shù)據(jù)后檢查內(nèi)存是否達到(31)所設(shè)定的閾值,如果達到則返 回,否則執(zhí)行步驟(35);
(35)刪除整個頁面并返回。作為再進一步的優(yōu)選方案,所述步驟(31)根據(jù)移動通訊設(shè)備終端的類型設(shè)置對應(yīng) 的閾值。作為一種優(yōu)選方案,所述上限檢測步驟的具體步驟如下
移動通訊設(shè)備終端判斷當前移動通訊設(shè)備終端的系統(tǒng)為固定內(nèi)存或動態(tài)內(nèi)存的內(nèi)存 類型檢測步驟;
對于固定內(nèi)存,移動通訊設(shè)備終端獲取并返回總內(nèi)存大小的固定內(nèi)存檢測步驟; 對于動態(tài)內(nèi)存,采用動態(tài)檢測方式,獲取并返回最大的內(nèi)存可用值的動態(tài)內(nèi)存檢測步
馬聚ο作為進一步的優(yōu)選方案,所述動態(tài)內(nèi)存檢測步驟包括
(61)移動通訊設(shè)備終端向系統(tǒng)請求分配固定內(nèi)存大小的內(nèi)存塊,執(zhí)行步驟(62);
(62)如果系統(tǒng)成功分配,執(zhí)行步驟(61),否則執(zhí)行步驟(63);
(63)返回總內(nèi)存大小,總內(nèi)存大小為固定內(nèi)存大小X系統(tǒng)成功分配次數(shù)。作為再進一步的優(yōu)選方案,所述固定內(nèi)存大小為2M。作為一種優(yōu)選方案,所述內(nèi)存為J2ME程序所分配的內(nèi)存。本發(fā)明的第二個發(fā)明目的在于提供一種用于移動通訊設(shè)備終端的內(nèi)存管理裝置, 以應(yīng)用本發(fā)明第一個發(fā)明目的所提供的內(nèi)存管理方法。為了實現(xiàn)本發(fā)明的第二個發(fā)明目的,采用的技術(shù)方案如下 一種用于移動通訊設(shè)備終端的內(nèi)存管理裝置,所述裝置包括 用于確定系統(tǒng)內(nèi)存上限的上限檢測模塊;
用于監(jiān)控內(nèi)存狀態(tài)的內(nèi)存監(jiān)控模塊; 用于執(zhí)行內(nèi)存回收算法的內(nèi)存回收模塊。作為一種優(yōu)選方案,所述上限檢測模塊包括
用于判斷當前移動通訊設(shè)備終端的系統(tǒng)為固定內(nèi)存或動態(tài)內(nèi)存的內(nèi)存類型檢測子模
塊;
用于獲取并返回固定內(nèi)存總內(nèi)存大小的固定內(nèi)存檢測子模塊; 用于采用動態(tài)檢測方式,對動態(tài)內(nèi)存獲取并返回最大的內(nèi)存可用值的動態(tài)內(nèi)存檢測子 模塊,所述動態(tài)內(nèi)存檢測子模塊通過向系統(tǒng)請求分配固定內(nèi)存大小的內(nèi)存塊,統(tǒng)計并保存 可分配內(nèi)存塊的總大小,以可分配內(nèi)存塊的總大小作為動態(tài)內(nèi)存最大的內(nèi)存可用值; 所述移動通訊設(shè)備終端對所瀏覽頁面設(shè)有對應(yīng)的優(yōu)先級,所述內(nèi)存回收模塊包括 初始化第一優(yōu)先級為最低優(yōu)先級的優(yōu)先級初始化子模塊; 對第一優(yōu)先級對應(yīng)的頁面進行頁面內(nèi)存回收的頁面內(nèi)存回收子模塊; 判斷內(nèi)存是否滿足停止內(nèi)存回收條件或者第一優(yōu)先級為最高優(yōu)先級的停止回收判斷 子模塊;
控制第一優(yōu)先級遞增的遞增子模塊。
本發(fā)明最優(yōu)化的使用內(nèi)存,使用智能內(nèi)存管理算法保證中低端移動通訊設(shè)備的瀏 覽體驗。優(yōu)化緩存技術(shù),盡量緩存多的頁面數(shù)據(jù),減少頻繁連網(wǎng),減少流量,從而減少用戶上 網(wǎng)費用。優(yōu)化動態(tài)內(nèi)存,保證最優(yōu)化的利用動態(tài)內(nèi)存。智能的管理移動通訊設(shè)備終端的內(nèi) 存,保證程序的運行流暢以及手機的穩(wěn)定。保證用戶體驗。
圖1示出了根據(jù)本發(fā)明的一個實施例的用于移動通訊設(shè)備終端的內(nèi)存管理方法 流程圖2為內(nèi)存上限檢測流程圖; 圖3為內(nèi)存回收算法流程圖; 圖4為頁面內(nèi)存回收算法流程圖; 圖5示出了根據(jù)本發(fā)明的一個實施例的內(nèi)存管理裝置。
具體實施例方式下面結(jié)合附圖和具體實施例對本發(fā)明做進一步詳細的說明。圖1示出了根據(jù)本發(fā)明的一個實施例的用于移動通訊設(shè)備終端的內(nèi)存管理方法。如圖1所示,步驟SllO中,移動通訊設(shè)備終端在軟件啟動后,檢測系統(tǒng)內(nèi)存上限。 圖2所示為系統(tǒng)內(nèi)存上限檢測算法的具體步驟
步驟S210,判斷當前移動通訊設(shè)備終端的系統(tǒng)為固定內(nèi)存或動態(tài)內(nèi)存,現(xiàn)有的內(nèi)存多 為動態(tài)內(nèi)存,一般采用固定內(nèi)存的為諾基亞S40系統(tǒng);
步驟S220,判斷為固定內(nèi)存,直接獲取并返回總內(nèi)存大小作為系統(tǒng)內(nèi)存上限; 步驟S230,判斷為動態(tài)內(nèi)存,則向系統(tǒng)請求分配固定內(nèi)存大小的內(nèi)存塊,優(yōu)選地,通過 New的方式向系統(tǒng)請求新建分配固定內(nèi)存大小為2M的內(nèi)存塊;
步驟S240,如果系統(tǒng)成功分配,執(zhí)行步驟S230,否則執(zhí)行步驟S250 ;
步驟S250,返回總內(nèi)存大小作為系統(tǒng)內(nèi)存上限,總內(nèi)存大小=2M X系統(tǒng)成功分配的次數(shù)。通過系統(tǒng)內(nèi)存上限檢測算法計算得到系統(tǒng)內(nèi)存上限后,執(zhí)行步驟S120 ; 步驟S120,啟動內(nèi)存監(jiān)控器;
步驟S130,系統(tǒng)進入監(jiān)控內(nèi)存狀態(tài);
步驟S140,系統(tǒng)執(zhí)行各種操作,包括加載頁面、頁面顯示和各種用戶操作行為; 步驟S150,在系統(tǒng)執(zhí)行各種操作后,檢測系統(tǒng)內(nèi)存,如果系統(tǒng)內(nèi)存不足,則執(zhí)行步驟 S160,否則返回步驟S130,繼續(xù)監(jiān)控內(nèi)存;
步驟S160,在監(jiān)控到內(nèi)存不足時,執(zhí)行內(nèi)存回收算法后執(zhí)行步驟S130繼續(xù)監(jiān)控內(nèi)存; 具體的內(nèi)存回收算法如圖3所示
步驟S310,初始化第一優(yōu)先級為最低優(yōu)先級,并執(zhí)行步驟S320 ; 移動通訊設(shè)備終端對所瀏覽頁面設(shè)有對應(yīng)的優(yōu)先級,在刪除頁面時,按照該優(yōu)先級由 低到高排序,優(yōu)先刪除優(yōu)先級低的頁面。步驟S320,對第一優(yōu)先級對應(yīng)的頁面進行內(nèi)存回收,并執(zhí)行步驟S330 ;
步驟S330,判斷內(nèi)存是否滿足停止內(nèi)存回收條件或者第一優(yōu)先級為最高優(yōu)先級,如果滿足則返回,否則執(zhí)行步驟S340 ;
具體的,停止內(nèi)存回收條件為當前系統(tǒng)內(nèi)存/系統(tǒng)內(nèi)存上限,小于或等于80%。步驟S340,第一優(yōu)先級遞增,執(zhí)行步驟S320。
下面以具體例子說明,當前瀏覽頁面的優(yōu)先級分為3級
步驟A,初始化第一優(yōu)先級為1級,
步驟B,對優(yōu)先級為1級的頁面進行內(nèi)存回收;
步驟C,判斷內(nèi)存是否滿足停止內(nèi)存回收條件,如果滿足則返回,否則執(zhí)行步驟D ; 步驟D,第一優(yōu)先級遞增為2,執(zhí)行步驟E ; 步驟E,對優(yōu)先級為2級的頁面進行內(nèi)存回收;
步驟F,判斷內(nèi)存是否滿足停止內(nèi)存回收條件,如果滿足則返回,否則執(zhí)行步驟G ; 步驟G,第一優(yōu)先級遞增為3,執(zhí)行步驟H ; 步驟H,對優(yōu)先級為3級的頁面進行內(nèi)存回收;
步驟C,判斷內(nèi)存是否滿足停止內(nèi)存回收條件,如果滿足則返回,否則因為優(yōu)先級已經(jīng) 達到3,3級為最高優(yōu)先級,因此即使未能滿足停止內(nèi)存回收條件,也返回。步驟S320采用如圖4所示算法
步驟S410預(yù)先設(shè)定一個閾值,執(zhí)行步驟S420 ; 該閾值根據(jù)不同的移動通訊設(shè)備終端型號采用不同的數(shù)值;
步驟S420檢查內(nèi)存是否達到S410所設(shè)定的閾值,如果達到則返回,否則執(zhí)行步驟 S430 ;
步驟S430清除頁面內(nèi)容的圖片數(shù)據(jù)后檢查內(nèi)存是否達到S410所設(shè)定的閾值,如果達 到則返回,否則執(zhí)行步驟S440 ;
步驟S440清除頁面內(nèi)容的文字數(shù)據(jù)后檢查內(nèi)存是否達到S410所設(shè)定的閾值,如果達 到則返回,否則執(zhí)行步驟S450;
步驟S450刪除整個頁面并返回。以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本領(lǐng)域的普通技術(shù)人員來 說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為 本發(fā)明的保護范圍。圖5示出了根據(jù)本發(fā)明的一個實施例的內(nèi)存管理裝置500,包括 用于確定系統(tǒng)內(nèi)存上限的上限檢測模塊510 ;
用于監(jiān)控內(nèi)存狀態(tài)的內(nèi)存監(jiān)控模塊520 ; 用于執(zhí)行內(nèi)存回收算法的內(nèi)存回收模塊530。上限檢測模塊510包括
用于判斷當前移動通訊設(shè)備終端的系統(tǒng)為固定內(nèi)存或動態(tài)內(nèi)存的內(nèi)存類型檢測子模 塊 511 ;
用于獲取并返回固定內(nèi)存總內(nèi)存大小的固定內(nèi)存檢測子模塊512 ; 用于采用動態(tài)檢測方式,對動態(tài)內(nèi)存獲取并返回最大的內(nèi)存可用值的動態(tài)內(nèi)存檢測子 模塊513,所述動態(tài)內(nèi)存檢測子模塊通過向系統(tǒng)請求分配固定內(nèi)存大小的內(nèi)存塊,統(tǒng)計并保 存可分配內(nèi)存塊的總大小,以可分配內(nèi)存塊的總大小作為動態(tài)內(nèi)存最大的內(nèi)存可用值;
7所述移動通訊設(shè)備終端對所瀏覽頁面設(shè)有對應(yīng)的優(yōu)先級,所述內(nèi)存回收模塊530包
括
初始化第一優(yōu)先級為最低優(yōu)先級的優(yōu)先級初始化子模塊531 ; 對第一優(yōu)先級對應(yīng)的頁面進行頁面內(nèi)存回收的頁面內(nèi)存回收子模塊532 ; 判斷內(nèi)存是否滿足停止內(nèi)存回收條件或者第一優(yōu)先級為最高優(yōu)先級的停止回收判斷 子模塊533 ;
控制第一優(yōu)先級遞增的遞增子模塊534。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本領(lǐng)域的普通技術(shù)人員來 說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為 本發(fā)明的保護范圍。
權(quán)利要求
一種用于移動通訊設(shè)備終端的內(nèi)存管理方法,所述移動通訊設(shè)備終端瀏覽訪問頁面,其特征在于,所述方法包括移動通訊設(shè)備終端確定系統(tǒng)內(nèi)存上限的上限檢測步驟;移動通訊設(shè)備終端監(jiān)控內(nèi)存狀態(tài)的內(nèi)存監(jiān)控步驟;移動通訊設(shè)備終端在監(jiān)控到內(nèi)存不足時,執(zhí)行內(nèi)存回收算法的內(nèi)存回收步驟。
2.根據(jù)權(quán)利要求1所述的內(nèi)存管理方法,其特征在于,所述移動通訊設(shè)備終端對所瀏 覽頁面設(shè)有對應(yīng)的優(yōu)先級,所述內(nèi)存回收算法包括如下步驟(21)移動通訊設(shè)備終端初始化第一優(yōu)先級為最低優(yōu)先級;(22)移動通訊設(shè)備終端對第一優(yōu)先級對應(yīng)的頁面進行頁面內(nèi)存回收;(23)移動通訊設(shè)備終端判斷內(nèi)存是否滿足停止內(nèi)存回收條件或者第一優(yōu)先級為最高 優(yōu)先級,如果滿足則返回,否則執(zhí)行步驟(24);(24 )第一優(yōu)先級遞增,并執(zhí)行步驟(22 )。
3.根據(jù)權(quán)利要求2所述的內(nèi)存管理方法,其特征在于,所述步驟(22)的具體步驟為(31)預(yù)先設(shè)定一個閾值;(32)檢查內(nèi)存是否達到(31)所設(shè)定的閾值,如果達到則返回,否則執(zhí)行步驟(33);(33)清除頁面內(nèi)容的圖片數(shù)據(jù)后檢查內(nèi)存是否達到(31)所設(shè)定的閾值,如果達到則返 回,否則執(zhí)行步驟(34);(34)清除頁面內(nèi)容的文字數(shù)據(jù)后檢查內(nèi)存是否達到(31)所設(shè)定的閾值,如果達到則返 回,否則執(zhí)行步驟(35);(35)刪除整個頁面并返回。
4.根據(jù)權(quán)利要求3所述的內(nèi)存管理方法,其特征在于,所述步驟(31)根據(jù)移動通訊設(shè) 備終端的類型設(shè)置對應(yīng)的閾值。
5.根據(jù)權(quán)利要求1所述的內(nèi)存管理方法,其特征在于,所述上限檢測步驟的具體步驟 如下移動通訊設(shè)備終端判斷當前移動通訊設(shè)備終端的系統(tǒng)為固定內(nèi)存或動態(tài)內(nèi)存的內(nèi)存 類型檢測步驟;對于固定內(nèi)存,移動通訊設(shè)備終端獲取并返回總內(nèi)存大小的固定內(nèi)存檢測步驟; 對于動態(tài)內(nèi)存,采用動態(tài)檢測方式,獲取并返回最大的內(nèi)存可用值的動態(tài)內(nèi)存檢測步馬聚ο
6.根據(jù)權(quán)利要求5所述的內(nèi)存管理方法,其特征在于,所述動態(tài)內(nèi)存檢測步驟包括(61)移動通訊設(shè)備終端向系統(tǒng)請求分配固定內(nèi)存大小的內(nèi)存塊,執(zhí)行步驟(62);(62)如果系統(tǒng)成功分配,執(zhí)行步驟(61),否則執(zhí)行步驟(63);(63)返回總內(nèi)存大小,總內(nèi)存大小為固定內(nèi)存大小X系統(tǒng)成功分配次數(shù)。
7.根據(jù)權(quán)利要求6所述的內(nèi)存管理方法,其特征在于,所述固定內(nèi)存大小為2M。
8.根據(jù)權(quán)利要求1 7所述的任一內(nèi)存管理方法,其特征在于,所述內(nèi)存為J2ME程序 所分配的內(nèi)存。
9.一種用于移動通訊設(shè)備終端的內(nèi)存管理裝置,其特征在于,所述裝置包括 用于確定系統(tǒng)內(nèi)存上限的上限檢測模塊;2用于監(jiān)控內(nèi)存狀態(tài)的內(nèi)存監(jiān)控模塊;用于執(zhí)行內(nèi)存回收算法的內(nèi)存回收模塊。
10.根據(jù)權(quán)利要求9所述的內(nèi)存管理裝置,其特征在于所述上限檢測模塊包括用于判斷當前移動通訊設(shè)備終端的系統(tǒng)為固定內(nèi)存或動態(tài)內(nèi)存的內(nèi)存類型檢測子模塊;用于獲取并返回固定內(nèi)存總內(nèi)存大小的固定內(nèi)存檢測子模塊; 用于采用動態(tài)檢測方式,對動態(tài)內(nèi)存獲取并返回最大的內(nèi)存可用值的動態(tài)內(nèi)存檢測子 模塊,所述動態(tài)內(nèi)存檢測子模塊通過向系統(tǒng)請求分配固定內(nèi)存大小的內(nèi)存塊,統(tǒng)計并保存 可分配內(nèi)存塊的總大小,以可分配內(nèi)存塊的總大小作為動態(tài)內(nèi)存最大的內(nèi)存可用值; 所述移動通訊設(shè)備終端對所瀏覽頁面設(shè)有對應(yīng)的優(yōu)先級,所述內(nèi)存回收模塊包括 初始化第一優(yōu)先級為最低優(yōu)先級的優(yōu)先級初始化子模塊; 對第一優(yōu)先級對應(yīng)的頁面進行頁面內(nèi)存回收的頁面內(nèi)存回收子模塊; 判斷內(nèi)存是否滿足停止內(nèi)存回收條件或者第一優(yōu)先級為最高優(yōu)先級的停止回收判斷 子模塊;控制第一優(yōu)先級遞增的遞增子模塊。
全文摘要
本發(fā)明涉及移動通訊設(shè)備終端技術(shù)領(lǐng)域,特別是一種用于移動通訊設(shè)備終端的內(nèi)存管理方法,所述方法包括移動通訊設(shè)備終端確定系統(tǒng)內(nèi)存上限的上限檢測步驟;移動通訊設(shè)備終端監(jiān)控內(nèi)存狀態(tài)的內(nèi)存監(jiān)控步驟;移動通訊設(shè)備終端在監(jiān)控到內(nèi)存不足時,執(zhí)行內(nèi)存回收算法的內(nèi)存回收步驟。本發(fā)明最優(yōu)化的使用內(nèi)存,使用智能內(nèi)存管理算法保證中低端移動通訊設(shè)備的瀏覽體驗。優(yōu)化緩存技術(shù),盡量緩存多的頁面數(shù)據(jù),減少頻繁連網(wǎng),減少流量,從而減少用戶上網(wǎng)費用。優(yōu)化動態(tài)內(nèi)存,保證最優(yōu)化的利用動態(tài)內(nèi)存。智能的管理移動通訊設(shè)備終端的內(nèi)存,保證程序的運行流暢以及手機的穩(wěn)定。保證用戶體驗。
文檔編號H04M1/725GK101908022SQ20101025292
公開日2010年12月8日 申請日期2010年8月13日 優(yōu)先權(quán)日2010年8月13日
發(fā)明者梁捷, 饒榮慶 申請人:優(yōu)視科技有限公司