如何获得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议与此有关的有用链接。

Solutions Collecting From Web 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