Helper class for managing multiple running embedded activities in the same process. This class is not normally used directly,

but rather created for you as part of the ActivityGroup implementation.

管理多个正在运行的嵌入的activity

一。TabActivity实现加载多个Activity原理

     我们都知道,想启动一个Activity,一般是调用startActivty(Intent )方法,然后这个方法会辗转调用到ams(ActivityManagerService)来启动目标activity,
所以,TabActivity实现的要点有两个:

     1. 找到一个入口,这个入口可以访问到ActivityThread类(没暴露在API中),然后调用ActivityThread里面的启动activity方法

     2. 绕开ams,就是我们TabActivity加载的FirstActivity和SecondActivity是不能让ams知道的。

 所以,一个新的类诞生了 LocalActivityManager , 它的作用如下:

     1.这个类和ActivityThread处于一个包内,所以它有访问ActivityThread的权限。

     2. 这个类提供了类似Ams管理Activity的方法,比如调用activity的onCreate方法,onResume()等等,维护了activity生命周期。

 

版权声明:本文为yuyutianxia原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/yuyutianxia/archive/2013/12/27/3494652.html