一種提高嵌入式瀏覽器頁面顯示性能的方法
2023-10-06 01:44:44 1
專利名稱:一種提高嵌入式瀏覽器頁面顯示性能的方法
技術領域:
本發明涉及嵌入式瀏覽器顯示優化技術,尤其涉及一種提高嵌入式瀏覽器 頁面顯示性能的方法。
背景技術:
嵌入式系統通常以電視為顯示設備,通過嵌入式瀏覽器動態下載並顯示頁 面,頁面開發人員為了頁面內容更豐富,往往在頁面中加入豐富的圖片,而加 入圖片,即增加了嵌入式瀏覽器顯示頁面時需下載的內容,延長了下載、顯示 時間,造成頁面顯示慢的缺點。目前,提高頁面顯示性能尤其是有多個圖片的頁面, 一般有兩類技術第 一類是提高硬體性能,比如更換性能更高的處理晶片、增加2D加速功能;第 二類是提高軟體性能,比如優化嵌入式瀏覽器的刷新性能,減少或者避免重複 刷新。第一類技術的缺點是增加了硬體成本;第二類技術,是基於後臺處理思 想,將頁面分區域顯示,在區域內的所有數據全部解析完後,再將區域一次性 顯示在屏幕上,解決了嵌入式瀏覽器邊解析下載的數據邊顯示圖片,需多次刷 新處理,造成多次閃屏刷屏的問題;此技術雖然減少了頁面顯示時額外刷新所 用的時間,但對提高頁面顯示速度的幫助非常有限。發明內容有鑑於此,本發明的主要目的在於提供一種提高嵌入式瀏覽器頁面顯示性 能的方法,提高了嵌入式瀏覽器頁面顯示速度。為達到上述目的,本發明的技術方案是這樣實現的一種提高嵌入式瀏覽器頁面顯示性能的方法,包括以下步驟在頁面中顯示一個圖片時,查詢內存緩沖區中是否存在該圖片對應的統一資源定位器URL,如果存在,則調用該圖片的數據,顯示該圖片;否則,下載該圖片的數據,解碼該數據,顯示該圖片。進一步地,在頁面中顯示一個圖片之前還包括建立內存緩沖區。進一步地,所述顯示該圖片前包括將該圖片對應的URL及經過解碼的該 圖片的數據存儲在內存緩衝區。進一步地,所述將該圖片對應的URL及經過解碼的該圖片的數據存儲在內 存緩衝區前包括以下步驟判斷解碼後的該數據與內存緩衝區內所存儲圖片的數據量的和是否超出內 存緩沖區的大小,如超出,則運用緩存淘汰算法釋放最近使用最少的圖片的數 據後,開始所述顯示該圖片的步驟;否則,直接開始所述顯示該圖片的步驟。進一步地,所述緩存淘汰算法包括以下步驟構建最近最少使用LRU列表;解碼後的該數據與內存緩衝區內所存儲圖片的數據量的和超出內存緩衝區 的大小時,從LRU列表尾部的URL開始,在內存緩衝區中依次刪除與該LRU 列表中的URL相同的URL,及該URL對應的數據,直到內存緩衝區內所存儲 圖片的數據量和不超出內存緩衝區的大小為止,接著刪除該LRU列表中與所刪 除的內存緩衝區的URL相同的URL;將圖片對應的URL移動到LRU列表的表頭。進一步地,所述圖片是當前在頁面中要顯示的圖片。本發明所提供的提高嵌入式瀏覽器頁面顯示性能的方法,具有以下的優點 和特點本發明引入了內存緩衝區技術,對下載過的圖片進行緩衝,在額外增加少 量的內存開銷的條件下,即可以避免頁面中部分圖片的重複下載和重複解碼, 且採用緩沖淘汰算法,釋;故最近使用最少的圖片的數據,能顯著的提高緩衝區 命中率,大大增加在內存緩衝區中查找到頁面中的圖片的機率,顯著提高了嵌 入式瀏覽器頁面顯示性能。
圖1為本發明實施例在頁面中顯示一個圖片的實現流程圖。
具體實施方式
本發明的基本思想是嵌入式瀏覽器頁面顯示性能的優化,主要體現在嵌 入式瀏覽器頁面顯示速度的提高,本發明利用緩衝技術,將嵌入式瀏覽器的內 存的一部分作為內存緩沖區,對下載過的圖片進行緩沖,當嵌入式瀏覽器再次 需要在頁面中顯示該圖片時,可以直接從緩衝區中獲得經過解碼的數據,以避 免重複下載和重複解碼,這樣就可以大大減少頁面顯示時間。由於嵌入式瀏覽 器的資源有限,內存緩沖區不大,當內存緩衝區不夠用時,採取緩存淘汰算法, 釋放最近使用最少的圖片的數據和統一資源定位器(URL );本發明實施例提供一種提高嵌入式瀏覽器頁面顯示性能的方法,該方法包 括以下步驟步驟A:建立內存緩衝區,即在嵌入式瀏覽器的內存區中劃分出一部分作 為內存緩沖區;構建最近最少使用(LRU)列表。步驟B:當要在頁面中顯示一個圖片時,查詢內存緩衝區中是否存在該圖 片對應的URL。步驟C1:如果存在,將該圖片對應的URL移動到LRU列表的表頭,然後 調用該URL對應的數據,執行步驟E。步驟C2:否則,先下載該圖片的數據,其次解碼該數據,執行步驟D,接 著將該圖片對應的URL及經過解碼的該圖片的數據存儲在內存緩沖區,再將該 圖片對應的URL加在該LRU列表的表頭。步驟D:判斷解碼後的該數據與內存緩沖區內所存儲圖片的數據量的和是 否超出內存緩衝區的大小,如超出,從LRU列表尾部的URL開始,在內存緩 沖區中依次刪除與該LRU列表中的URL相同的URL,及該URL對應的數據, 直到解碼後的該數據與內存緩衝區內所存儲圖片的數據量的和不超出內存緩衝 區的大小為止,接著刪除該LRU列表中與所刪除的內存緩衝區的URL相同的URL,最後執行步驟E;否則,執行步驟E。步驟E:顯示該圖片,結束當前圖片顯示流程。上述步驟中,採用緩存淘汰算法,釋放最近使用最少的圖片的數據和統一 資源定位器(URL)的步驟包括步驟A中的構建最近最少使用(LRU)列表,步驟C1中,將該圖片對 應的URL移動到LRU列表的表頭,步驟C2中接著將該圖片對應的URL及 經過解碼的該圖片的數據存儲在內存緩沖區,及步驟D。本發明實施例在頁面中顯示一個圖片的實現流程圖如圖1所示,包括以下 步驟步驟IOI、 102:開始顯示圖片流程,初始化內存緩沖區和LRU列表。 步驟103:查詢內存緩衝區中是否存在該圖片對應的URL,如存在,則執 行步驟104,否則,4丸行步驟105。步驟104:將該圖片對應的URL移動到LRU列表的表頭,然後執行步驟112。步驟105:啟動下載該圖片的數據的任務,進行該圖片的數據的下載。步驟106:判斷該圖片的數據下載是否成功,如成功,解碼該數據,執行 步驟107;否則,執行步驟113。步驟107:判斷解碼後的該數據與內存緩衝區內所存儲圖片的數據量的和 是否超出內存緩沖區的大小,如超出,執行步驟110;否則,執行步驟112。步驟108:從LRU列表尾部的URL開始,在內存緩衝區中依次刪除與該 LRU列表中的URL相同的URL,及該URL對應的數據,直到解碼後的該數據 與內存緩衝區內所存儲圖片的數據量的和不超出內存緩衝區的大小為止。步驟109:在該LRU列表中刪除與內存緩沖區中所刪除的URL相同的步驟110:將該圖片對應的URL及經過解碼的該圖片的數據存儲在內存緩 衝區。在內存緩衝區內該圖片對應的URL與該圖片的數據相對應。 步驟111:將該圖片對應的URL加在該LRU列表的表頭。步驟112:通過顯示模塊顯示該圖片。 步驟113:結束當前顯示圖片流程。本發明實施例可以避免頁面中部分圖片的重複下載和重複解碼,從而顯著 提升嵌入式瀏覽器頁面顯示性能。下面通過將本發明實施例用於網絡電一見(IPTV )才幾頂盒時,由頁面1跳轉 到頁面2的實現流程,具體說明採用本發明實施例的頁面顯示過程。EPG的頁面1內容是(為節省篇幅,省略跟本發明技術不相關的內容) this is test page 1 頁面2的內容是 <body background-" http:〃iptvepg/backgroundimg.jpg',〉 this is test page 2 這個例子是EPG頁面設計中的一種典型情況多個具有相同主題的頁面背 景圖片是一樣的,同時各個頁面也包含其他特有的圖片。當瀏覽器解析頁面1的源碼時,發現body具有background屬性,於是進 入顯示背景圖片流程由於內存緩沖區和LRU列表尚未建立,因此建立並初始化內存緩沖區和 LRU列表數據結構;在內存緩衝區中查找是否有URL等於"http:〃iptv印g/backgroundimg.jpg"的圖片內容,沒有發現;啟動下載才莫塊,下載"http:〃iptvepg/backgroundimg.jpg,,這個圖片的數據; 圖片"http:〃iptvepg/backgroundimg.jpg"下載成功後,解碼所下載的圖片的數據;把這個圖片的URL和解碼後的數據的匹配對加入內存緩衝區,此時內存緩 衝區的內容是(("http:〃iptvepg/backgroundimg.jpg", imgebuffer))把此圖片對應的URL加入LRU列表頭部,此時LRU列表內容是("http:〃iptvepg/backgroundimg.jpg")此圖片大小沒有超過事先設計的內存緩衝區大小限制3M,所以無需淘汰 最近最少用的圖片;顯示圖片 "http:〃iptvepg/backgroundimg.jpg',艽成。到此,圖片"http:〃iptvepg/backgroundimg.jpg"已經完成顯示。類似的,頁 面l還有一個圖片"http:〃iptvepg/imgl.jpg"也需要顯示,類似前面的過程,該 圖片顯示完成後,內存緩衝區和LRU列表結構變成內存緩衝區(("http:〃iptvepg/backgroundimg.jpg", imgebufferl), ("http:〃iptvepg/imgl.jpg" imgbuffer2" LRU列表("http:〃iptvepg/img 1 .jpg,,, "http:〃iptvepg/backgroundimg.jpg")當用戶操作導致頁面1跳轉到頁面2時,瀏覽器在解析頁面2源碼時,又 發現body具有background屬性,於是又啟動背景圖片顯示流程在內存緩衝區中查找是否有URL等於"http:〃iptvepg/backgroundimg.jpg" 的圖片內容,找到一個圖片項,此時,位於內存緩沖區的第l項;調整LRU列表中該圖片對應的URL的位置,置於LRU列表頭,此時LRU 列表內容變為("http:〃iptvepg/backgroundimg.jpg", "http:〃iptvepg/imgl.jpg")直接從內存緩衝區中獲取已解碼的圖片的數據進行顯示。到此,頁面2的背景圖片完成顯示,由於省去了圖片的下載和解碼時間,此背景圖片很快就顯示出來了 。同樣,頁面2還有一個圖片"http:〃iptvepg/img2.jpg,,也需要顯示,顯示流程類似"http:〃iptv印g/imgl.jpg,,的流程,顯示完後,圖片內存緩沖區和LRU列表內容分別是 內存緩衝區{("http:〃iptvepg/backgroundimg.jpg,,, imgebufferl), ("http:〃iptvepg/imgl .jpg,,, imgbuffer2), ("http:〃iptvepg/img2.jpg", imgbuffer3)} LRU列表("http:〃iptvepg/img2.jpg,,,"http:〃iptvepg/backgroundimg.jpg", "http:〃iptvepg/imgl .jpg,,)至此,頁面l跳轉到頁面2的過程中,各個圖片的顯示流程已經全部完畢, 通過以上的流程分析發現,頁面1和頁面2由於共享了背景圖片,所以頁面1 跳轉到頁面2時省略了背景圖片的下載和解碼過程,頁面2的顯示性能大大提 高,給用戶的感覺是頁面1到頁面2的切換速度4艮快,這個無疑會給用戶留 下好的體驗感覺。由於在用戶操作電子節目指南(EPG)時,大部分時間只在少數幾個頁面 之間切換,更能顯著的提高緩衝區命中率,大大提高EPG界面的整體顯示性能。 以上所述,僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍。
權利要求
1、一種提高嵌入式瀏覽器頁面顯示性能的方法,其特徵在於,該方法包括以下步驟在頁面中顯示一個圖片時,查詢內存緩衝區中是否存在該圖片對應的統一資源定位器URL,如果存在,則調用該圖片的數據,顯示該圖片;否則,下載該圖片的數據,解碼該數據,顯示該圖片。
全文摘要
本發明公開了一種提高嵌入式瀏覽器頁面顯示性能的方法,該方法包括步驟當要在頁面中顯示一個圖片時,查詢內存緩衝區中是否存在該圖片對應的統一資源定位器URL,如果存在,則調用該圖片的數據,顯示該圖片;否則,下載該圖片的數據,解碼該數據,再將該圖片對應的URL及經過解碼的該圖片的數據存儲在內存緩衝區,最後顯示該圖片。採用本發明所述的方法,能顯著提高嵌入式瀏覽器頁面顯示性能。
文檔編號G06F17/30GK101221580SQ20081005598
公開日2008年7月16日 申請日期2008年1月3日 優先權日2008年1月3日
發明者軍 孟, 鵬 張, 峰 彭, 陳保平 申請人:中興通訊股份有限公司