news 2025/12/25 10:26:24

Android 进程简析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Android 进程简析

进程管理

  • Out of Memory Killer:每一个进程的oom_adj初始值都等于其父进程的oom_adj值。oom_adj值越小,越不容易被杀死。内存紧张时,OOM Killer综合进程的内存消耗量、CPU时间、存活时间和oom_adj值来决定是否要杀死一个进程来回收内存
  • Low Memory Killer:进程的oom_adj值由ActivityManagerService根据运行在进程里面的组件的状态来计算。内存紧张时, LMK基于oom_adj值来决定是否要回收一个进程
    • Empty Process 空进程
    • Hidden Process
    • Perceptible Process
    • Visible Process 可见进程
    • Foreground Process 前台进程
  • 组件管理服务ActivityManagerService和窗口管理服务WindowManagerService也会在适当的时候主动进行进程回收。WindowManagerService在处理窗口的过程中发生Out Of Memroy时,也会通知ActivityManagerService杀掉那些包含有窗口的应用程序进程

重要进程

  • APP进程
    • 通过Process.start启动App进程, ActivityThread.main是入口
  • Launcher进程
  • System Server进程
    • 系统各大服务的载体。负责启动和管理整个Java framework,包含ActivityManager,WindowManager,PackageManager,PowerManager等服务。
    • 是由Zygote进程fork而来,System Server是Zygote孵化的第一个进程
    • 1350号线程是其主线程。
    • PackageManager线程(1454)是system_server进程里的一个子线程。
  • Zygote进程
    • 是Android系统的第一个Java进程(即虚拟机进程),Zygote是所有Java进程的父进程
    • Zygote进程本身是由init进程孵化而来的。
    • 有64位和32位两种。zygote64的主线程是451号线程。
  • servicemanager
    • binder服务管家
    • 守护进程循环运行在binder_loop
  • init进程(pid=1)
    • 用户空间的第一个进程,也是所有用户态进程的父进程
    • 负责创建和管理各个native进程。
  • kthreadd进程(pid=2)
    • 是Linux系统的内核进程,会创建内核工作线程kworkder,软中断线程ksoftirqd,thermal等内核守护线程。
    • kthreadd进程是所有内核线程的父进程。
  • swapper进程(pid=0)
    • 该进程又称为idle进程, 系统初始化过程Kernel由无到有开创的第一个进程
    • 用于初始化内核进程管理、内存管理,加载Display,Camera Driver,Binder Driver等相关工作
    • 创建init进程和ktheadd进程,最后进入idle循环,负责idle的管理和cpu热插拔之类的事务。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/17 14:31:40

VSCode + Azure QDK断点调试实战(99%开发者忽略的关键步骤)

第一章:VSCode Azure QDK断点调试的核心价值在量子计算开发中,调试复杂算法和验证量子态行为是关键挑战。VSCode 结合 Azure Quantum Development Kit(QDK)提供的断点调试功能,极大提升了开发效率与代码可靠性。通过本…

作者头像 李华
网站建设 2025/12/17 14:31:31

UR3 机械臂状态读取与多格式转换

代码由Qwen3-Max生成。prompt:设计一个读取UR3机械臂关节角度(两种格式输出:弧度和角度)和末端位姿的程序(3种格式:UR机械臂默认格式,欧拉角和旋转矩阵)。1. 代码ur3_state_reader.p…

作者头像 李华
网站建设 2025/12/17 14:31:06

盯紧这 3 个平台!“十五五” 万亿招标红利,能源 / 基建企业投标必看

2025 年 12 月以来,全国多地围绕 “十五五” 规划落地,密集发布新型能源体系、基础设施建设、产业升级等领域招标公告,覆盖储能、智能电网、清洁能源、综合交通、生态环保等关键赛道,为市场主体带来丰富合作机遇。与此同时&#x…

作者头像 李华
网站建设 2025/12/17 14:30:47

Windows任务栏分组管理完全手册:告别混乱,拥抱高效工作流

Windows任务栏分组管理完全手册:告别混乱,拥抱高效工作流 【免费下载链接】taskbar-groups Lightweight utility for organizing the taskbar through groups 项目地址: https://gitcode.com/gh_mirrors/ta/taskbar-groups 还在为满屏的任务栏图标…

作者头像 李华
网站建设 2025/12/17 14:30:43

OkHttp多平台网络解决方案:完整开发指南与实战技巧

OkHttp多平台网络解决方案:完整开发指南与实战技巧 【免费下载链接】okhttp square/okhttp:这是一个基于Java的网络请求库,适合进行HTTP和HTTPS通信。特点包括高性能、易于使用、支持缓存和认证等。 项目地址: https://gitcode.com/gh_mirr…

作者头像 李华
网站建设 2025/12/17 14:30:29

3分钟掌握SiYuan:打造你的专属数字大脑

3分钟掌握SiYuan:打造你的专属数字大脑 【免费下载链接】siyuan A privacy-first, self-hosted, fully open source personal knowledge management software, written in typescript and golang. 项目地址: https://gitcode.com/GitHub_Trending/si/siyuan …

作者头像 李华