android核心分析(一)

Activity本质


直观的视角
  • 是一个窗口管理的组件,类似于win下的From。一个窗口下有多个view或者view的组合,或者控件.
  • 一个应用有多个Activity,每个Activity管理一个窗口界面,这些界面的切换就是Activity的切换。例如,我们通过“返回”键可以回退到前一个窗口,其实即使切回到前一个 Activity。其中有一个在Mainifest.xml中标记为MAIN的,是app启动的第一个Activity.
  • Activity的生命周期,官网上的有详细的描述,状态机模型。

程序的视角
  • 从程序的角度看,是一个组件,这个组件不是自己启动,而是由别人来创建,并且调用其方法例如onCreate.
  • Activity是由Activity Manage Service管理,后者工作在后台,管理着系统中所有的Activity。app中的每一个Activity都在service中有对应的数据结构维护。service工作在后台,监视着Activity的一举一动。
  • Activity的create等操作由后台发起。
  • 从Linux OS的角度看,每一个Activity绑定到一个Thread,所以Activity是执行在Thread的上下文中。从这个角度看,是否可以看做Activity的切换同样Thread也切换。
  • app初始化的时候,会注册这些Thread,然后进入loop。猜测,注册的依据是mainifest.xml中的activity列表。Activity的名字,就是建立Thread的标识。
  • loop循环过程中,发生了输入事件,就响应事件,执行时间注册的代码。
posted @ 2012-02-26 12:06  爱心觉罗氏  阅读(333)  评论(0编辑  收藏  举报