简述Android(安卓)framework之AMS、PMS、WMS
16lz
2021-01-26
服务端
主要是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进程中包含两个主要模
更多相关文章
- WebRTC之Android客户端
- Mars视频笔记——Socket编程
- 4G模块Air720系列 android RIL驱动源码发布
- android 蓝牙搜索、配对连接通信总结
- ADB源码分析(一)
- Android(安卓)Socket通信
- android中usb设备驱动不能自动创建设备节点
- Android(安卓)IPC之ContentProvider和Socket(Android开发艺术探索
- 【Parallax Animation】实现知乎 Android(安卓)客户端启动页视差