程序的生命周期是在Android系统中进程从启动到终止的所有阶段,也就是Android从启动到停止的全过程。程序的生命周期不是由进程自己控制的,而是由Android系统进行调度和控制的。影响应用程序生命周期的因素包括:该进程对于用户的重要性,以及当前系统中还剩多少内存。
- Android进程的优先级。
前台进程==》可见进程 ==》服务进程==》后台进程==》空进程
说明:
㈠前台进程:
是Android系统中最重要的进程,是与用户正在进行交互的进程。有以下四种情况。
·Activity正在与用户进行交互
·进程被Activity调用,而且这个进程正在与用户进行交互
·进程服务正在执行声明中的回调函数,如OnCreate()OnStart()OnDestroy()
·进程的BroadCastReceiver在执行OnReceive()函数
Android系统在多个前台进程同时运行时,可能会出现资源不足的情况,此时会清除部分前台进程,保证主 要的用户界面能够及时响应。
㈡可见进程
是指部分程序界面能够被用户看见,却不在前台与用户交互,不影响界面事件的进程。
如果一个进程包含服务,且这个服务正被用户可见的Activity调用,此进程同样被视为可见进程。
Androdi进程一般存在少量的可见进程,只有在特殊情况下,Android系统才会为保证前台进程的资源而清除可见进程。
㈢服务进程
服务进程是指包含已启动服务的进程。
·没有用户界面
·在后台长期运行
Android系统除非不能保证前台进程和可见进程所必要的资源,否则不强行清除服务进程。
㈣后台进程
后台进程是指不包括任何已经启动的服务,而其没有任何用户可见的Activity的进程
Android系统中一般存在数量较多的后台进程,在系统资源紧张时,系统将优先清除用户较长时间没有见到的后台进程
㈤空进程
空进程是不包含任何活跃组件的进程
空进程在系统紧张时会被首先清除。但为了提高Android应用程序的启动速度,Android系统会将空进程保存在系统内存用,在用户重新启动该程序时,空进程会被重新使用。
·进程的优先级会根据其他进程的依赖关系而变化。