以前我的文章分析过 StatusBar
上图标显示的流程,现在分析一下在 Android2.3
中, StatusBar
的架构,其实 StatusBar
的实现方法还是进行了许多大的修正的,比如原来 StatusBar
的操作都是在 Service
进程中,现在许多图标显示更新等的操作都移到了应用进程中。
代码目录结构 :
主要位于两个目录中
1,frameworks/base/services/java/com/android/server
这个目录在以前版本中也有
2,frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar
这个目录是 2.3版本新增加的,把许多界面的操作做到了应用里。
主要架构:
1、 StatusBarManager是供应用层调用的接口,它会通过 Binder机制调用到 StatusBarManagerService。
2、 StatusBarMangerService位于 Service进程中,是由 ServerThread创建的,它与 NotificationManagerService和 InputMethodManagerService进行交互。
3、 StatusBarManagerService在被创建的时候会启动一个应用层的 Service -StatusBarService,创建 StatusBarView,增加减少 Icon等等的处理,都是在这个 Service中。
架构图如下:
