【Android 进程保活】oom_adj 值 ( 简介 | 查询进程 PID | 根据进程 PID 查询 oom_adj 值 )
文章目录
- 一、oom_adj 值简介
- 二、查询进程号 PID
- 三、查询进程对应的 oom_adj 值
一、oom_adj 值简介
oom_adj 值是 Linux 内核为每个进程分配的 , 该值可以反映进程的优先级 ;
在内存不足 , 要杀进程 , 回收内存时 , 会根据该 oom_adj 值决定是否回收该进程 ;
oom_adj 值越大 , 对应的进程优先级越低 ;
二、查询进程号 PID
获取进程号 :
执行如下命令 , 可以获取 Android 手机的进程号 ;
adb shell ps
PS 每行的输出含义 :
- USER : 进程所属用户 , ROOT 是权限最高的用户 , 其它都是各个应用对应的用户名称 ;
- PID : 进程 ID ;
- PPID : 进程父 ID ;
- VSZ : Virtual Size 缩写 , 进程虚拟内存大小 ;
- RSS : Resident Set Size 缩写 , 该进程实际驻留在内存中的大小 ;
- WCHAN : 休眠进程对应的在内核中的地址 ;
- NAME : 进程名称 ;
最后看到了熟悉的企鹅进程保活操作 , 有 333 个进程 ;
在 Android Studio 界面中也可以查看进程 ID , 在 Logcat 面板中 , 进程栏中 , 可以看到 kim.hsl.app2 进程的进程 PID 是 11694 ;
在 PS 中对应的该 PID 为 11694 的进程 ;
u0_a356 11694 725 3714484 75520 0 0 S kim.hsl.app2
三、查询进程对应的 oom_adj 值
获取进程号之后 , 执行如下命令 , 即可查询进程号对应进程的 oom_adj 值 ;
首先进入 Android 设备 adb shell 命令行 ,
adb shell
然后获取 root 权限 ,
su
最后查询进程号对应进程的 oom_adj 值 ;
cat /proc/11694/oom_adj
最终查询的该进程的 oom_adj 值为 0 , 说明该进程当前处于前台 , 是前台进程 ;
查下企鹅的三个进程的 oom_adj 值 :
u0_a295 12420 725 4532232 92244 0 0 S com.tencent.mm:push
u0_a296 12474 726 1202112 78148 0 0 S com.tencent.mobileqq:TMAssistantDownloadSDKService
u0_a296 12591 726 1231864 84668 0 0 S com.tencent.mobileqq:MSF
- com.tencent.mm:push : 0 , 前台进程 , 这操作比较骚了 , 哪来了前台进程啊 ~~~
- com.tencent.mobileqq:TMAssistantDownloadSDKService : 这个进程还带重启的 , 查询的时候 , 进程号不见了 , 发现重启了 , 16 ;
- com.tencent.mobileqq:MSF : 9 ;
【Android 进程保活】oom_adj 值 ( 简介 | 查询进程 PID | 根据进程 PID 查询 oom_adj 值 )相关推荐
- Android 进程保活手段分析
如何进行进程保活,首先我们应该先分析一下进程被杀死的原因开始 Android进程被杀死的场景分析: 从 Android 的进程被杀死的场景分析,查看被杀死的原因 一.Android手机的进程回收策略 ...
- Android 系统(146)----Android进程保活招数概览
Android进程保活招数概览 Android中的进程保活应该分为两个方面: 提高进程的优先级,减少被系统杀死的可能性 在进程已经被杀死的情况下,通过一些手段来重新启动应用进程 本文针对这两方面来进程 ...
- Android进程保活(常驻内存)
Android将进程分为6个等级,它们按优先级顺序由高到低依次是: 1.前台进程( FOREGROUND_APP): 2.可视进程(VISIBLE_APP ): 3. 次要服务进程(SECOND ...
- 【Android 进程保活】oom_adj 值 ( oom_adj 值对应的进程优先级 | oom_adj 值动态改变 | 进程保活优化方向 )
文章目录 一.oom_adj 值对应的进程优先级 二.oom_adj 值动态改变 1.正常运行时的 oom_adj 值 2.按下 Home 键后的 oom_adj 值 3.按下回退键后的 oom_ad ...
- 【Android 进程保活】提升进程优先级 ( 使用前台 Service 提高应用进程优先级 | 启动相同 id 的第二个前台 Service 关闭通知 )
文章目录 一. 前台 Service 通知问题 二. 设置 startForeground id 参数为 0 三. 启动相同 id 的第二个前台 Service 关闭通知 1. 前台服务 1 2. 关 ...
- 【Android 进程保活】提升进程优先级 ( 使用前台 Service 提高应用进程优先级 | 效果展示 | 源码资源 )
文章目录 一. 使用前台 Service 提高应用进程优先级 1. 前台 Service 代码 2. 前台 Service 代码 3. 启动服务 二.效果展示 三.源码资源 一. 使用前台 Servi ...
- 【Android 进程保活】提升进程优先级 ( 1 像素 Activity 提高进程优先级 | taskAffinity 亲和性说明 | 运行效果 | 源码资源 )
文章目录 一.1 像素 Activity 提高进程优先级 1.主界面 MainActivity 2.1 像素 Activity 3.广播接收者 4.管理类 5.AndroidManifest.xml ...
- Android进程保活方案
自己曾经也在这个问题上伤过脑经,前几日刚好有一个北京的哥们在QQ说在做IM类的项目,问我进程保活如何处理比较恰当,决定去总结一下,网上搜索一下进程常驻的方案好多好多,但是很多的方案都是不靠谱的或者不是 ...
- 关于 Android 进程保活,你所需要知道的一切
早前,我在知乎上回答了这样一个问题:怎么让 Android 程序一直后台运行,像 QQ 一样不被杀死?.关于 Android 平台的进程保活这一块,想必是所有 Android 开发者瞩目的内容之一.你 ...
最新文章
- C Primer Plus 第7章 C控制语句:分支和跳转 7.1 if语句
- 计算机应用优质课资料,全国信息技术优质课一等奖教案——信息的收集
- 本文将向您展示如何在 Flutter 中编码/解码 JSON
- 回溯法(深度优先)剪枝和分支限界法(宽度优先)剪枝对比:01背包问题
- 利用Python随机或暴力生成密码
- git合并分支的策略(赞)
- mysql 报错3534_win7下安装MYSQL报错:MYSQL 服务无法启动的3534问题
- 数学建模 分支限界算法求解整数规划原理以及编程实现
- java actionscript_ActionScript(对比Java)学习笔记二
- 当时间管理碰上大数据,从此,悠悠时光也终不再那么漫长
- 【同步】文件同步rsync |自动同步软件FreeFileSync
- 数据分析A/BTest之APP页面
- 最全面的Fiddler界面讲解#工作原理#菜单栏#工具栏#底部状态栏#底部自带命令行控制台#session栏#request栏和response栏
- 单核CPU仍然存在线程安全问题
- 修复计算机用户名密码,win7恢复出厂设置后用户名密码是多少
- 在国内如何使用gmail_如何在Gmail中使用自定义背景
- 文件的下载(2)——解决下载文件名的乱码问题
- JXL开发Excel文档中文教程
- DRF学习之短信验证的实现用户注册(十二)
- jenkins占据内存过大