日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

什么是Handler(二)

發(fā)布時(shí)間:2023/12/19 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是Handler(二) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. 如何下載Android源代碼

2. ThreadLocal初步介紹

3. Handler相關(guān)代碼執(zhí)行流程

?吧

1. 如何下載Android源代碼

  SDK Manager下載, 下圖所示 ??

?????

  下載完之后在文件夾

  

?

2. ThreadLocal初步介紹

  線(xiàn)程本地變量
  

  代碼回顧

1 <pre> 2 * class LooperThread extends Thread { 3 * public Handler mHandler; 4 * 5 * public void run() { 6 * Looper.prepare(); 7 * 8 * mHandler = new Handler() { 9 * public void handleMessage(Message msg) { 10 * // process incoming messages here 11 * } 12 * }; 13 * 14 * Looper.loop(); 15 * } 16 * }</pre>

?

?  Looper、Thread、Handler一一對(duì)應(yīng), 一個(gè)Looper存在于一個(gè)Thread中

?

3. Handler相關(guān)代碼執(zhí)行流程

  

  查看相關(guān)方法的具體代碼, 可知

1 class LooperThread extends Thread { 2 public Handler mHandler; 3 public void run() { 4 Looper.prepare(); //生成Looper對(duì)象, 并把Looper與當(dāng)前線(xiàn)程對(duì)象形成鍵值對(duì), 存放在ThreadLocald 當(dāng)中 5 mHandler = new Handler() //生成Handler對(duì)象, 調(diào)用Loop的MyLooper方法,根據(jù)鍵得到與Handler對(duì)應(yīng)的Looper對(duì)象取出來(lái)(從ThreadLocal中取出) 6 { 7 //實(shí)際上,Looper和Handler之間是通過(guò)ThreadLocal建立一一對(duì)應(yīng)的連接 8 public void handleMessage(Message msg) { 9 // process incoming messages here 10 } 11 }; 12 Looper.loop(); //循環(huán)從消息隊(duì)列往外讀數(shù)據(jù) 13 } 14 }

?

轉(zhuǎn)載于:https://www.cnblogs.com/iMirror/p/3962461.html

總結(jié)

以上是生活随笔為你收集整理的什么是Handler(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。