当前位置:网站首页>Activity startup process
Activity startup process
2022-06-25 00:25:00 【lcj908692】
Launcher request AMS Stage
AMS To ApplicationThread Stage
ApplicationThread To Activity start-up
Code / Detail analysis
Launcher -->AMS
final IBinder b = ServiceManager.getService(Context.ACTIVITY_SERVICE);
final IActivityManager am = IActivityManager.Stub.asInterface(b); // binder signal communication
return am;
Come here :launcher adopt binder The communication is transferred to AMS In the
The second stage :AMS To ActivityThread
final ActivityManagerService mService;
public void schedule() throws RemoteException {
mClient.scheduleTransaction(this);
} // This is through interprocess communication , Call to ActivityThread Of scheduleTransaction() in
ActivityStackSupervisor Class ,addCall() Method is added LaunchActivityItem object
public static LaunchActivityItem obtain(.....){.....}
Client yes ClientTransactionHandler object , namely Called ClientTransactionHandler Object's handleLaunchActivity() Methods
client.handleLaunchActivity(r, pendingActions, null /* customIntent */);
because ClientTransactionHandler Of handleLaunchActivity() It's an abstract method , So find the implementation class
ActivityThread Inherited ClientTransactionHandler. So it is called ActivityThread Of handleLaunchActivity() Methods
边栏推荐
- ros(25):rqt_image_view报错Unable to load plugin for transport ‘compressed‘, error string
- Binder mechanism and Aidl communication example
- What is the difference between one way and two way ANOVA analysis, and how to use SPSS or prism for statistical analysis
- Scrollview height cannot fill full screen
- 人体改造 VS 数字化身
- C程序设计专题 15-16年期末考试习题解答(上)
- Investment analysis and prospect forecast report of global and Chinese triglycine sulfate industry from 2022 to 2028
- 【面试题】instancof和getClass()的区别
- Usage of assert
- Applet opening traffic master
猜你喜欢
JDBC - database connection
Single blind box removal, social blind box and friend blind box program source code
MySQL日志管理
Svg line animation background JS effect
在企业级开发过程中我发现有位同事用select * from where 条件 for update
More pictures | explain the Nacos parameters in detail!
Sliding window technology based on byte in transport layer
Unmanned driving: Some Thoughts on multi-sensor fusion
无人驾驶: 对多传感器融合的一些思考
Outer screen and widescreen wasted? Harmonyos folding screen design specification teaches you to use it
随机推荐
VNC viewer remote connection raspberry pie without display
December 6, 2019 what happens after the browser enters a URL
Analysis report on development mode and investment direction of sodium lauriminodipropionate in the world and China 2022 ~ 2028
[proteus simulation] example of using timer 0 as a 16 bit counter
Discrete mathematics and its application detailed explanation of exercises in the final exam of spring and summer semester of 2018-2019 academic year
Collective example
JDBC - database connection
不重要的token可以提前停止计算!英伟达提出自适应token的高效视觉Transformer网络A-ViT,提高模型的吞吐量!...
What is test development? Can you find a job at this stage?
Use of JMeter
Applet opening traffic master
MySQL日志管理
[leaderboard] Carla leaderboard leaderboard leaderboard operation and participation in hands-on teaching
Signal integrity (SI) power integrity (PI) learning notes (XXV) differential pair and differential impedance (V)
Is it so difficult to calculate the REM size of the web page according to the design draft?
ros(25):rqt_ image_ View reports an error unable to load plugin for transport 'compressed', error string
Go crawler framework -colly actual combat (IV) -- Zhihu answer crawl (I)
Xcode预览(Preview)显示List视图内容的一个Bug及解决
Registration method of native method in JNI
Dynamic effect of canvas lines