深入淺出Android訊息系統之一
深入淺出Android訊息系統之一
1.VC6.0 MFC訊息機制
通過PreTranslateMessage處理訊息;
2.Activity內嵌的訊息處理機制有:
a.onKeyDown;
b.各式各樣的lister,如onKeyDownListener;
3.有哪些工作必須通過訊息分發處理機制來完成呢:
a.事件的定時觸發;
b.非同步的迴圈事件的處理;
c.高耗時的工作;
4.Handler處理哪個執行緒下的訊息:
預設情況下,Handler接受的是當前執行緒下的訊息迴圈例項
5.一個訊息迴圈可以被多個物件分發與處理
一個訊息迴圈可以被當前執行緒中的多個物件來分發,來處理(在UI執行緒中,系統已經有一個Activity來處理了,你可以再起若干個Handler來處理…)。
6. Android的CPU分配的最小單元:
執行緒
7.Handler與Thread的關係:
Handler一般是在某個執行緒裡建立的,因而Handler和Thread就是相互繫結的,一一對應的;
8.Runnable與Thread之間的關係:
Runnable是一個介面,Thread是Runnable的子類。所以說,他倆都算一個執行緒;
9.Thread(HandlerThread)的作用是什麼?
HandlerThread顧名思義就是可以處理訊息迴圈的執行緒,他是一個擁有Looper的執行緒,可以處理訊息迴圈。
10.Handler是在UI執行緒之內執行的,並沒有新建執行緒:
在UI執行緒(主執行緒)中,有如下程式碼:
mHandler=new Handler();
mHandler.post(new Runnable(){
void run(){
//執行程式碼…
}
});
這個執行緒其實是在UI執行緒之內執行的,並沒有新建執行緒。
11.常見的新建執行緒的方法是:
方法一:
Thread thread = new Thread();
thread.start();
方法二:
HandlerThread thread = new HandlerThread(“string”);
thread.start();
12.主執行緒就是UI執行緒;
13.UI執行緒何時建立:
當應用程式啟動時,Android首先會開啟一個主執行緒 (也就是UI執行緒)
14.主執行緒的作用:
主執行緒為管理介面中的UI控制元件,進行事件分發, 比如說, 你要是點選一個Button,Android會分發事件到Button上,來響應你的操作。
15.如果把耗時的工作,放在主執行緒中處理,有什麼後果?
如果放在主執行緒中的話,介面會出現假死現象, 如果5秒鐘還沒有完成的話,會收到Android系統的一個錯誤提示 “強制關閉“.
16.有哪些是耗時的工作:
a.聯網讀取資料;
b.讀取本地的一個大檔案;
c.硬體初始化;
17.如果遇到耗時的工作,如何處理?
需要把這些耗時的操作放在一個子執行緒中
18.更新UI只能在主執行緒中更新;
Notes:主執行緒就是UI執行緒;
19. Handler的作用:
Handler的作用:
1.接受子執行緒傳過來的Message物件(裡面包含資料);
Notes:子執行緒用sedMessage()方法傳遞;
2.把這些訊息放入主執行緒佇列中,
3.配合主執行緒進行更新UI。;
20.Handler與Thread如何傳遞資料:
Handler與子執行緒可以通過Message物件來傳遞資料。
相關文章
- 深入淺出 Runtime(三):訊息機制
- Android小知識-深入淺出Android系統啟動流程(上)Android
- Android小知識-深入淺出Android系統啟動流程(下)Android
- 深入淺出Android Gradle構建系統(一:簡介)AndroidGradle
- 深入淺出Android Gradle構建系統(三:build task)AndroidGradleUI
- 深入淺出Android Gradle構建系統(五:build type)AndroidGradleUI
- 深入淺出Android Gradle構建系統(1):簡介AndroidGradle
- 深入淺出Android Gradle構建系統(3):build taskAndroidGradleUI
- 深入淺出Android Support AnnotationsAndroid
- 深入理解Android訊息機制Android
- 深入淺出Android Gradle構建系統(二:專案結構)AndroidGradle
- 深入淺出Android Gradle構建系統(2):專案結構AndroidGradle
- <Win32_1>深入淺出windows訊息機制[轉自crocodile_]Win32Windows
- 《深入淺出MFC》學習筆記之一 (轉)筆記
- 釋出於訂閱訊息系統-KafkaKafka
- 深入淺出Android BufferQueue-上Android
- android Binder機制深入淺出Android
- 深入理解 Android 訊息機制原理Android
- 深入探索Android訊息機制之HandlerAndroid
- 淺析Android中的訊息機制Android
- 深入淺出FE(十四)深入淺出websocketWeb
- Android原始碼解析之一 非同步訊息機制Android原始碼非同步
- 深入淺出講解:php的socket通訊PHP
- 分散式系統關注點(19)——深入淺出「非同步」分散式非同步
- 深入解析MFC訊息響應和訊息路由路由
- 深入理解Android訊息佇列原理篇Android佇列
- Android啟動過程剖析-深入淺出Android
- Kafka 分散式訊息系統Kafka分散式
- 訊息通知系統記錄
- 訊息推送系統架構架構
- 分散式訊息系統:Kafka分散式Kafka
- IM開發乾貨分享:淺談IM系統中離線訊息、歷史訊息的最佳實踐
- 訊息佇列深入解析佇列
- 淺談訊息佇列佇列
- 深入淺出——MVCMVC
- 深入淺出mongooseGo
- HTTP深入淺出HTTP
- 深入淺出IO