工作准备

1.Activity的启动过程
https://www.cnblogs.com/gne-hwz/p/6758308.html
具体来讲,启动activity的方式有以下几种:

在应用程序中startActivity()或startActivityForResult()方法启动指定activity
在HOME(桌面)程序中单击应用图标,启动新的activity
按”BACK”键结束当前activity,自动启动上一个activity
长按“Home”键,显示出当前任务列表,从中选择一个启动。

在android4.0\packages\apps\Launcher2\src\com\android\launcher2

当点击一个应用图标时会执行一连串流程

-》Launcher.onClick(View v)单击app图标

-》Launcher.startActivitySafely(v, intent, tag)这里比4.0多的一个参数,可能性能优化吧

-》Launcher.startActivity(v, intent, tag)

-》Activity.startActivity(intent, opts.toBundle())

-》Activity.startActivityForResult(intent, -1, options);

https://blog.csdn.net/qian520ao/article/details/78156214

-》Launcher通知AMS启动淘宝APP的MainActivity,也就是清单文件设置启动的Activity。
-》AMS记录要启动的Activity信息,并且通知Launcher进入pause状态。
-》Launcher进入pause状态后,通知AMS已经paused了,可以启动淘宝了。
-》淘宝app未开启过,所以AMS启动新的进程,并且在新进程中创建ActivityThread对象,执行其中的main函数方法。
-》淘宝app主线程启动完毕后通知AMS,并传入applicationThread以便通讯。
-》AMS通知淘宝绑定Application并启动MainActivity。
-》淘宝启动MainActivitiy,并且创建和关联Context,最后调用onCreate方法。

2.Activity的启动模式以及使用场景

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值