服务端

主要是ActivityManagerService(AMS), WindowManagerService(WMS),PackageM anerService(PMS)

  • AMS 主要用于管理所有应用程序的Activity
  • WMS 管理各个窗口,隐藏,显示等
  • PMS 用来管理跟踪所有应用APK,安装,解析,控制权限等.

还有用来处理触摸消息的两个类KeyInputQueue和InputDispatchThread,一个用来读消息,一个用来分发消息.

客户端

主要包括ActivityThread,Activity,DecodeView及父类View,PhoneWindow,ViewRootImpl及内部类W等

  • ActivityThread主要用来和AMS通讯的客户端,Activity是我们编写应用比较熟悉的类

依赖Linux底层能力的驱动

主要是SurfaceFlingger(SF)和Binder驱动

  • 每一个窗口都对应一个Surface,SF驱动的作用就是把每一个Surface显示到同一个屏幕上
  • Binder 内核驱动的作用,就是为上面的服务端和客户端(或者服务端和服务端之间),提供IPC通讯用的。

Zygote

系统中运行的第一个Dalvik虚拟机程序叫做zygote,该名称的意义是“一个卵”,,因为接下来的所有 Dalvik虚拟机进程都是通过这个“卵” 孵化出来的。

zygote进程中包含两个主要模

更多相关文章

  1. WebRTC之Android客户端
  2. Mars视频笔记——Socket编程
  3. 4G模块Air720系列 android RIL驱动源码发布
  4. android 蓝牙搜索、配对连接通信总结
  5. ADB源码分析(一)
  6. Android(安卓)Socket通信
  7. android中usb设备驱动不能自动创建设备节点
  8. Android(安卓)IPC之ContentProvider和Socket(Android开发艺术探索
  9. 【Parallax Animation】实现知乎 Android(安卓)客户端启动页视差

随机推荐

  1. Android(安卓)zip文件压缩解压缩
  2. Android开启Java8
  3. SplashscreenActivity随笔
  4. Study Plan of 2012
  5. android navigationdrawer抽屉菜单
  6. 用命令行使用7z压缩
  7. Api Demo - .graphics(17)
  8. android后台打水印,并进行压缩
  9. Android——使用handler实现轮播图
  10. Android(安卓)DatabaseHelper