如何获得android后台运行的进程的细节

我想列出所有后台正在运行的进程,并从一个后台服务(没有UI)获取这些进程的详细信息。 详情如下:

1. Name 2. Memory usage 3. Application related to process 4. Files they are accessing 5. Last modified time of files 

我可以得到后台运行进程列表,但如何获得内存使用情况,他们正在访问的文件和上次修改时间的文件。 这可能在API级别实现吗? 任何人都可以指导我如何做到这一点? 任何人都可以给我想法或build议与此有关的有用链接。

Related of "如何获得android后台运行的进程的细节"

正在运行的服务UI使用getRunningAppProcesses , getProcessMemoryInfo和getRunningServices 。

请注意,这些只会告诉您有关由高级系统pipe理的Java进程; getRunningAppProcesses不会返回有关低级守护进程的信息。

内核具有有关/ proc下打开文件的信息,但除非以root用户身份运行,否则无法获取有关其他进程的信息。

而且所有正在运行的进程都在/ proc下,但是请注意/ proc不是Android SDK的一部分,并且不能保证您的应用程序可以在所有设备或平台版本上运行。 / proc是一个私有的实现细节。

用下面这行代码你可以得到当前正在运行的服务列表

 ActivityManager localActivityManager = (ActivityManager) getSystemService(Activity.ACTIVITY_SERVICE); List RunningServiceInfoservices = localActivityManager.getRunningServices(100); 

从RunningServiceInfo,你可以得到过程的细节。 http://developer.android.com/reference/android/app/ActivityManager.RunningServiceInfo.html