一種手機配置方法
2023-06-09 19:45:31
專利名稱:一種手機配置方法
技術領域:
本發明涉及移動通訊技術,尤其涉及一種手機配置的方法。現在,手機的功能越來越強大,從2G、2.5G、到3G,附加在手機上的功能已從簡單的電話通信,到網絡瀏覽、多媒體應用。功能的增加,必然需要更多的配置。在這種情況下,按照傳統的方法,將手機的所有配置在開機後從文件系統全部導入手機內存以便快速存取,就需要耗費相當多的內存來存放配置文件。消耗內存多也就意味著手機成本的提高,這對大部分用戶來說是不夠經濟的。本發明要解決的技術問題是提供一種能夠節省內存耗費,降低手機生產成本的手機配置方法。
為了解決上述技術問題,本發明採用的技術方案是,一種手機配置方法,包括如下步驟101.將手機的配置按照配置的功能分成不同的配置文件;102.建立映射表,所述的映射表是一維數組,其內容包括,數組下標、配置文件句柄、配置距配置文件開頭的偏移量和配置佔用存儲的大小;103.建立配置標識號,所述標識號的內容包括配置在映射表中的下標索引;104.建立標識號同配置的關聯;105.在查詢或修改手機配置的時候,首先通過關聯獲取該配置的標識號;通過標識號從映射表中查到配置文件句柄、配置距配置文件開頭的偏移量和配置佔用存儲的大小;通過上述3個參數操作配置所在的文件,讀取該配置的實際內容,進行處理。以上所述的手機配置方法,所述的映射表可以分為映射表a和映射表b;映射表a包括數組下標和配置文件句柄,映射表b包括數組下標、配置距配置文件開頭的偏移量和配置佔用存儲的大小;所述的配置標識號包括配置在映射表a和映射表b中的下標索引。
以上所述的手機配置方法,其特徵在於,所述映射表a的數組大小為具體配置文件的個數,映射表b的數組大小為具體配置的個數;所述的配置標識號至少為2個字節,其中第1位元組為文件句柄索引,用於在映射表a查找文件句柄,以後的字節為映射表b的索引,用來在映射表b查找該配置對應的距離文件開頭的偏移量和佔用的存儲大小。
以上所述的手機配置方法,其特徵在於,還包括如下步驟401.按配置標識號在映射表a中的下標索引將配置文件排序;402.在手機開機初始化時,打開這些配置文件並取得它們的文件句柄;403.按按配置標識號在映射表a中的下標索引將配置文件的句柄寫入映射表a。
以上所述的手機配置方法,在步驟104中在查詢或修改手機配置的時候,通過標識號的第1位元組從映射表a中查到配置文件句柄;通過標識號的以後的字節從映射表b中查到配置距配置文件開頭的偏移量和配置佔用存儲的大小。
本發明建立配置標識號,通過映射表就可以很快的檢索到配置的對應的文件句柄、距離文件開頭的偏移量佔用的存儲大小,然後通過文件操作就可以快捷地找到該配置真正存儲的物理位置,完成查詢和修改操作。本發明不僅在開機時不需要將所有配置從文件系統全部導入手機內存,在查詢和修改操作時也無需將整個配置文件導入內存,而是僅將要查詢和修改的內容部分加載到臨時申請的內存(用完會釋放該臨時申請的內存),來實現操作。本發明能大量節省配置的內存耗費,同時也可以降低手機的生產成本。下面結合附圖和具體實施方式
對本發明作進一步詳細的說明。
圖1是本發明一種手機配置方法實施例1的流程圖。
圖2是本發明一種手機配置方法實施例2的流程圖。
本發明的實現方法是將手機的配置按照配置的功能來分類,分成不同的小文件(假設這n個配置文件分別稱作A1,A2,-An)進行存儲。如電話相關的設置是一個文件,簡訊相關的設置又是另外一個文件,手機界面設置則是另一個文件。並按配置標識號在映射表a中的下標索引將配置文件排序。在手機開機後並不將這些手機配置文件從文件系統讀取到手機內存,而是僅僅打開這些文件並取得它們的文件句柄F1,F2,-Fn,按配置標識號在映射表a中的下標索引將配置文件的句柄寫入映射表a,實現映射表a的初始化。映射表b的數據是固定的,在編程時寫入。當需要用到某個配置時,通過這些配置文件的句柄可以讀取到相關配置。所以,通過這些文件句柄我們就可以讀取、修改手機配置。
本發明讀取和修改某個配置S的基本方法如下1.建立映射表a和b,通過映射表來查詢到配置S在哪個文件(假設該文件句柄為F)和在文件中的具體位置。(假設其距離文件開頭的偏移量為X,其佔用的存儲大小為Y個字節)。然後利用文件句柄F、距離文件開頭的偏移量X、佔用的存儲大小Y這三個位置信息來操作文件指針使其移動到配置S所在的文件具體位置,然後再讀取Y個字節的配置S,最後返回給查詢方。
2.對於修改配置的情況和查詢配置的情況是類似的,也是通過映射表來查找到該配置對應的文件句柄F、距離文件開頭的偏移量X、佔用的存儲大小Y,然後定位到具體的文件所在位置,最後將Y個字節的新配置寫入到該文件該位置。
為了操作映射表,要在程序中建立手機的配置標識號(ID)為S1,S2,…Sn。標識號可定為共3個字節,標識號的第1個字節為文件句柄索引,用來在映射表a來查找文件句柄,標識號的第2和3個字節為映射表b的索引,用來在映射表b查找該配置對應的距離文件開頭的偏移量X和佔用的存儲大小Y。
上述手機的配置標識號為3個字節,但不以此為限。隨著手機的配置增加,可以把3個字節擴充為4個字節、5個字節,甚至更多,然後用其中的一部分作為映射表a的數組下標索引,剩餘的部分作為映射表b的數組下標索引。
映射表a實際就是一個一維數組,數組大小為256,標識號的第1個字節就是該數組的下標,如下所示
實際使用中,手機所需的配置文件如果沒有256個這麼多,則映射表a就不會有256這麼大,換句話說,就是手機目前有n個配置文件的話,那麼映射表a大小就是n。
映射表b實際上也是一個1維數組,數組大小為65536,標識號的第2、3個字節就是該數組的下標,如下所示
實際使用中,手機所需的配置如果沒有65536個這麼多,則映射表b就不會有65536這麼大,換句話說,就是手機目前有m個配置的話,那麼映射表b大小就是m。
在具體取和修改某個配置S時,首先要確定手機配置S對應的配置標識號(ID)。配置同配置標識號是相互關聯的,具體做法是,在程序中定義類似下面的宏#define KK_POWER_ON_MUSIC 0x010001/*開機音樂*/#define KK_POWER_OFF_MUSIC0x010002/*關機音樂*/上述的0x010001和0x010002分別為開機音樂和關機音樂的配置標識號。
在用戶設置關機音樂,開機音樂時,就會在程序中直接使用該配置號KK_POWER_ON_MUSIC和KK_POWER_OFF_MUSIC來調用函數,例如調用函數getMusic(KK_POWER_ON_MUSIC),這樣就可以了。實際上KK_POWER_OFF_MUSIC和KK_POWER_ON_MUSIC是一個數字,也就是0x010001和0x010002。
有了配置標識號(ID),通過映射表a和b,就可以很快的檢索到配置S的對應的文件句柄F、距離文件開頭的偏移量X、佔用的存儲大小Y,然後通過文件操作就可以快捷的找到該配置真正存儲的物理位置,最後就可以完成查詢和修改操作。
下面以查詢手機來電鈴聲為例說明本發明實施例1的工作過程。如圖1所示,手機收到來電後,系統通過手機來電配置的關聯查到該配置標識號為0x031234。通過配置標識號的第1個字節0x03在映射表a來查找文件句柄。映射表a的例子如下
系統檢索到文件句柄為0x78340acc。
系統再通過配置標識號的第2和第3個字節在映射表b查找該配置對應的距離文件開頭的偏移量X和佔用的存儲大小Y,配置標識號的第2和第3個字節是0x1234。映射表b的例子如下
0x1234換算成十進位就是4660,系統找到4660對應的表項得到該配置距離文件開頭的偏移量X為0x04個字節,該配置佔用的存儲大小Y為0x1e(30)個字節。
最後系統通過文件句柄為0x78340acc,該配置距離文件開頭的偏移量X為0x04個字節,該配置佔用的存儲大小Y為0x1E個字節,這三個參數就可以直接操作該配置所在文件並快速索引到該配置的實際內容,然後讀取這30個字節的內容。這30個字節的內容為fs/music/comingcall/waltz.mp3。這樣,系統通過這個方法快速的讀取到了當前設置的手機鈴聲是fs/music/comingcall/waltz.mp3。接著播放這個文件作為來電響鈴聲。
通過這個例子我們看到,配置的實際內容佔用了30個字節,但是系統僅僅使用了4/N+2+1個字節的內存就可以快速查找到該配置。上述的4/N指4是映射表a的一個文件句柄,N是這個文件句柄對應的文件總共存儲的配置總數目。因為一個文件可以存儲N條配置,所以每個配置在配置表a的內存消耗就是4/N。上述的2指偏移量,偏移量佔用2個字節,也就是每個配置文件的最大偏移量為65536個字節。上述的1指的是配置的存儲大小,在映射表b中佔用了一個字節來說明,每個配置的佔用存儲控制項最大為256個字節。如果單個配置超過這個數目,可以通過將該配置分解為幾個子配置來解決該問題。)所以,在該配置上面就節省了30-(4/N+2+1)個字節。假定N為200,那麼4/N可以幾乎忽略,也就是說我們通過這個方法在該配置的內存佔用上節省了27個字節。本發明的方法實際上是一種以時間換取空間的方法,用來節省昂貴的手機內存,這種方法特別適用於內存小的低端手機。
下面再以修改手機的來電黑名單為例說明本發明實施例2的工作過程,如圖2所示。手機的來電黑名單假設最多支持10個黑名單號碼,每個號碼最大長度為25位號碼長。
系統通過手機的來電黑名單配置的關聯查到手機來電黑名單的配置標識號為0X021000通過標識號的第1個字節0x02在映射表a來查找文件句柄為0x78340ac8。(映射表a見實施例1)再通過標識號的第2和3個字節在映射表b查找該配置對應的距離文件開頭的偏移量X和佔用的存儲大小Y標識號的第2和3個字節為0x0100,換算成十進位就是256,那麼我們找到256對應的表項得到該配置距離文件開頭的偏移量X為0x14個字節,該配置佔用的存儲大小Y為0xfa(250)個字節。(映射表b見實施例1)通過文件句柄為0x78340ac8,偏移量X為0x14個字節,存儲大小Y為0xfa個字節,這三個參數就可以直接操作該配置所在文件並快速索引到該配置的位置,僅將這部分內容加載到內存中進行修改或將新的手機黑名單(250個字節)的內容寫入。
最後,保存該配置文件。
通過這個例子我們看到,配置的實際內容佔用了250個字節,但是我們僅僅使用了4/N+2+1個字節的內存就可以快速查找到該配置。上述的4/N指4是映射表a的一個文件句柄,N是這個文件句柄對應的文件總共存儲的配置總數目。因為一個文件可以存儲N條配置,所以每個配置在配置表a的內存消耗就是4/N。上述的2指偏移量,偏移量佔用2個字節,也就是每個配置文件的最大偏移量為65536個字節。上述的1指的是配置的存儲大小,在映射表b中佔用了1個字節來說明。我們可知每個配置的佔用存儲控制項最大為256個字節。如果單個配置超過這個數目,那麼我們可以通過將該配置分解為幾個子配置來解決該問題。所以,我們在該配置上面就節省了250-(4/N+2+1)個字節。假定N為2000,那麼4/N可以幾乎忽略,也就是說我們通過這個方法在該配置的內存佔用上節省了247個字節。
權利要求
1.一種手機配置方法,其特徵在於,包括如下步驟101.將手機的配置按照配置的功能分成不同的配置文件;102.建立映射表,所述的映射表是一維數組,其內容包括,數組下標、配置文件句柄、配置距配置文件開頭的偏移量和配置佔用存儲的大小;103.建立配置標識號,所述標識號的內容包括配置在映射表中的下標索引;104.建立標識號同配置的關聯;105.在查詢或修改手機配置的時候,首先通過關聯獲取該配置的標識號;通過標識號從映射表中查到配置文件句柄、配置距配置文件開頭的偏移量和配置佔用存儲的大小;通過上述3個參數操作配置所在的文件,讀取該配置的實際內容,進行處理。
2.根據權利要求1所述的手機配置方法,其特徵在於,所述的映射表分為映射表a和映射表b;映射表a包括數組下標和配置文件句柄,映射表b包括數組下標、配置距配置文件開頭的偏移量和配置佔用存儲的大小;所述的配置標識號包括配置在映射表a和映射表b中的下標索引。
3.根據權利要求2所述的手機配置方法,其特徵在於,所述映射表a的數組大小為具體配置文件的個數,映射表b的數組大小為具體配置的個數;所述的配置標識號至少為2個字節,其中第1位元組為文件句柄索引,用於在映射表a查找文件句柄,以後的字節為映射表b的索引,用來在映射表b查找該配置對應的距離文件開頭的偏移量和佔用的存儲大小。
4.根據權利要求3所述的手機配置方法,其特徵在於,還包括如下步驟401.按配置標識號在映射表a中的下標索引將配置文件排序;402.在手機開機初始化時,打開這些配置文件並取得它們的文件句柄;403.按按配置標識號在映射表a中的下標索引將配置文件的句柄寫入映射表a。
5.根據權利要求3或4所述的手機配置方法,其特徵在於,在步驟104中在查詢或修改手機配置的時候,通過標識號的第1位元組從映射表a中查到配置文件句柄;通過標識號的以後的字節從映射表b中查到配置距配置文件開頭的偏移量和配置佔用存儲的大小。
全文摘要
本發明公開了一種手機配置方法,包括如下步驟將手機的配置按照配置的功能分成不同的配置文件;建立映射表,所述的映射表是一維數組,其內容包括,數組下標、配置文件句柄、配置距配置文件開頭的偏移量和配置佔用存儲的大小;建立配置標識號,所述標識號的內容包括配置在映射表中的下標索引;建立標識號同配置的關聯;在查詢或修改手機配置的時候,首先通過關聯獲取該配置的標識號;通過標識號從映射表中查到配置文件句柄、配置距配置文件開頭的偏移量和配置佔用存儲的大小;通過上述3個參數操作配置所在的文件,讀取該配置的實際內容,進行處理。本發明能大量節省配置的內存耗費,同時也可以降低手機的生產成本。
文檔編號H04M1/725GK1949902SQ200610063438
公開日2007年4月18日 申請日期2006年11月1日 優先權日2006年11月1日
發明者何斌 申請人:康佳集團股份有限公司