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

本文剖析了Android控件系统的核心能力,如窗口显示、事件响应及Activity管理,揭示了Binder、Handler、WMS等基础服务在控件系统实现中的关键作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

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

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

如果是大牛,上面的话就当我没说啦,嘿嘿;另外,能力有限,写的不好大家莫怪

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值