90设计网站终身会员免费seo推广软件
上一篇我们找到了栈管理所在的方法,这里继续对内部方法进行详细分析。
setInitialState:初始化函数。
computeLaunchingTaskFlags:检查 Activity 的启动模式。
computeSourceRootTask:处理源 Activity 的所在栈。
getReusableTask:获取能够复用的 Task。
computeTargetTask:计算是否存在用于现有任务的 Task。
recycleTask:为这次启动准备目标 Task。
resumeFocusedTasksTopActivities:重点任务,恢复栈顶的 Activity。
一、栈管理详解
1、setInitialState
首要是 setInitialState 这个函数,setInitialState 的字面意思是设置初始化。主要对启动时的那些成员变量进行初始化,例如 mStartActivity,mIntent 等等。
private void setInitialState(ActivityRecord r, ActivityOptions options, Task inTask, boolean doResume, int startFlags, ActivityRecord sourceRecord, IVoiceInteractionSession voiceSession, IVoiceInterac