Android应用程序核心-应用程序的生命周期

 程序的生命周期是在Android系统中进程从启动到终止的所有阶段,也就是Android从启动到停止的全过程。程序的生命周期不是由进程自己控制的,而是由Android系统进行调度和控制的。影响应用程序生命周期的因素包括:该进程对于用户的重要性,以及当前系统中还剩多少内存。

  •   Android进程的优先级。

前台进程==》可见进程 ==》服务进程==》后台进程==》空进程

说明:

㈠前台进程:

  是Android系统中最重要的进程,是与用户正在进行交互的进程。有以下四种情况。

·Activity正在与用户进行交互

·进程被Activity调用,而且这个进程正在与用户进行交互

·进程服务正在执行声明中的回调函数,如OnCreate()OnStart()OnDestroy()

·进程的BroadCastReceiver在执行OnReceive()函数

  Android系统在多个前台进程同时运行时,可能会出现资源不足的情况,此时会清除部分前台进程,保证主 要的用户界面能够及时响应。


    ㈡可见进程

 是指部分程序界面能够被用户看见,却不在前台与用户交互,不影响界面事件的进程。

 如果一个进程包含服务,且这个服务正被用户可见的Activity调用,此进程同样被视为可见进程。

 Androdi进程一般存在少量的可见进程,只有在特殊情况下,Android系统才会为保证前台进程的资源而清除可见进程。


    ㈢服务进程

     服务进程是指包含已启动服务的进程。

·没有用户界面

·在后台长期运行

Android系统除非不能保证前台进程和可见进程所必要的资源,否则不强行清除服务进程。


㈣后台进程

  后台进程是指不包括任何已经启动的服务,而其没有任何用户可见的Activity的进程

Android系统中一般存在数量较多的后台进程,在系统资源紧张时,系统将优先清除用户较长时间没有见到的后台进程


   ㈤空进程

 空进程是不包含任何活跃组件的进程

空进程在系统紧张时会被首先清除。但为了提高Android应用程序的启动速度,Android系统会将空进程保存在系统内存用,在用户重新启动该程序时,空进程会被重新使用。


  除了以上优先级以外,一下两个方面也决定了优先级。
·进程的优先级取决于所有组件中优先级最高的部分
·进程的优先级会根据其他进程的依赖关系而变化。

猜你喜欢

转载自blog.csdn.net/hhbbeijing/article/details/70313261