当我使用 getRunningProcesses() 时,我得到了大约 20~30 个进程。
但是,当我在 Android 终端中使用 TOP 命令时,我看到了 80 多个进程。我发现“root”拥有的一些进程的内存消耗为零。
造成差异的原因是什么?TOP 发现的某些进程当前是否未运行?
top
显示操作系统上运行的所有进程。而 ActivityManager.getRunningAppProcesses
仅显示由 Android 启动的进程。
Root拥有的进程通常由linux内核启动用于事件处理,而返回的进程ActivityManager.getRunningAppProcesses
只有Android框架启动的进程
Android 运行很多服务。那些您不想关闭的服务,因为 Android 需要它们运行。以下是有关服务的更多信息:
另请阅读Android 开发人员 - 进程和线程。