Android控件系统(一)——Activity控件系统引导

  本章做为“Activity控件系统”系列文章的开篇,向你们阐述什么是控件系统?控件系统的实现做为Android高层次抽象,为了更方便与用户打交道的,在这些便捷的背后其实隐藏着不少秘密。这些秘密其实就是控件系统的实现过程所使用的底层的服务。
  本文所描述的控件系统并不是Android全部的控件系统,咱们将以Activity启动为例,分析这个过程当中控件系统所具有的能力,直观的来看控件系统须要具有以下几个能力:框架

  • 窗口显示能力,窗口外观以及咱们自定义的layout;
  • 窗口变化响应能力;
  • 事件输入和响应能力,例如触摸事件、按键事件;
  • Activity管理能力;

  为了知足控件系统的这些能力,Android Framework提供了以下图所示的基础服务,来支撑控件系统的具体工做:cdn

  • Binder:实现进程间通讯;
  • Handler:消息队列;
  • WMS(Window Manager Service):窗口显示管理服务;
  • 输入系统:接收外部或内部事件的输入;
  • AMS(Activity Manager Service):Activity管理服务;

image

  之因此单独使用一篇"引导"来向你们说明这些,是为了告诉你们阅读Android源码的一个逻辑————注重框架分析,忽略细节。什么意思呢?由于Android系统源码比较庞大,控件系统并不是一个独立的功能模块,它是依赖于系统提供的不少服务的,若是你一味的想把全部的源码都读懂搞清楚,我想控件系统你看半年也是有可能的。
  因此,控件系统中使用到了诸如Binder、Handler、WMS、输入系统等子系统在Framework层中提供的功能,你只须要了解这些子系统提供的API功能便可(就像咱们作APP开发),切勿“一追到底、没完没了”,避免只见树木不见森林。
  若是能够,建议对Binder、消息队列、WMS有所了解后,开始分析控件系统,你将会理解的更加透彻;固然,你也能够直接看上面的系列文章。blog

若是是大牛,上面的话就当我没说啦,嘿嘿;另外,能力有限,写的很差你们莫怪队列

相关文章
相关标签/搜索