Activ ity Manager框架解析Activ ity Manager在 操 作 系 统 中 有 重 要 的 作 用 , 本 文 利 用 操 作 系 统 源 码 , 逐 步 理 清Activ ity Manager的框架,并从静态类结构图和动态序列图两个角度分别进行剖析,从而帮助开发人员加强对系统框架及进程通信机制的理解
Activ ity Manager的源码结构图:Activ ity Manager 的作用ActivityManager 的功能是与系统中所有运行着的 Activity交互提供了接口,主要的接口围绕着运行中的进程信息,任务信息,服务信息等
比如函数 getRunningServices() 的源码是: public List getRunningServices(int maxNum) throws SecurityException { tr y { r e tur n (List)ActivityManagerNative
getDefault()
getServices(maxNum, 0); } c a tc h (RemoteException e) { // System dead, we will be dead too soon
r e tur n n ul l ; } }从源码中可以看到ActivityManager的大多数功能都是调用了ActivityManagerNative类接口来完成的,因此,我们寻迹来看ActivityManagerNative的代码,并以此揭示ActivityManager的整体框架
ActivityManager的静态类图通过源码,可以发现 ActivityManagerNative 类的继承关系如下:public abstract class ActivityManagerNative exten