亚洲今日精彩视频_精品一级黄色_免费一级A片在现观看视频_8050福利视频 - 一级免费黄色片

7*24小時應急電話:15927160396
首頁 新聞資訊 技術文章
Android 從現實生活中理解線程消息機制

  android 有一種叫消息隊列的說法,這里我們可以這樣理解:假如一個隧道就是一個消息隊列,那么里面的每一部汽車就是一個一個消息,這里我們先忽略掉超車等種種因素,只那么先進隧道的車將會先出,這個機制跟我們android 的消息機制是一樣的。

  Android 的線程消息機制

  android 在設計的時候引入了 wince 的消息機制,即將每一個消息發送到隊列里面,遵循先進先出原則。發送消息并不會阻塞線程,而接收線程會阻塞線程,這是因為 Android 的Handler 機制,當Handler 處理完一個 Message 對象才會接著去取下面一個消息進行處理,如下圖:

  這里記住:Android里并沒有Global的Message Queue數據結構,例如,不同APK里的對象不能透過Massage Queue來交換訊息(Message)。例如:線程A的Handler對象可以傳遞消息給別的線程,讓別的線程B或C等能送消息來給線程A(存于A的Message Queue里)。線程A的Message Queue里的訊息,只有線程A所屬的對象可以處理。

  案例分析:

  經典的歌詞同步,這時我們不僅要聽到優質的歌曲,還要可以有歌詞同步,這時另開一條線程來處理歌詞的同步是比較好的解決辦法,你可以根據自己的定義,抓取歌曲的duration 在線程中處理歌詞的前進或者后退。。。

  Demo 分析:

  下面我們來實現一個Iphone 上的一個通過按數字后,數字過多消除的按鈕事件。事件的原理如下,事件要的效果是這樣的,當長按消除按鈕后,數字會慢慢消除,過會消除速度會增快,那么實現這個效果我們就需要自己做一個小鍵盤,我做的鍵盤效果如下:

  我們通過點擊

  來達到這個效果,使用的是android 的線程機制。實現代碼如下:

  private Thread thread;

  private TextView tv_call_no;

  protected static Runnable Runablerun = null;

版權所有:武漢網福互聯科技有限公司    鄂ICP備09022096號
業務QQ:23444550 客服QQ:267052100 電郵:23444550@qq.com  

鄂公網安備 42010602000905號

手機站二維碼