整个应用程序的启动过程要执行很多步骤,但是整体来看,主要分为以下五个阶段:
一. Step1 - Step 11:Launcher通过Binder进程间通信机制通知ActivityManagerService,它要启动一个Activity;
二. Step 12 - Step 16:ActivityManagerService通过Binder进程间通信机制通知Launcher进入Paused状态;
三. Step 17 - Step 24:Launcher通过Binder进程间通信机制通知ActivityManagerService,它已经准备就绪进入Paused状态,于是ActivityManagerService就创建一个新的进程,用来启动一个ActivityThread实例,即将要启动的Activity就是在这个ActivityThread实例中运行;
四. Step 25 - Step 27:ActivityThread通过Binder进程间通信机制将一个ApplicationThread类型的Binder对象传递给ActivityManagerService,以便以后ActivityManagerService能够通过这个Binder对象和它进行通信;
五. Step 28 - Step 35:ActivityManagerService通过Binder进程间通信机制通知ActivityThread,现在一切准备就绪,它可以真正执行Activity的启动操作了。
分享到:
相关推荐
根据一个电话号码启动一个应用程序,该程序可以显示短信内容
C#应用程序 保证只启动一个实例. 再次起动时如果已有起动了的把它调成活动的.
BroadcastReceiver中启动Activity,broadcast不会直接显示一个用户界面,而是启动一个activity来响应它们所接受到的信息或是使用 NotificationManager警示用户。Notification有很多方式能引起用户的注意。
三种方法实现启动其他的应用程序。VC++6.0
解决 应用程序无法启动,因为应用程序的并行配置不正确
VC 中启动另外一个应用程序的方法.docVC 中启动另外一个应用程序的方法.docVC 中启动另外一个应用程序的方法.docVC 中启动另外一个应用程序的方法.docVC 中启动另外一个应用程序的方法.docVC 中启动另外一个应用程序...
dlleg项目——一个dll,接受参数,启动一个应用程序(exe),并且给该exe文件传递两个参数。 testExe项目——接收dll传递过来的参数。(在***App里面) 需要这些功能朋友可以作为参考。
1.应用程序内的activity跳转 2.一个应用程序启动另一个应用程序(直接启动或者通过广播)
JustOneApp 一个仅允许您启动一个应用程序的android启动器
拷贝到我同事机器上,双击突然出现了“由于应用程序的配置不正确,应用程序未能启动,重新安装应用程序可能会纠正这个问题“,这个问题很让我意外,以前只出现过缺少DLL的情况,而这次出现这个问题,让我一时没办法...
exe应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件日志,或使用命令行 sxstrace.exe 工具
在一般的windows service中,是不能调用有界面的应用程序的,而这个demo则穿越了session隔离,可以调用
vc++2005限制只能启动一个程序或者进程,相同的自动退出后者,用于限制启动一个客户端。
在做系统集成框架软件时,经常遇到需要将已有程序的界面嵌入到统一框架软件的情形,该示例程序演示了在Qt5平台下面,使用QProcess启动并嵌入带界面应用程序的方法。该方法在Windows、Linux等操作系统下测试通过,...
aurelia-mdl-quickstart 一个存储库,以使用aurelia和mdl快速启动一个应用程序
为普通MFC应用程序添加启动界面窗口,全面提升应用程序的档次。
只允许打开一个应用程序,vc6.0mfc实现,当打开一个实例后,不允许打开第二个 HANDLE hMutex; hMutex = OpenMutex(MUTEX_ALL_ACCESS,false,_T("A")); if(hMutex) exit(0); hMutex = CreateMutex(NULL,true,_T...
例如:如果你建立了一个能和用户朋友共享信息或图片的社会应用程序,实现Action-Send意图会成为你的最大利益,那样用户就可以从另一个程序中发起一个“分享”的行动,并且启动你的程序执行行动。