9.5

  • 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,再由进程自己完成后续的显示工作
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容