博客
关于我
进程的优先级
阅读量: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连接mysql
    查看>>
    nodejs连接mysql
    查看>>
    NodeJs连接Oracle数据库
    查看>>
    nodejs配置express服务器,运行自动打开浏览器
    查看>>
    NodeMCU教程 http请求获取Json中文乱码解决方案
    查看>>
    Nodemon 深入解析与使用
    查看>>
    NodeSession:高效且灵活的Node.js会话管理工具
    查看>>
    node~ http缓存
    查看>>
    node不是内部命令时配置node环境变量
    查看>>
    node中fs模块之文件操作
    查看>>
    Node中同步与异步的方式读取文件
    查看>>
    node中的get请求和post请求的不同操作【node学习第五篇】
    查看>>
    Node中的Http模块和Url模块的使用
    查看>>
    Node中自启动工具supervisor的使用
    查看>>
    Node入门之创建第一个HelloNode
    查看>>
    node全局对象 文件系统
    查看>>
    Node出错导致运行崩溃的解决方案
    查看>>
    Node响应中文时解决乱码问题
    查看>>
    node基础(二)_模块以及处理乱码问题
    查看>>
    node安装卸载linux,Linux运维知识之linux 卸载安装node npm
    查看>>