枚举Android系统的进程、任务和服务的信息
一、简介
在Android Market上,不乏各种各样的手机管理软件,360手机安全软件,QQ手机安全助手,开机自启动管理软件,等等之类的~这些软件给我的一个感觉是,做手机管理软件的都很NX,于是自己也想实现一个很小的功能,比如:枚举Android系统中进程Process、任务Task和服务Service的信息。
首先在网上收集资料,想了解一下大N们是如何编写这类软件的,但是找了半天,结果是无功而返。其实,这个时候,往往忽略了手边最重要的一个开发资料,就是Android的开发文档。我也是新手当上路,不太了解整个Android SDK提供的包的结构,也只能先直接搜索关键字了。结果找到几个很重要的类:
package android.app;class ActivityManager.MemoryInfo Information you can retrieve about the available memory through getMemoryInfo(ActivityManager.MemoryInfo). class ActivityManager.ProcessErrorStateInfo Information you can retrieve about any processes that are in an error condition. class ActivityManager.RecentTaskInfo Information you can retrieve about tasks that the user has most recently started or visited. class ActivityManager.RunningAppProcessInfo Information you can retrieve about a running process. class ActivityManager.RunningServiceInfo Information you can retrieve about a particular Service that is currently running in the system. class ActivityManager.RunningTaskInfo Information you can retrieve about a particular task that is currently "running" in the system.
关于上面几个类的介绍,相信大家看英文可以知道这些类的大概意思,稍后在程序源代码中在为大家详细介绍。同时,类ActivityManager还实现几个对我们这个程序有用的方法:
1、List<ActivityManager.RunningAppProcessInfo> getRunningAppProcesses()
返回当前运行在Android设备上的所有应用程序的进程。
2、List<ActivityManager.RunningServiceInfo>
3、List<ActivityManager.RunningTaskInfo> getRunningTasks(int maxNum)
返回当前正在运行的任务列表(任务,是一个或多个活动的集合;这些活动以栈的形式运行在一个任务当中),按照最近一次运行的任务排在任务列表前端的方式,输出所有的任务。
二、执行结果展示
我们的程序执行后的效果如下,使用三个Tab页来分别显示进程信息、任务信息、和服务信息,每个Tab页中都是一个ListActivity,以列表的方式展示:
上图为系统进程信息
上图为系统任务信息
相关新闻>>
- 发表评论
-
- 最新评论 更多>>