在Android系统中,可以用am命令来启动一个组件。例如,可以用下面的命令启动Camera:
# am start -n com.android.camera/com.android.camera.Camera
传送门:
Android开发-使用am命令启动Activity,Service等组件,以及发送广播等操作
Android源码分析-ActivityManagerService(AMS)源码分析
am是client端:
从代码实现上来说,在Android系统中,Android Framework层的各个service作为服务端,而使用者通过RPC(远程过程调用)调用这些服务,使用者就是Client端。
从进程间通信角度来说,Android Framework层的各个service作为服务端,提供具体的功能;同时,应用程序为了访问这些service,需要通过binder机制与service进行通信,这些运行在app端的代码就是client端(诸如ActivityManagerProxy等各种服务代理)。
具体到今天分析的am来说,am作为client端,与Framework的server端的AMS通过binder进行交互;从而实现AMS提供的各种功能,如图:

最低0.47元/天 解锁文章
2480

被折叠的 条评论
为什么被折叠?



