其实所谓的AMS,PMS,WMS等都是运行在system_server这个进程中的线程。
sleep是Thread类的静态方法,谁调用谁去睡觉。sleep是占用CPU去睡觉,而wait是放弃CPU去睡觉。
》》》》》》》》AMS》》》》》》》》》
一、ActivityManagerService提供的主要功能:
(1)统一调度各应用程序的Activity
(2)内存管理
(3)进程管理
二、启动一个Activity的方式有以下几种:
(1)在应用程序中调用startActivity启动指定的Activity
(2)在Home程序中单击一个应用图标,启动新的Activity
(3)按“Back”键,结束当前Activity,返回到上一个Activity
(4)长按“Home”键,显示出当前正在运行的程序列表,从中选择一个启动
这四种启动方式的主体处理流程都会按照第一种启动方式运行,后面三种方式只是在前端消息处理上各有不同。
在整个系统中,Activity实际上有两个实体。一个是在应用进程中跟应用程序员打交道的Activity,一个是在AMS中具有管理功能的HistoryRecord。应用进程中的Activity都登记ActivityThread实例中的mActivity数组中,而AM端,HistroytRecord实例放置在mHistroy栈中。mHistory栈是Android管理Activity的场所,放置在栈顶的就是User看到的处于活动状态的Activity。
Activity的内核实体是依靠在Process