Activity生命周期前传-Android 中的进程模式

    技术2023-05-24  73

    何谓进程模式?

    Android 平台的App,通常情况下都是单进程。

    由于Android平台资源有限,需要为不同进程设置优先级,以便系统资源紧张的情况下,将优先级较低的进程杀死,以释放资源。

    因而,进程模式的存在就是为了标记和区分进程的优先级

    存在哪几种进程模式?

    按优先级从高到低,进程模式主要包括:

    前景进程、可见进程、服务进程、背景进程、空白进程这5大类别

    通常,App 进程的级别,由其活跃的或处于栈顶的组件的活动状况(比如所处生命周期)决定。


    1、前台进程是用于目前操作所需的进程。在不同的情况下,进程可能因为其所包含的各种应用组件而被视为前台进程。如果以下任一条件成立,就是前台进程:

    它在屏幕上运行了一个Activity(已调用 onResume())它有一个BroadcastReceiver 正在运行(BroadcastReceiver.onReceive()在执行)它有一个Service 目前正在执行某个回调的代码(Service.onCreate()、Service.onStart()或者Serviece.onDestory())

    2、可见进程

    Activity 在屏幕上对用户可见,但是失去焦点,调用了(onPause()),暂时无法操作Service 正在通过Service.startForeground();实现特定功能的系统服务:动态壁纸,输入法服务

    3、服务进程包含一个已使用startService()方法启动的Service的进程。

    4、背景进程 指退到后台,目前不可见的进程,比如使用app的时候,按home键

    5、空白进程 当系统需要内存的时候,会暂时将背景进程清除,就成为了空白进程

    参考博客:

    https://xiaozhuanlan.com/topic/0213584967

    https://developer.android.com/guide/components/activities/process-lifecycle

    PS:我有微信读书群,有需求的私聊我

    Processed: 0.015, SQL: 10