博客
关于我
进程的优先级
阅读量:206 次
发布时间:2019-02-28

本文共 1258 字,大约阅读时间需要 4 分钟。

Android 进程分类及管理机制

Android 进程管理是Android系统运行的核心机制之一。为了优化系统性能,Android将进程分为不同的类别,每个类别都有不同的优先级和资源使用规则。了解这些进程类型有助于开发者更好地优化应用性能和资源使用。

1. 前台进程 - Active/Foreground Process

前台进程是与用户直接交互的应用程序,通常是处于"active"状态的Activity。这些进程被Android系统极力保护,因为它们直接响应用户操作。前台进程包括以下几种情况:

  • 处于"active"状态的Activity:这些Activity运行在前台,响应用户的触控和事件。
  • Activity Service或Broadcast Receiver:这些组件在执行onReceive事件处理函数时也属于前台进程。
  • 正在执行生命周期方法的Service:如onStart、onCreate、onDestroy等方法执行期间的Service也属于前台进程。
  • 前台进程拥有最高的优先级,系统会优先为它们分配资源,防止它们被回收。

    2. 可见进程 - Visible Process

    可见进程是指那些在屏幕上有可见Activity的进程,但这些Activity并不处于前台状态。这种情况通常发生在一个Activity被部分遮盖(如被非全屏或透明的Activity覆盖)时。可见进程只有在极少数情况下才会被系统回收,以保障前台进程的运行。以下是可见进程的典型场景:

  • 可见的Activity,但处于暂停状态(onPause()):这种情况下,Activity虽然不再主动处理用户事件,但仍然可见在屏幕上。
  • 被可见Activity绑定的Service:这些Service与可见的Activity相关联,通常用于后台支持功能。
  • 3. 服务进程 - Service Process

    服务进程是指已经启动并在后台持续运行的Service。这些Service没有可见的界面,不直接与用户交互,但仍然被视为前台进程。Service的运行优先级低于前台进程,但高于可见进程。它们不会被系统轻易回收,除非系统面临资源紧张。

    4. 后台进程 - Background Process

    后台进程是指那些不可见的Activity以及没有启动Service的进程。这些进程可以看作是系统的"背景工作者",负责执行后台任务。Android系统会根据后台进程的占用情况,采用"后见先杀"的原则来管理后台进程资源。

    5. 空进程 - Empty Process

    Android系统为了优化内存使用,会保留已经完成生命周期的应用程序进程。这些进程虽然不在使用,但为了快速启动应用程序,系统会优先保留它们。然而,当需要释放内存时,这些空进程会被系统回收。

    进程管理的重要性

    合理的进程管理是确保Android系统性能的关键。通过对不同进程类型的理解,开发者可以更好地控制资源使用,优化应用性能,同时避免因进程管理不当导致的系统资源浪费。

    转载地址:http://siss.baihongyu.com/

    你可能感兴趣的文章
    nodejs字符与字节之间的转换
    查看>>
    NodeJs学习笔记001--npm换源
    查看>>
    NodeJs学习笔记002--npm常用命令详解
    查看>>
    nodejs学习笔记一——nodejs安装
    查看>>
    NodeJS实现跨域的方法( 4种 )
    查看>>
    nodejs封装http请求
    查看>>
    nodejs常用组件
    查看>>
    nodejs开发公众号报错 40164,白名单配置找不到,竟然是这个原因
    查看>>
    Nodejs异步回调的处理方法总结
    查看>>
    NodeJS报错 Fatal error: ENOSPC: System limit for number of file watchers reached, watch ‘...path...‘
    查看>>
    Nodejs教程09:实现一个带接口请求的简单服务器
    查看>>
    nodejs服务端实现post请求
    查看>>
    nodejs框架,原理,组件,核心,跟npm和vue的关系
    查看>>
    Nodejs概览: 思维导图、核心技术、应用场景
    查看>>
    nodejs模块——fs模块
    查看>>
    Nodejs模块、自定义模块、CommonJs的概念和使用
    查看>>
    nodejs生成多层目录和生成文件的通用方法
    查看>>
    nodejs端口被占用原因及解决方案
    查看>>
    Nodejs简介以及Windows上安装Nodejs
    查看>>
    nodejs系列之express
    查看>>