專利名稱:一種優化的手機電話本數據訪問方法
技術領域:
本發明涉及提高在手機上電話本數據訪問速度的方法。
背景技術:
電話本是手機的基本應用之一,目前手機電話本應用的數據量越來越 大,存儲的信息也越來越多。電話本的速度問題也越來越作為手機易用性的 一個重要指標,直接關系到手機用戶的體驗。
目前手機的電話本在數據量非常大的時候,訪問速度都不是很理想。為 了提高電話本的訪問速度,就需要占用很大的內存,由于手機系統的內存資 源有限,所以此方法效果不是很好。所以需要提供一種方便有效的方法,提 高手機電話本的數據訪問速度,并且要求對系統資源花費要盡量的小。
目前通常采用的方法有"數據用數據庫存儲解決方案"和"將數據全部
放在內存區方案,,。在低端手機上,用數據庫作為數據存儲,對系統CPU 和RAM要求都比較高;如果采用"將數據全部放在內存區方案",因為目 前手機的電話本數據非常多,所以此方案對手機系統的內存要求非常大。
綜上所述,現有技術的缺點主要有兩個 一是對CPU要求非常高,不 具備通用性;二是需要大的內存空間。因此需要對現有技術進行改進,提高 手機電話本數據的訪問速度。
發明內容
本發明要解決的技術問題是提供一種提高手機電話本數據訪問速度的 方法,解決現有手機電話本數據訪問方法對CPU要求高,占用大量內存的 缺點。為了解決上述技術問題,本發明提供了一種優化的手機電話本數據訪問
方法,包含如下步驟
(a) 定義數據單元,每個數據單元大小固定,對應一個編號,將電話 本數據存儲在所述數據單元中;
(b) 在訪問電話本數據時,建立訪問結構數組,根據篩選條件對數據 單元進行篩選,將選中的數據單元的編號存入所述訪問結構數組,即所述訪 問結構數組的數據為數據單元的編號;
(c) 將所述訪問結構數組中滿足顯示條件的編號對應的數據單元的電 話本數據加載入內存中,進行顯示。
進一步地,上述方法還可具有以下特點,所述數據單元包含電話本數據 的全部字段信息,每個字段的大小固定。
進一步地,上述方法還可具有以下特點,所述步驟(b)中,所述篩選 條件為電話本查詢條件或排序條件。
進一步地,上述方法還可具有以下特點,所述步驟(b)中,對凄i:據單 元進行篩選時,根據編號讀取數據單元存儲的電話本數據進行篩選。
進一步地,上述方法還可具有以下特點,根據所述編號加載或讀取所述 數據單元時,從數據首地址加上數據單元大小與數據單元編號的乘積的位置 讀取所述數據單元的電話本數據,其中數據首地址是指存儲電話本數據的首 地址。
進一步地,上述方法還可具有以下特點,所述訪問結構數組的位置指針 指向當前滿足顯示條件的第 一 個數據單元的編號。
進一步地,上述方法還可具有以下特點,所述屏幕顯示從所述位置指針 開始的訪問結構數組中的連續N個數據編號對應的數據單元的電話本數據, N為屏幕能顯示的最大數據單元個數或為用戶指定屏幕顯示的數據單元個數。
進一步地,上述方法還可具有以下特點,當篩選條件不變時,如果屏幕 顯示的數據發生變化,只更新內存里沒有的數據,同時將內存里的數據根據 電話本數據單元訪問結構數組的編號順序,進行相應的移動,重新排列內存 里的數據。進一步地,上述方法還可具有以下特點,所述篩選條件變化時,重新4丸 行步驟(b),建立新的訪問結構數組。
采用本發明所述方法,與現有技術和方法相比,由于采取了 "結構化存 儲數據單元+構建數據單元速查表,,的技術措施,使得在有無較大存儲空 間和內存環境下均實現了高速、方便有效的電話本訪問速度,極大地提高了 手機電話本應用的用戶體驗。所述方法具有適用范圍廣、資源消耗低和實用 性強的特點。整個過程可實現性強,適合于絕大多數手機電話本應用,非常 適合推廣。
圖1是電話本數據單元結構化存儲示意圖; 圖2是電話本數據單元訪問結構數組示意圖; 圖3是電話本數據訪問過程示意圖。
具體實施例方式
下面結合附圖對本發明技術方案的實施作進一步的詳細描述。
圖1所示為本發明電話本數據單元結構化存儲示意圖。該存儲方式是為 了保證數據能夠快速的裝載進內存而設計的一種存儲方式。全部的電話本數 據單元存儲在文件中。
每個電話本數據單元大小固定,包含電話本記錄的全部字段信息。這些
字段信息按照次序進行存儲;每個記錄的數據按照固定數據字段大小進行存
儲(如姓名字段設定為N字節);數據單元的存儲形式與其在內存中的空 間布局情況一致。
圖2所示為電話本數據單元訪問結構數組關系示意圖。 在手機屏幕上,顯示的數據單元個數是有限的,將所有滿足顯示條件的
電話本數據單元的編號用數組存儲起來,因為數據單元大小固定,所以根據
單元編號可以得到該數據單元的全部信息。
手機顯示屏幕的第 一個數據單元與數據單元訪問結構數組的當前數據單元位置對應,即與數據單元訪問結構數組位置指針指向的數據單元對應,
后面依次是數組中位置指針后的第2個、第3個,......。如果屏幕滾動或者
數據變化,那么位置指針也就移動到對應位置。
圖3所示為電話本數據訪問過程。
第一步分配屏幕顯示記錄的內存空間。如果屏幕需要顯示N個數據 單元,那么需要分配"N*數據單元大小"的內存空間。此內存空間大小固 定,可以反復使用,用來裝載滿足顯示條件的當前屏幕中的電話本數據。
分配內存時也可以根據用戶需要來分配。例如用戶有時候需要顯示5個 號碼,有時候想顯示2個號碼,此時可以改變內存空間的大小。
第二步電話本應用根據篩選條件,如設置的查詢條件或者排序條件, 對依次顯示的數據進行選擇。如果第n個數據單元滿足可以顯示條件(即滿 足上述篩選條件),那么將第n個數據單元的編號放在電話本數據單元訪問 結構數組中,否則丟棄。數據篩選過程中,因為數據單元按照固定大小存儲, 所以只需要根據篩選條件讀取數據單元的對應數據(數據位置+數據單元 大小 *數據單元編號,數據位置是指在RAM中存儲電話本數據的首地 址),查看是否滿足條件,省去了裝載全部數據的時間和內存。
第三步將電話本數據單元訪問結構數組中的數據編號對應的數據裝載 到內存中。從指針位置開始,將電話本數據單元訪問結構數組的前N個數 據編號對應的數據單元讀到第一步分配的內存中,其中N表示屏幕可以顯 示N個數據單元,或者表示用戶要求在屏幕上顯示的數據單元個數。
第四步將數據顯示在手機屏幕上。
第五步當屏幕數顯示的據發生變化時(屏幕滾動或者拖動滾動條), 重復第三步。
此步驟可以對數據裝載進行優化,如果屏幕顯示的數據發生變化,但是 有部分數據和當前屏幕數據是重復的,那么只需要更新內存里沒有的數據, 同時將內存里的數據根據電話本數據單元訪問結構數組的編號順序,進行合 適的移動,重新排列。因為每個數據單元的大小是固定的,編號順序發生變 化后,可以根據編號計算出數據單元在內存中的新位置,在內存中移動數據單元到新的位置。
第六步如果電話本篩選條件,如應用查詢條件或者排序條件,發生變
化,重復第二步,建立新的訪問結構數組。 .
權利要求
1、一種優化的手機電話本數據訪問方法,包含如下步驟(a)定義數據單元,每個數據單元大小固定,對應一個編號,將電話本數據存儲在所述數據單元中;(b)在訪問電話本數據時,建立訪問結構數組,根據篩選條件對數據單元進行篩選,將選中的數據單元的編號存入所述訪問結構數組,即所述訪問結構數組的數據為數據單元的編號;(c)將所述訪問結構數組中滿足顯示條件的編號對應的數據單元的電話本數據加載入內存中,進行顯示。
2、 如權利要求1所述的方法,其特征在于,所述數據單元包含電話本 數據的全部字段信息,每個字段的大小固定。
3、 如權利要求1或2所述的方法,其特征在于,所述步驟(b)中,所 述篩選條件為電話本查詢條件或排序條件。
4、 如權利要求l所述的方法,其特征在于,所述步驟(b)中,對數據 單元進行篩選時,根據編號讀取數據單元存儲的電話本數據進行篩選。
5、 如權利要求1或2或4所述的方法,其特征在于,根據所述編號加 載或讀取所述數據單元時,從數據首地址加上數據單元大小與數據單元編號的乘積的位置讀取所述數據單元的電話本數據,其中數據首地址是指存儲電 話本數據的首地址。
6、 如權利要求1所述的方法,其特征在于,所述訪問結構數組的位置 指針指向當前滿足顯示條件的第 一個數據單元的編號。
7、 如權利要求1或6所述的方法,其特征在于,所述屏幕顯示從所述 位置指針開始的訪問結構數組中的連續N個數據編號對應的數據單元的電 話本數據,N為屏幕能顯示的最大數據單元個數或為用戶指定屏幕顯示的數 據單元個數。
8、 如權利要求l所述的方法,其特征在于,當篩選條件不變時,如果 屏幕顯示的數據發生變化,只更新內存里沒有的數據,同時將內存里的數據根據電話本數據單元訪問結構數組的編號順序,進行相應的移動,重新排列 內存里的數據。
9、如權利要求1或2所述的方法,其特征在于,所述篩選條件變化時, 重新執行步驟(b),建立新的訪問結構數組。
全文摘要
本發明提供了一種優化的手機電話本數據訪問方法,包含如下步驟(a)定義數據單元,每個數據單元大小固定,對應一個編號,將電話本數據存儲在所述數據單元中;(b)在訪問電話本數據時,建立訪問結構數組,根據篩選條件對數據單元進行篩選,將選中的數據單元的編號存入所述訪問結構數組,即所述訪問結構數組的數據為數據單元的編號;(c)將所述訪問結構數組中滿足顯示條件的編號對應的數據單元的電話本數據加載入內存中,進行顯示。采用本發明所述方法,與現有技術和方法相比,由于采取了“結構化存儲數據單元+構建數據單元速查表”的技術措施,使得在有無較大存儲空間和內存環境下均實現了高速、方便有效的電話本訪問速度。
文檔編號H04M1/2745GK101409739SQ200710164040
公開日2009年4月15日 申請日期2007年10月12日 優先權日2007年10月12日
發明者飛 鞠 申請人:中興通訊股份有限公司