国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android HandlerThread使用方法詳解

2019-10-22 18:25:00
字體:
來源:轉載
供稿:網友

Android HandlerThread使用方法詳解

HandlerThread 繼承自Thread,內部封裝了Looper。

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

用法:

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),只是直接運行了run(),run()內ThreadId與UIThread是一樣的  //   handler = new Handler();       //post(runnable),將runnable運行在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() 繼續執行          }                  }      }) {        @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);        }      });          }    }  

運行結果:

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  

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


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 应城市| 民县| 沾化县| 原平市| 孟津县| 莱芜市| 南涧| 茌平县| 塔城市| 陆河县| 博爱县| 年辖:市辖区| 曲靖市| 馆陶县| 新源县| 安陆市| 当阳市| 郓城县| 大冶市| 武功县| 海丰县| 酉阳| 册亨县| 莒南县| 鸡东县| 开远市| 惠州市| 海林市| 白玉县| 呼和浩特市| 崇义县| 文水县| 沂南县| 台安县| 当涂县| 瑞安市| 台中县| 方城县| 浦县| 如皋市| 博白县|