oom_adj 值是 Linux 内核为每个进程分配的 , 该值可以反映进程的优先级 ;
在内存不足 , 要杀进程 , 回收内存时 , 会根据该 oom_adj 值决定是否回收该进程 ;
oom_adj 值越大 , 对应的进程优先级越低 ;
获取进程号 :
执行如下命令 , 可以获取 Android 手机的进程号 ;
adb shell ps
PS 每行的输出含义 :
最后看到了熟悉的企鹅进程保活操作 , 有
个进程 ;
在 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 值 ;
首先进入 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