根activity的启动过程--控制转移
来源:互联网 发布:linux所有网卡的网关 编辑:程序博客网 时间:2024/05/20 06:29
从应用启动的角度来看,activity分为两种activity---根activity和非根activity。根activity是在手机桌面用户点击启动的activity,也就是在manifest.xml文件中
action android:name="android.intent.action.MAIN" category android:name="android.intent.category.LAUNCHER"
的activity,假设这个activity为MainActivty,他的启动对应着应用的启动。根activity的启动涉及Launcher,ActivityManagerService,MainActivity。下面就介绍下这三个进程之间的在启动根Activity时是如何协作的。
(1)用户点击桌面上的一个应用图标,Launcher向ActivityManagerService发送一个请求启动MainActivity的请求
(2)ActivityManagerService在收到Launcher发送的请求后,首先保存要启动的activity信息,然后给Launcher发送一个进入终止状态的进程间通信请求
(3)Launcher在收到ActivityManagerService发送的进入终止状态的进程通信请求后,就会进入终止状态,通知发送通知告诉ActivityManagerService自己已经进入终止状态,以便ActivityManagerService可以继续处理启动MainActivity的操作。
(4)由于是根Activity,因此没有进程可以用来运行MainActivity。这时候ActivityManagerService就会新建一个进程用来运行MainActivity
(5)新的进程创建成功后会通知ActivityManagerService自己已经创建成功,可以运行MainActivity
(6)ActivityManagerService在收到新进程创建成功的通知后就会根据自己保存的MainActivity的信息启动MainActivity
- 根activity的启动过程--控制转移
- 启动Activity的过程
- Activity启动的过程
- Activity的启动过程
- Activity的启动过程
- Activity的启动过程
- Activity启动的过程
- Activity的启动过程
- Activity的启动过程
- Activity的启动过程
- activity 的启动过程
- activity的启动过程分析
- Activity组件的启动过程
- Activity组件的启动过程
- Activity的启动过程详解
- Activity组件的启动过程
- Activity的启动过程--startActivity()
- 关于Activity的启动过程
- hdu1203 I NEED A OFFER!
- 排序算法
- java RMI 注册服务
- hdu 1874 畅通工程续(最短路)
- 斯普瑞斯奥特莱斯斯普瑞斯奥特莱斯董事长栾少梅欠债不还
- 根activity的启动过程--控制转移
- AngularJS中service,factory,provider的区别
- Java enum的用法详解
- 用get方法传输数据到服务器
- hdu 1166 敌兵布阵(线段树)
- java.net.UnknownHostException
- 关于git的常用方法,多账号以及一些规范(更新)
- java enum(枚举)使用详解 + 总结
- java枚举使用详解