欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android HandlerThread使用方法詳解

 更新時(shí)間:2017年10月24日 15:37:59   作者:chuyouyinghe  
這篇文章主要介紹了Android HandlerThread使用方法詳解的相關(guān)資料,通過本文希望能幫助到大家,讓大家掌握理解這部分內(nèi)容,需要的朋友可以參考下

Android HandlerThread使用方法詳解

HandlerThread 繼承自Thread,內(nèi)部封裝了Looper。

首先Handler和HandlerThread的主要區(qū)別是:Handler與Activity在同一個(gè)線程中,HandlerThread與Activity不在同一個(gè)線程,而是別外新的線程中(Handler中不能做耗時(shí)的操作)。

用法:

import android.app.Activity;  
import android.os.Bundle;  
import android.os.Handler;  
import android.os.Handler.Callback;  
import android.os.HandlerThread;  
import android.os.Message;  
  
  
public class MainActivity extends Activity {  
  HandlerThread handlerThread = new HandlerThread("test");  
  Handler handler;  
    
  @Override  
  protected void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.activity_main);  
    System.out.println("cur_id="+Thread.currentThread().getId());  
      
    handlerThread.start();  
    System.out.println("handlerThread.id=" + handlerThread.getId());  
    //post(runnable),只是直接運(yùn)行了run(),run()內(nèi)ThreadId與UIThread是一樣的  
//   handler = new Handler();   
    //post(runnable),將runnable運(yùn)行在handlerThread中,這是非UIThread的  
    handler = new Handler(handlerThread.getLooper(), new Callback() {  
        
      @Override  
      public boolean handleMessage(Message msg) {  
        System.out.println("receive message.whatA=" + msg.what);  
        if (msg.what == 1) {  
          return true;//不再向外層傳遞  
        } else {  
          return false; //外層的handleMessage() 繼續(xù)執(zhí)行  
        }  
          
      }  
    }) {  
      @Override  
      public void handleMessage(Message msg) {  
        // TODO Auto-generated method stub  
        super.handleMessage(msg);  
        System.out.println("receive message.whatB=" + msg.what);  
      }  
    };  
    handler.post(new Runnable() {  
        
      @Override  
      public void run() {  
        System.out.println("handler_post_cur_id="+Thread.currentThread().getId());  
        handler.sendEmptyMessage(1);  
        handler.sendEmptyMessage(2);  
      }  
    });  
      
  }  
  
}  

運(yùn)行結(jié)果:

01-23 07:12:31.590: I/System.out(12386): cur_id=1  
01-23 07:12:31.590: I/System.out(12386): handlerThread.id=1866  
01-23 07:12:31.590: I/System.out(12386): handler_post_cur_id=1866  
01-23 07:12:31.600: I/System.out(12386): receive message.whatA=1  
01-23 07:12:31.600: I/System.out(12386): receive message.whatA=2  
01-23 07:12:31.600: I/System.out(12386): receive message.whatB=2  

如有疑問請(qǐng)留言或到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Android自定義Button并設(shè)置不同背景圖片的方法

    Android自定義Button并設(shè)置不同背景圖片的方法

    這篇文章主要介紹了Android自定義Button并設(shè)置不同背景圖片的方法,涉及Android自定義控件的功能實(shí)現(xiàn)與布局相關(guān)技巧,需要的朋友可以參考下
    2016-01-01
  • Android游戲開發(fā)學(xué)習(xí)②焰火綻放效果實(shí)現(xiàn)方法

    Android游戲開發(fā)學(xué)習(xí)②焰火綻放效果實(shí)現(xiàn)方法

    這篇文章主要介紹了Android游戲開發(fā)學(xué)習(xí)②焰火綻放效果實(shí)現(xiàn)方法,以實(shí)例形式詳細(xì)分析了Android中粒子對(duì)象類Particle類和粒子集合類ParticleSet類及物理引擎ParticleThread類 的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • Android滑動(dòng)沖突的完美解決方案

    Android滑動(dòng)沖突的完美解決方案

    在Android開發(fā)中滑動(dòng)沖突可以說是比較常見的一類問題,也是比較讓人頭疼的一類問題,兩個(gè)原本完美的控件,組合在一起之后,忽然發(fā)現(xiàn)整個(gè)世界都不好了?;瑒?dòng)沖突主要分為同方向滑動(dòng)沖突和不同方向滑動(dòng)沖突,下面本文將詳細(xì)說明兩種滑動(dòng)沖突如何解決。
    2016-08-08
  • Android從源碼的角度徹底理解事件分發(fā)機(jī)制的解析(上)

    Android從源碼的角度徹底理解事件分發(fā)機(jī)制的解析(上)

    這篇文章主要介紹了Android從源碼的角度徹底理解事件分發(fā)機(jī)制的解析,具有很好的參考價(jià)值,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • Android 下載文件通知欄顯示進(jìn)度條功能的實(shí)例代碼

    Android 下載文件通知欄顯示進(jìn)度條功能的實(shí)例代碼

    這篇文章主要介紹了Android 下載文件通知欄顯示進(jìn)度條功能的實(shí)例代碼,通過使用AsyncTask異步任務(wù)實(shí)現(xiàn),調(diào)用publishProgress()方法刷新進(jìn)度來實(shí)現(xiàn),具體代碼大家參考下本文
    2018-04-04
  • Android編程實(shí)現(xiàn)支持拖動(dòng)改變位置的圖片中疊加文字功能示例

    Android編程實(shí)現(xiàn)支持拖動(dòng)改變位置的圖片中疊加文字功能示例

    這篇文章主要介紹了Android編程實(shí)現(xiàn)支持拖動(dòng)改變位置的圖片中疊加文字功能,可實(shí)現(xiàn)Android圖片與文字動(dòng)態(tài)操作功能,涉及視圖及圖片動(dòng)態(tài)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下
    2017-01-01
  • kotlin中使用ViewBinding綁定控件的方法

    kotlin中使用ViewBinding綁定控件的方法

    View Binding是Android Studio 3.6推出的新特性,主要用于減少findViewById的冗余代碼,但內(nèi)部實(shí)現(xiàn)還是通過使用findViewById,這篇文章主要介紹了kotlin中使用ViewBinding綁定控件,需要的朋友可以參考下
    2024-03-03
  • Android拍照或從圖庫選擇圖片并裁剪

    Android拍照或從圖庫選擇圖片并裁剪

    這篇文章主要介紹了Android拍照或從圖庫選擇圖片并裁剪的相關(guān)資料,具有一定的參考價(jià)值,需要的朋友可以參考下
    2016-08-08
  • Android系統(tǒng)檢測(cè)程序內(nèi)存占用各種方法

    Android系統(tǒng)檢測(cè)程序內(nèi)存占用各種方法

    這篇文章主要介紹了Android系統(tǒng)檢測(cè)程序內(nèi)存占用各種方法,本文講解了檢查系統(tǒng)總內(nèi)存、檢查某個(gè)程序的各類型內(nèi)存占用、檢查程序狀態(tài)、檢查程序各部分的內(nèi)存占用等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • Android讀取本地圖庫與調(diào)用攝像頭拍攝

    Android讀取本地圖庫與調(diào)用攝像頭拍攝

    這篇文章主要為大家詳細(xì)介紹了Android讀取本地圖庫與調(diào)用攝像頭拍攝,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04

最新評(píng)論