Activity启动过程
- 1、startActivity
- 2 、ActivityManagerNative().startActivity
- 3、mRemote.transact(start_activity_transaction,data,reply,0)
- 4、public void onTransaction(int code,Parcel data,parcel,reply,int flags){
- 5、startSpecificActivityLocked(ActivityRecord r,...){
- 6、startProcessLocked(r...)/realStartActivityLocked(r...)
- 7、ProcessStartResult start()->startViaZygote()->runOnce
- 8、ActivityThread.main()
- 9、attach(false)
- 10、attachApplication(mApplicationThread)
- 11、attachApplicationLocked
- 12、mStactSupervisor.attachApplicationLocked
- 13、realStartActivityLocked(....)
- 14、app.thread.scheduleLaunchActivity(...)
- 15、handleLaunchActivity(...)
- 16、performLaunchActivity//handleResumActivity
- 17、mInstrumenttation,newActivity、、makeApplication、、createBaseContextForActivity、、callActivityOnCreate、、perfromStart
- 18、handleResumActivity
1、startActivity
2 、ActivityManagerNative().startActivity
3、mRemote.transact(start_activity_transaction,data,reply,0)
4、public void onTransaction(int code,Parcel data,parcel,reply,int flags){
switch(code){
case:START_ACTIVITY_TRANTACTION:{
startActivity(......)
}
}
}
5、startSpecificActivityLocked(ActivityRecord r,…){
}
6、startProcessLocked(r…)/realStartActivityLocked(r…)
7、ProcessStartResult start()->startViaZygote()->runOnce
8、ActivityThread.main()
9、attach(false)
10、attachApplication(mApplicationThread)
11、attachApplicationLocked
12、mStactSupervisor.attachApplicationLocked
13、realStartActivityLocked(…)
14、app.thread.scheduleLaunchActivity(…)
15、handleLaunchActivity(…)
16、performLaunchActivity//handleResumActivity
17、mInstrumenttation,newActivity、、makeApplication、、createBaseContextForActivity、、callActivityOnCreate、、perfromStart
18、handleResumActivity