1.自定义的Actitiy类初始化工作在onCreate中
2.onCreate是回调函数,在Activity抽象类中应有直接调用的地方
3.查找Activity源码,在performCreate(5230行)处
4.查找framework源码,发现Activity的performCreate函数是在Instrumentation类中callActivityOnCreate函数中被调用
5.再次查找callActivityOnCreate,是在ActivityThread中performLaunchActivity函数被调用
handleLaunchActivity -> performLaunchActivity
6.handleLaunchActivity在Handler的handleMessage函数中调用,因此ActivityThread中应当包含一个Looper
private class H extends Handler
7.查找到ActivityThread封装的的函数getHandler,发现在ActivityThread中的main函数中被调用并赋值给sMainThreadHandler
main即为入口函数
同时main函数中初始化了Looper,并在最后执行Looper.loop()
Activity启动流程
最新推荐文章于 2023-01-12 17:52:04 发布