本章做爲「Activity控件系統」系列文章的開篇,向你們闡述什麼是控件系統?控件系統的實現做爲Android高層次抽象,爲了更方便與用戶打交道的,在這些便捷的背後其實隱藏着不少祕密。這些祕密其實就是控件系統的實現過程所使用的底層的服務。
本文所描述的控件系統並不是Android全部的控件系統,咱們將以Activity啓動爲例,分析這個過程當中控件系統所具有的能力,直觀的來看控件系統須要具有以下幾個能力:框架
爲了知足控件系統的這些能力,Android Framework提供了以下圖所示的基礎服務,來支撐控件系統的具體工做:cdn
之因此單獨使用一篇"引導"來向你們說明這些,是爲了告訴你們閱讀Android源碼的一個邏輯————注重框架分析,忽略細節。什麼意思呢?由於Android系統源碼比較龐大,控件系統並不是一個獨立的功能模塊,它是依賴於系統提供的不少服務的,若是你一味的想把全部的源碼都讀懂搞清楚,我想控件系統你看半年也是有可能的。
因此,控件系統中使用到了諸如Binder、Handler、WMS、輸入系統等子系統在Framework層中提供的功能,你只須要了解這些子系統提供的API功能便可(就像咱們作APP開發),切勿「一追到底、沒完沒了」,避免只見樹木不見森林。
若是能夠,建議對Binder、消息隊列、WMS有所瞭解後,開始分析控件系統,你將會理解的更加透徹;固然,你也能夠直接看上面的系列文章。blog
若是是大牛,上面的話就當我沒說啦,嘿嘿;另外,能力有限,寫的很差你們莫怪隊列