An
Activity Manager
that manages the lifecycle of applications and provides a common navigation backstack 也就是说activity manager控制程序的生命周期,而不仅仅是activity 看到他里面有关管理service的方法可供调用,它应该是啊! 确实得查查了! 如果是的话它应该是应用进程(与系统服务相对)里面的主线程了,要不然不可能控制应用的生命周期,那也就是说它里面的代码应该很多,如何管理task栈,如何管理其他组件:broadcast,应用service等!还真有! 不过只是通过进程间通信的方式从系统服务里面拿数据,以及与系统服务交互,这个系统服务主要是activity manager service 它里面有进程的数据结构ProcessRecord 和TaskRecord管理task的数据结构!一般情况是一个应用进程对应一个应用程序了,看来还真是如此
broadcast是系统的一个事件机制,属于系统的,应该不属于应用程序管理他的生命周期,所以应用程序只需管理其他组件的生命周期便是管理整个应用程序的生命周期了
之前看到不用activiyt也能生成一个完整的应用程序,其实也很对,系统先是查找哥哥package的信息,各个组件被记录了下来,然后发现有个程序广播被接受,启动该组件,接着执行onreciver内容,启动一个服务,那么activitymanager启动了吗,不清楚,如果启动了,activitymanager 就应该改名字了,容易引起误解,应该叫applacationmanager
如果没有启动那service该咋办,谁来控制service的生命周期 多明显,service默认会在主线程里启动,主线程停止,他也就停止了呗,主线程就是ui线程,没有ui了呢,他也是主线程,由此推出activitymanager已经运行了!真是扯淡,没时间了,怎么也得整完啊,以后再细细想!不吃早饭就头晕,没办法,