博客
关于我
进程的优先级
阅读量: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 npm常用命令
    查看>>
    Nodejs process.nextTick() 使用详解
    查看>>
    nodejs 创建HTTP服务器详解
    查看>>
    nodejs 发起 GET 请求示例和 POST 请求示例
    查看>>
    NodeJS 导入导出模块的方法( 代码演示 )
    查看>>
    nodejs 开发websocket 笔记
    查看>>
    nodejs 的 Buffer 详解
    查看>>
    nodejs 读取xlsx文件内容
    查看>>
    nodejs 运行CMD命令
    查看>>
    Nodejs+Express+Mysql实现简单用户管理增删改查
    查看>>
    nodejs+nginx获取真实ip
    查看>>
    nodejs-mime类型
    查看>>
    NodeJs——(11)控制权转移next
    查看>>
    NodeJS、NPM安装配置步骤(windows版本)
    查看>>
    NodeJS、NPM安装配置步骤(windows版本)
    查看>>
    nodejs与javascript中的aes加密
    查看>>
    nodejs中Express 路由统一设置缓存的小技巧
    查看>>
    nodejs中express的使用
    查看>>
    Nodejs中的fs模块的使用
    查看>>
    NodeJS使用淘宝npm镜像站的各种姿势
    查看>>