Android Framework源码阅读笔记_android framework源码笔记

    TopResumedActivityChangeItem.obtain(onTop));

ClientLifecycleManager.scheduleTransaction{
ClientTransaction clientTransaction = transactionWithCallback(client, activityToken, callback);
{new ClientTransaction(client=ApplicationThread)}
}
clientTransaction.schedule()


### 第二次一个消息: PauseActivityItem



ActivityTaskSupervisor:mAtmService.getLifecycleManager().scheduleTransaction(prev.app.getThread(),
prev.appToken, PauseActivityItem.obtain(prev.finishing, userLeaving,
prev.configChangeFlags, pauseImmediately));


### 第三次 2个 消息:launch and resume



ActivityTaskSupervisor:
final ClientTransaction clientTransaction = ClientTransaction.obtain(
proc.getThread(), r.appToken);
clientTransaction.addCallback(LaunchActivityItem.obtain(new Intent(r.intent),
//还有一个变量:mLifecycleStateRequest:ResumeActivityItem
mService.getLifecycleManager().scheduleTransaction(clientTransaction);


### 第四次一个消息:TopResumedActivityChangeItem



ActivityTaskSupervisor:
ActivityRecord.scheduleTopResumedActivityChanged{
mAtmService.getLifecycleManager().scheduleTransaction(app.getThread(), appToken,
TopResumedActivityChangeItem.obtain(onTop));
}


### 第五个消息 : StopActivityItem



ActivityTaskSupervisor:
ActivityTaskSupervisor.activityIdleInternal>processStoppingAndFinishingActivities>
ActivityRecord.stopPossible{
mAtmService.getLifecycleManager().scheduleTransaction(app.getThread(), appToken,
StopActivityItem.obtain(configChangeFlags));
}


## 重点关注ActivityThread.handleXXX方法:


### handleReLaunchActivity>



performDestroyActivity>
r.activity.retainNonConfigurationInstances();//保存 viewmodel等信息传递到新Activity


### handleLaunchActivity>



unscheduleGcIdler();//取消在后台接受GC的消息
WindowManagerGlobal.initialize();//WMS 初始化
performLaunchActivity>
newActivity//反射创建 activity
makeApplicationif: (mApplication != null) return mApplication;
activity.attach>
attachBaseContext
new PhoneWindow()
if (theme != 0) {
activity. setTheme(theme) ;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值