国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種通過在單進程中實現(xiàn)多消息隊列機制提升性能的方法

      文檔序號:6380925閱讀:349來源:國知局
      專利名稱:一種通過在單進程中實現(xiàn)多消息隊列機制提升性能的方法
      技術領域
      本發(fā)明涉及一種通過在單進程中實現(xiàn)多消息隊列機制提升性能的方法,屬移動終端的操作系統(tǒng)技術領域。
      背景技術
      Android是Google發(fā)布的基于Linux平臺的開源移動操作系統(tǒng)的名稱,是現(xiàn)在移動終端和各種嵌入式終端主流的操作系統(tǒng)。但Android系統(tǒng)在響應某些用戶操作時,會出現(xiàn)系統(tǒng)性能降低的情況。例如響應點擊操作的動畫效果滯后;界面切換有延遲等。在Android系統(tǒng)的內部機制中,處理此類用戶交互操作的是UI主線程。由UI主線程的子線程接收用戶的操作,將各種操作事件轉換為消息傳送給Π主線程的消息隊列進行存儲管理,再按照一定的順序進行處理。所以消息 的處理速度決定用戶響應的速度,進而決定系統(tǒng)性能。Android系統(tǒng)現(xiàn)在采用的消息循環(huán)機制,包括Handler模塊和Looper模塊兩部分,主要特征是單線程單消息隊列。Handler模塊負責將消息存入消息隊列,Looper模塊負責消息隊列的循環(huán)執(zhí)行。具體內容可參考張元亮編著的2011版《Android開發(fā)應用實戰(zhàn)詳解》第二章節(jié)關于Android線程的闡述。消息循環(huán)機制中每個線程最多擁有I個消息隊列,而且沒有優(yōu)先級方面的考慮。不同種類的消息都是按照“先入先出”在I個隊列里順序執(zhí)行,當處理緊急響應的消息時,如果前面的非緊急消息處理時間較長,會造成緊急響應的延遲,影響用戶響應的速度,進而降低系統(tǒng)性能。

      發(fā)明內容
      針對現(xiàn)有技術存在的不足,本發(fā)明提供一種通過在單進程中實現(xiàn)多消息隊列機制提升性能的方法,以解決Android系統(tǒng)處理用戶響應的過程中,不能優(yōu)先保證緊急響應消息的處理,影響用戶響應的速度,降低系統(tǒng)性能的問題。該方法通過增加單個線程的消息隊列,并在多個消息隊列間劃分優(yōu)先級,將UI主線程接收到的響應消息按緊急程度存入不同優(yōu)先級的消息隊列,消息隊列按照優(yōu)先級先后處理,從而實現(xiàn)消息的智能處理。本發(fā)明的技術方案如下一種通過在單進程中實現(xiàn)多消息隊列機制提升性能的方法,應用在Android系統(tǒng)中,該系統(tǒng)包括帶優(yōu)先級判斷功能的Handler模塊和帶多消息隊列管理功能的Looper模塊兩部分,Handler模塊用于把消息按照緊急程度存入對應優(yōu)先級的消息隊列中,并負責收發(fā)消息隊列中待處理的消息hooper模塊用于管理多個消息隊列的循環(huán)和執(zhí)行;Handler模塊包括優(yōu)先級判斷單元和消息收發(fā)單元,其中優(yōu)先級判斷單元用于消息優(yōu)先級的判斷,消息收發(fā)單元用于把消息傳送到消息隊列及把待處理的消息傳送給執(zhí)行的子線程;Looper模塊包括優(yōu)先級管理單元和循環(huán)執(zhí)行單元,其中優(yōu)先級管理單元用于激活有存儲消息的高優(yōu)先級消息隊列、封存低優(yōu)先級的消息隊列;循環(huán)執(zhí)行單元用于選定循環(huán)執(zhí)行的消息隊列,該方法步驟如下I)子線程Handler模塊接收用戶的響應消息由Π主線程的子線程Handler模塊的消息收發(fā)單元響應用戶的操作,然后轉換成消息等待發(fā)送;2)子線程Handler模塊判斷消息的優(yōu)先級在UI主線程的子線程Handler模塊的優(yōu)先級判斷單元進行優(yōu)先級消息的判斷,如將優(yōu)先級設為3個,分為Normal, High, Very High 3個等級,Normal優(yōu)先級最低,Very High優(yōu)先級最高;(不限于此,實際應用中優(yōu)先級可多可少,此處以方便敘述為例。)3)子線程Handler模塊傳送消息至UI主線程 由子線程Handler模塊的消息收發(fā)單元進行,消息在Π主線程對應優(yōu)先級的消息隊列中進行存儲待處理;4) UI主線程按優(yōu)先級管理多消息隊列其步驟為a) Looper模塊判斷優(yōu)先級最高的消息隊列是否為空,若為空則轉到下一步,否則等待,再次判斷優(yōu)先級最高的消息隊列是否為空;b) Looper模塊判斷下一優(yōu)先級的消息隊列是否為空,若為空則等待,再次判斷下一優(yōu)先級的消息隊列是否為空,否則轉到下一步;c) Looper模塊選擇此優(yōu)先級的消息隊列,按“先入先出”的原則進行處理;d) Handler模塊發(fā)送待處理的消息至處理子線程;e)轉到步驟a)。本發(fā)明方法改變了 Android系統(tǒng)原有的單線程單消息隊列機制,主要特點是增加單個線程的消息隊列,并在多個消息隊列間劃分優(yōu)先級。通過這種方法實現(xiàn)消息的按優(yōu)先級智能處理,減少用戶操作Android系統(tǒng)的延遲、滯后,提高用戶響應的速度,保證系統(tǒng)的運行性能。


      具體實施例方式下面結合實施例對本發(fā)明做進一步的說明,但不限于此。實施例一種通過在單進程中實現(xiàn)多消息隊列機制提升性能的方法,應用在Android系統(tǒng)中,該系統(tǒng)包括帶優(yōu)先級判斷功能的Handler模塊和帶多消息隊列管理功能的Looper模塊,Handler模塊用于把消息按照緊急程度存入對應優(yōu)先級的消息隊列中,并負責收發(fā)消息隊列中待處理的消息hooper模塊用于管理多個消息隊列的循環(huán)和執(zhí)行;Handler模塊包括優(yōu)先級判斷單元和消息收發(fā)單元,其中優(yōu)先級判斷單元用于消息優(yōu)先級的判斷,消息收發(fā)單元用于把消息傳送到消息隊列及把待處理的消息傳送給執(zhí)行的子線程;L00per模塊包括優(yōu)先級管理單元和循環(huán)執(zhí)行單元,其中優(yōu)先級管理單元用于激活有存儲消息的高優(yōu)先級消息隊列、封存低優(yōu)先級的消息隊列;循環(huán)執(zhí)行單元用于選定循環(huán)執(zhí)行的消息隊列,該方法步驟如下
      I)子線程Handler模塊接收用戶的響應消息由UI主線程的子線程Handler模塊的消息收發(fā)單元響應用戶的操作,然后轉換成消息等待發(fā)送;2)子線程Handler模塊判斷消息的優(yōu)先級在UI主線程的子線程Handler模塊的優(yōu)先級判斷單元進行優(yōu)先級消息的判斷,如將優(yōu)先級設為3個,分為Normal, High, Very High 3個等級,Normal優(yōu)先級最低,Very High優(yōu)先級最高;(不限于此,實際應用中優(yōu)先級可多可少,此處以方便敘述為例。)3)子線程Handler模塊傳送消息至UI主線程由子線程Handler模塊的消息收發(fā)單元進行,消息在Π主線程對應優(yōu)先級的消息隊列中進行存儲待處理; 4) UI主線程按優(yōu)先級管理多消息隊列其步驟為a) Looper模塊判斷優(yōu)先級最高的消息隊列是否為空,若為空則轉到下一步,否則等待,再次判斷優(yōu)先級最高的消息隊列是否為空;b) Looper模塊判斷下一優(yōu)先級的消息隊列是否為空,若為空則等待,再次判斷下一優(yōu)先級的消息隊列是否為空,否則轉到下一步;c) Looper模塊選擇此優(yōu)先級的消息隊列,按“先入先出”的原則進行處理;d) Handler模塊發(fā)送待處理的消息至處理子線程;e)轉到步驟a)。
      權利要求
      1.一種通過在單進程中實現(xiàn)多消息隊列機制提升性能的方法,應用在Android系統(tǒng)中,該系統(tǒng)包括帶優(yōu)先級判斷功能的Handler模塊和帶多消息隊列管理功能的Looper模塊兩部分,Handler模塊用于把消息按照緊急程度存入對應優(yōu)先級的消息隊列中,并負責收發(fā)消息隊列中待處理的消息hooper模塊用于管理多個消息隊列的循環(huán)和執(zhí)行;Handler模塊包括優(yōu)先級判斷單元和消息收發(fā)單元,其中優(yōu)先級判斷單元用于消息優(yōu)先級的判斷,消息收發(fā)單元用于把消息傳送到消息隊列及把待處理的消息傳送給執(zhí)行的子線程;Looper模塊包括優(yōu)先級管理單元和循環(huán)執(zhí)行單元,其中優(yōu)先級管理單元用于激活有存儲消息的高優(yōu)先級消息隊列、封存低優(yōu)先級的消息隊列;循環(huán)執(zhí)行單元用于選定循環(huán)執(zhí)行的消息隊列,該方法步驟如下O子線程Handler模塊接收用戶的響應消息由Π主線程的子線程Handler模塊的消息收發(fā)單元響應用戶的操作,然后轉換成消息等待發(fā)送;2)子線程Handler模塊判斷消息的優(yōu)先級在Π主線程的子線程Handler模塊的優(yōu)先級判斷單元進行優(yōu)先級消息的判斷,如將優(yōu)先級設為3個,分為Normal, High, Very High 3個等級,Normal優(yōu)先級最低,Very High優(yōu)先級最聞;3)子線程Handler模塊傳送消息至UI主線程由UI主線程的子線程Handler模塊的消息收發(fā)單元進行,消息在UI主線程對應優(yōu)先級的消息隊列中進行存儲待處理;4)UI主線程按優(yōu)先級管理多消息隊列其步驟為a)Looper模塊判斷優(yōu)先級最高的消息隊列是否為空,若為空則轉到下一步,否則等待,再次判斷優(yōu)先級最高的消息隊列是否為空;b)Looper模塊判斷下一優(yōu)先級的消息隊列是否為空,若為空則等待,再次判斷下一優(yōu)先級的消息隊列是否為空,否則轉到下一步;c)Looper模塊選擇此優(yōu)先級的消息隊列,按“先入先出”的原則進行處理;d)Handler模塊發(fā)送待處理的消息至處理子線程;e)轉到步驟a)ο
      全文摘要
      通過在單進程中實現(xiàn)多消息隊列機制提升性能的方法,屬移動終端的操作系統(tǒng)技術領域。本發(fā)明主要特點是改變單線程單消息隊列的做法,增加單個線程的消息隊列,并在多個消息隊列間劃分優(yōu)先級,將接收到的響應消息按緊急程度存入不同優(yōu)先級的消息隊列,消息隊列按照優(yōu)先級先后處理,從而實現(xiàn)消息的智能處理。本發(fā)明優(yōu)化了Android系統(tǒng)原有的消息循環(huán)機制,可以減少用戶操作Android系統(tǒng)的延遲、滯后,提高用戶響應的速度,保證系統(tǒng)的運行性能。
      文檔編號G06F9/48GK102999386SQ201210445839
      公開日2013年3月27日 申請日期2012年11月8日 優(yōu)先權日2012年11月8日
      發(fā)明者張海霞, 孫文, 袁東風, 徐加利, 徐祥桐, 翟慶羽, 孫志猛, 王宏賓, 紀洪亮, 李宗璋 申請人:山東大學
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1