android中的Handler機制

2021-08-20 13:19:09 字數 1284 閱讀 3521

一、為什麼要用handler

之所以需要跨執行緒通訊是因為在 android 中主線程通常只負責 ui 的建立和修改,子執行緒負責網路訪問和耗時操作,因此,主線程和子執行緒需要經常配合使用才能完成整個 android 功能,這時候就有了handler的出現。

二、什麼是handler

訊息佇列,先進後出管理message,在初始化looper物件時會建立乙個與之關聯的messagequeue

五、handler怎麼用

private  handler handler = new handler()

}};

//建立子執行緒

new thread(new runnable() catch (interruptedexception e)

//傳送更新ui的資訊

message message = handler.obtainmessage();

//傳送資訊的三種方法

message.what = 1; //只能為int型

message.arg1 =2; //只能為int型

message.arg2 = 3;

message.obj = "keep smile"; //可以是字串,物件等

handler.sendmessage(message);

}}).start(); //啟動執行緒

private  handler handler = new handler()

}};

六、案列解析-倒計時demo

這個倒計時demo主要有兩個地方比較重要

第一,我們通過執行緒來實現出倒計時的效果,並將結果每隔一秒傳送給handler,由handler來進行更新ui的操作

new thread(new runnable() 

} catch (interruptedexception e)

}}).start();//start,開啟執行緒

第二,建立出handler物件,並接收子執行緒傳送過來的訊息,然後進行ui的更新

private handler handler=new handler()

};

Android中的Handle基礎應用一

下面來個例子 public class myhandleactivity extends activity catch interruptedexception e system.out.println sleep over message msg new message bundle b new ...

執行緒的handle和tid

執行緒是cpu分配時間執行任務的最小單位。在linux中,核心並沒有執行緒和程序的概念,所謂執行緒,只是可以和其他兄弟執行緒共享資源的程序。在posix中,pthread create建立執行緒,並將執行緒的handle或者說id傳遞給第乙個引數,在這還是稱其為handle。這個handle與pth...

selenium學習 8 handle的切換

在我們進行測試的過程中,經常會遇到點開超連結開啟另乙個新視窗的情況,即 target blank 這種情況下,如果要在新視窗進行操作,需要將焦點移到新視窗上,本文將介紹這種情況的處理 切換視窗的方法 1 獲取當前頁面視窗的控制代碼 current window handle 2.獲取所有頁面視窗的控...