标签:
Activity 是安卓中最重要的一个元素,安卓如果管理activity? 进程中的主线程如何建立?关于这几个问题我们将简要概述,不会展示太多的代码。
首先来看一下进程的入口函数:ActivityThead,从应用程序的角度,所有的activity 信息都保存在这个类的成员变量中
也就是mActivities 记录了所有的activity 实例,这些实例都是这个进程创建的。 Activity Thread 如何创建应用?在这个类的main函数中,它会启动应用和创建消息循环。如下:
在消息循环创建之前,通过thread.attach (false) 初始化应用的runtime环境,并且通过mAppThread建立ActivityManagerService与应用之间的桥梁, mAppThread是一个是一个代理,不是一个线程,不要被它的名字迷惑。
注意:每个APP对应一个 ActivityThread实例,也就是ActivityThread.main, 每个实例也对应一个ApplicationThread对象,它是activityThread和ActivityManagerService的桥梁。Attach函数主要建立了这个桥梁。
ActivityManagerService:
ActivityManagerService 主要实现了对 activity的管理: 历史堆栈里面,最上层是正在运行的Activity.当创建一个新的Acticity的,会创建一个记录r.
ActivityThead ActivityManagerService 和activity关系概述
标签:
原文地址:http://blog.csdn.net/ux_legend/article/details/44246523