- application启动的两种方式:点击图标启动、startActivity跳转启动,两种方式都会调用ActivityManagerServices(AMS)的startActivity完成。
- AMS进行判断与准备工作
- 将当前Activity置为pause
- AMS通过ApplicationThread.schedulePauseActivity完成
- ActivityThread主线程调用Activity.onPause,并通知WindowsManagerServices(WMS)改变窗口界面
- 进程通知AMS已完成pause请求
- AMS开始启动第二个Activity
- 若第二个Activity所属进程不存在则先进行启动Process.start,调用应用程序主线程的main函数
- 启动后通过attachApplication通知AMS
- AMS通过ApplicationThread.scheduleLaunchActivity向应用程序请求启动指定的Activity,再由进程自己完成后续的显示工作
9.5
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- It's right time to learn Android's Framework ! 前言 一个App是怎...
- AndroidSmall框架是android中一个非常优秀的插件化框架,有时我们不仅要学会使用它,也要去理解它的原...