Activity's startActivity method call process

Activity's startActivity method call process

Using the method of step-by-step tracking of the calling process

The call process from App's startActivity to AMS
startActivity method call process

IActivityManager.javaThe classes are automatically generated by the AIDL tool at compile time and are located in/frameworks/base/core/java/android/app/IActivityManager.aidl

ActivityManagerServiceInherited from IActivityManager.Stub, representing the server

public class ActivityManagerService extends IActivityManager.Stub

startActivityIt can be seen that the method of AMS will eventually be called

In the same way, add a log, start the page of adding a new contact in the contacts app, and the log output is as follows:

05-25 22:10:44.121  1587  1720 I wztest  : ActivityStackSupervisor resumeFocusedStackTopActivityLocked
05-25 22:10:44.121  1587  1720 I wztest  : java.lang.Exception
05-25 22:10:44.121  1587  1720 I wztest  : 	at com.android.server.am.ActivityStackSupervisor.resumeFocusedStackTopActivityLocked(ActivityStackSupervisor.java:2089)
05-25 22:10:44.121  1587  1720 I wztest  : 	at com.android.server.am.ActivityStarter.startActivityUnchecked(ActivityStarter.java:1238)
05-25 22:10:44.121  1587  1720 I wztest  : 	at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:995)
05-25 22:10:44.121  1587  1720 I wztest  : 	at com.android.server.am.ActivityStarter.startActivity(ActivityStarter.java:572)
05-25 22:10:44.121  1587  1720 I wztest  : 	at com.android.server.am.ActivityStarter.startActivityLocked(ActivityStarter.java:278)
05-25 22:10:44.121  1587  1720 I wztest  : 	at com.android.server.am.ActivityStarter.startActivityMayWait(ActivityStarter.java:817)
05-25 22:10:44.121  1587  1720 I wztest  : 	at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:4532)
05-25 22:10:44.121  1587  1720 I wztest  : 	at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:4519)
05-25 22:10:44.121  1587  1720 I wztest  : 	at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:121)
05-25 22:10:44.121  1587  1720 I wztest  : 	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2919)
05-25 22:10:44.121  1587  1720 I wztest  : 	at android.os.Binder.execTransact(Binder.java:697)
05-25 22:10:44.122  1587  1720 I wztest  : ActivityStackSupervisor resumeTopActivityUncheckedLocked
05-25 22:10:44.124  1587  1720 I wztest  : ActivityStackSupervisor resumeFocusedStackTopActivityLocked
05-25 22:10:44.124  1587  1720 I wztest  : java.lang.Exception
05-25 22:10:44.124  1587  1720 I wztest  : 	at com.android.server.am.ActivityStackSupervisor.resumeFocusedStackTopActivityLocked(ActivityStackSupervisor.java:2089)
05-25 22:10:44.124  1587  1720 I wztest  : 	at com.android.server.am.ActivityStack.completePauseLocked(ActivityStack.java:1486)
05-25 22:10:44.124  1587  1720 I wztest  : 	at com.android.server.am.ActivityStack.activityPausedLocked(ActivityStack.java:1413)
05-25 22:10:44.124  1587  1720 I wztest  : 	at com.android.server.am.ActivityManagerService.activityPaused(ActivityManagerService.java:7441)
05-25 22:10:44.124  1587  1720 I wztest  : 	at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:317)
05-25 22:10:44.124  1587  1720 I wztest  : 	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2919)
05-25 22:10:44.124  1587  1720 I wztest  : 	at android.os.Binder.execTransact(Binder.java:697)
05-25 22:10:44.124  1587  1720 I wztest  : ActivityStackSupervisor resumeTopActivityUncheckedLocked
05-25 22:10:44.125  1587  1720 I wztest  : ActivityStackSupervisor startSpecificActivityLocked
05-25 22:10:44.125  1587  1720 I wztest  : java.lang.Exception
05-25 22:10:44.125  1587  1720 I wztest  : 	at com.android.server.am.ActivityStackSupervisor.startSpecificActivityLocked(ActivityStackSupervisor.java:1564)
05-25 22:10:44.125  1587  1720 I wztest  : 	at com.android.server.am.ActivityStack.resumeTopActivityInnerLocked(ActivityStack.java:2726)
05-25 22:10:44.125  1587  1720 I wztest  : 	at com.android.server.am.ActivityStack.resumeTopActivityUncheckedLocked(ActivityStack.java:2255)
05-25 22:10:44.125  1587  1720 I wztest  : 	at com.android.server.am.ActivityStackSupervisor.resumeFocusedStackTopActivityLocked(ActivityStackSupervisor.java:2097)
05-25 22:10:44.125  1587  1720 I wztest  : 	at com.android.server.am.ActivityStack.completePauseLocked(ActivityStack.java:1486)
05-25 22:10:44.125  1587  1720 I wztest  : 	at com.android.server.am.ActivityStack.activityPausedLocked(ActivityStack.java:1413)
05-25 22:10:44.125  1587  1720 I wztest  : 	at com.android.server.am.ActivityManagerService.activityPaused(ActivityManagerService.java:7441)
05-25 22:10:44.125  1587  1720 I wztest  : 	at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:317)
05-25 22:10:44.125  1587  1720 I wztest  : 	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2919)
05-25 22:10:44.125  1587  1720 I wztest  : 	at android.os.Binder.execTransact(Binder.java:697)
05-25 22:10:44.125  1587  1720 I wztest  : ActivityStackSupervisor realStartActivityLocked
05-25 22:10:44.125  1587  1720 I wztest  : java.lang.Exception
05-25 22:10:44.125  1587  1720 I wztest  : 	at com.android.server.am.ActivityStackSupervisor.realStartActivityLocked(ActivityStackSupervisor.java:1315)
05-25 22:10:44.125  1587  1720 I wztest  : 	at com.android.server.am.ActivityStackSupervisor.startSpecificActivityLocked(ActivityStackSupervisor.java:1581)
05-25 22:10:44.125  1587  1720 I wztest  : 	at com.android.server.am.ActivityStack.resumeTopActivityInnerLocked(ActivityStack.java:2726)
05-25 22:10:44.125  1587  1720 I wztest  : 	at com.android.server.am.ActivityStack.resumeTopActivityUncheckedLocked(ActivityStack.java:2255)
05-25 22:10:44.125  1587  1720 I wztest  : 	at com.android.server.am.ActivityStackSupervisor.resumeFocusedStackTopActivityLocked(ActivityStackSupervisor.java:2097)
05-25 22:10:44.125  1587  1720 I wztest  : 	at com.android.server.am.ActivityStack.completePauseLocked(ActivityStack.java:1486)
05-25 22:10:44.125  1587  1720 I wztest  : 	at com.android.server.am.ActivityStack.activityPausedLocked(ActivityStack.java:1413)
05-25 22:10:44.125  1587  1720 I wztest  : 	at com.android.server.am.ActivityManagerService.activityPaused(ActivityManagerService.java:7441)
05-25 22:10:44.125  1587  1720 I wztest  : 	at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:317)
05-25 22:10:44.125  1587  1720 I wztest  : 	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2919)
05-25 22:10:44.125  1587  1720 I wztest  : 	at android.os.Binder.execTransact(Binder.java:697)
05-25 22:10:44.126  2210  2223 I wztest  : ApplicationThread scheduleLaunchActivity
05-25 22:10:44.126  2210  2223 I wztest  : java.lang.Exception
05-25 22:10:44.126  2210  2223 I wztest  : 	at android.app.ActivityThread$ApplicationThread.scheduleLaunchActivity(ActivityThread.java:788)
05-25 22:10:44.126  2210  2223 I wztest  : 	at android.app.IApplicationThread$Stub.onTransact(IApplicationThread.java:196)
05-25 22:10:44.126  2210  2223 I wztest  : 	at android.os.Binder.execTransact(Binder.java:697)
05-25 22:10:44.129  2210  2210 I wztest  : Activity onCreate
05-25 22:10:44.129  2210  2210 I wztest  : java.lang.Exception
05-25 22:10:44.129  2210  2210 I wztest  : 	at android.app.Activity.onCreate(Activity.java:990)
05-25 22:10:44.129  2210  2210 I wztest  : 	at android.support.v4.app.SupportActivity.onCreate(SupportActivity.java:66)
05-25 22:10:44.129  2210  2210 I wztest  : 	at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:290)
05-25 22:10:44.129  2210  2210 I wztest  : 	at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:84)
05-25 22:10:44.129  2210  2210 I wztest  : 	at com.android.contacts.activities.AppCompatTransactionSafeActivity.onCreate(AppCompatTransactionSafeActivity.java:33)
05-25 22:10:44.129  2210  2210 I wztest  : 	at com.android.contacts.AppCompatContactsActivity.onCreate(AppCompatContactsActivity.java:81)
05-25 22:10:44.129  2210  2210 I wztest  : 	at com.android.contacts.activities.ContactEditorActivity.onCreate(ContactEditorActivity.java:315)
05-25 22:10:44.129  2210  2210 I wztest  : 	at android.app.Activity.performCreate(Activity.java:7000)
05-25 22:10:44.129  2210  2210 I wztest  : 	at android.app.Activity.performCreate(Activity.java:6991)
05-25 22:10:44.129  2210  2210 I wztest  : 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
05-25 22:10:44.129  2210  2210 I wztest  : 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2732)
05-25 22:10:44.129  2210  2210 I wztest  : 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2857)
05-25 22:10:44.129  2210  2210 I wztest  : 	at android.app.ActivityThread.-wrap11(Unknown Source:0)
05-25 22:10:44.129  2210  2210 I wztest  : 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1590)
05-25 22:10:44.129  2210  2210 I wztest  : 	at android.os.Handler.dispatchMessage(Handler.java:106)
05-25 22:10:44.129  2210  2210 I wztest  : 	at android.os.Looper.loop(Looper.java:164)
05-25 22:10:44.129  2210  2210 I wztest  : 	at android.app.ActivityThread.main(ActivityThread.java:6495)
05-25 22:10:44.129  2210  2210 I wztest  : 	at java.lang.reflect.Method.invoke(Native Method)
05-25 22:10:44.129  2210  2210 I wztest  : 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
05-25 22:10:44.129  2210  2210 I wztest  : 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

ActivityIn summary startActivity, the calling ApplicationThreadprocess is as follows:

calling procedure

Guess you like

Origin blog.csdn.net/u014084081/article/details/130866829
Recommended