Android系统的进程,任务,服务的信息
2015-08-26 15:01
537 查看
http://www.cnblogs.com/yangxiao24/archive/2011/07/03/2096662.html
获取android系统中进程,任务,服务信息,需要通过ActivityManager类来实现。
ActivityManager的功能是为系统中所有运行着的Activity交互提供了接口。
ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
通过 List<RunningTaskInfo> runningTasks = am.getRunningTasks(maxNum);返回任务列表信息
通过List<RunningServiceInfo> serivces = am.getRunningServices(maxNum);返回服务列表信息
通过List<RunningAppProcessInfo> apps = am.getRunningAppProcesses(); 返回进程列表信息
下面是RunningTaskInfo,RunningServiceInfo,RunningAppProcessInfo,三个类的解释:
Android.app.ActivityManager.RunningTaskInfo
属性名称
数据类型
描述
baseActivity
ComponentName
任务做为第一个运行中的Activity组件信息
description
CharSequence
任务当前状态的描述
id
Int
任务的ID
numActivities
Int
任务中所运行的Activity数量,包含已停止的
numRunning
Int
任务中所运行的Activity数量,不包含已停止或不延续运行的
thumbnall
Bitmap
任务当前状态的位图表示,目前为null
topActivity
ComponentName
处于任务栈的栈顶的活动组件
Android.app.ActivityManager.RunningServiceInfo
属性名称
数据类型
描述
activeSince
long
服务第一次被激活的时间 (启动和绑定方式)
clientCount
Int
接到该服务的客户端数目
crashCount
Int
服务运行期间,出现死机的次数
foreground
Boolean
若为true,则该服务在后台执行
lastActivityTime
Long
最后一个Activity与服务绑定的时间
pid
int
若此值不为0,则表示正在运行服务的Id
Process
String
该服务的名称
restarting
long
若此值不为0,则表示该服务不在运行中,将在参数给定的时间点重启服务
service
ComponentName
服务的组件名称
started
boolean
若此值为true,则表示服务已经在启动运行中
Android.app.ActivityManager.RunningAppProcessInfo
属性名称
数据类型
描述
importance
int
进程在系统中的重要级别
importanceReasonCode
int
进程的重要原因代码
importanceReasonComponent
ComponentName
进程中组件的描述信息
importanceReasonPid
int
当前进程的子进程Id
lru
int
在同一个重要级别内的附加排序值
pid
int
当前进程Id
pkgList
String[]
被载入当前进程的所有包名
processName
String
当前进程的名称
uid
int
当前进程的用户Id
代码:
获取任务信息
@Override
public void onClick(View v) {
String info = "";
List<RunningTaskInfo> runningTasks = am.getRunningTasks(maxNum);
for (RunningTaskInfo task:runningTasks){
info += "一个任务信息开始:\n";
info += "启动当前任务的activity名称:" + task.baseActivity.getClassName()+ "\n";
info += "当前任务状态的描述:" + task.description.toString()+ "\n";
info += "当前任务Id:" + task.id+ "\n";
info += "任务中所运行的Activity数量,包含已停止的:" + task.numActivities+ "\n";
info += "任务中所运行的Activity数量,不包含已停止或不延续运行的:" + task.numRunning+ "\n";
System.out.print(info);
}
}
服务获取信息
@Override
public void onClick(View v) {
String info = "";
List<RunningServiceInfo> serivces = am.getRunningServices(maxNum);
for (RunningServiceInfo service:serivces){
info = "一个service信息开始:\n";
info += "服务第一次被激活的时间:" + service.activeSince + "\n";
info += "接到该服务的客户端数目:" + service.clientCount+ "\n";
info += "服务运行期间,出现死机的次数:" + service.crashCount+ "\n";
info += "若为true,则该服务在后台执行:" + service.foreground+ "\n";
info += "最后一个Activity与服务绑定的时间:" + service.lastActivityTime+ "\n";
info += "正在运行服务的Id:" + service.pid+ "\n";
info += "该服务的名称:" + service.process+ "\n";
info += "服务的组件名称:" + service.service+ "\n";
info += "若此值为true,则表示服务已经在启动运行中:" + service.started+ "\n";
info += "若此值不为0,则表示该服务不在运行中,将在参数给定的时间点重启服务:" + service.restarting+ "\n";
System.out.print(info);
}
}
进程获取信息
@Override
public void onClick(View v) {
String info = "";
List<RunningAppProcessInfo> apps = am.getRunningAppProcesses();
for(RunningAppProcessInfo app:apps){
info = "进程信息开始:\n";
info += "当前进程的用户Id:" + app.uid + "\n";
info += "当前进程的名称:" + app.processName + "\n";
info += "当前进程Id:" + app.pid + "\n";
info += "进程在系统中的重要级别:" + app.importance + "\n";
info += "进程的重要原因代码:" + app.importanceReasonCode + "\n";
info += "进程中组件的描述信息:" + app.importanceReasonComponent + "\n";
info += "当前进程的子进程Id:" + app.importanceReasonPid + "\n";
info += "在同一个重要级别内的附加排序值:" + app.lru + "\n";
System.out.print(info);
}
}
http://www.cnblogs.com/yangxiao24/archive/2011/07/03/2096662.html
获取android系统中进程,任务,服务信息,需要通过ActivityManager类来实现。
ActivityManager的功能是为系统中所有运行着的Activity交互提供了接口。
ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
通过 List<RunningTaskInfo> runningTasks = am.getRunningTasks(maxNum);返回任务列表信息
通过List<RunningServiceInfo> serivces = am.getRunningServices(maxNum);返回服务列表信息
通过List<RunningAppProcessInfo> apps = am.getRunningAppProcesses(); 返回进程列表信息
下面是RunningTaskInfo,RunningServiceInfo,RunningAppProcessInfo,三个类的解释:
Android.app.ActivityManager.RunningTaskInfo
属性名称
数据类型
描述
baseActivity
ComponentName
任务做为第一个运行中的Activity组件信息
description
CharSequence
任务当前状态的描述
id
Int
任务的ID
numActivities
Int
任务中所运行的Activity数量,包含已停止的
numRunning
Int
任务中所运行的Activity数量,不包含已停止或不延续运行的
thumbnall
Bitmap
任务当前状态的位图表示,目前为null
topActivity
ComponentName
处于任务栈的栈顶的活动组件
Android.app.ActivityManager.RunningServiceInfo
属性名称
数据类型
描述
activeSince
long
服务第一次被激活的时间 (启动和绑定方式)
clientCount
Int
接到该服务的客户端数目
crashCount
Int
服务运行期间,出现死机的次数
foreground
Boolean
若为true,则该服务在后台执行
lastActivityTime
Long
最后一个Activity与服务绑定的时间
pid
int
若此值不为0,则表示正在运行服务的Id
Process
String
该服务的名称
restarting
long
若此值不为0,则表示该服务不在运行中,将在参数给定的时间点重启服务
service
ComponentName
服务的组件名称
started
boolean
若此值为true,则表示服务已经在启动运行中
Android.app.ActivityManager.RunningAppProcessInfo
属性名称
数据类型
描述
importance
int
进程在系统中的重要级别
importanceReasonCode
int
进程的重要原因代码
importanceReasonComponent
ComponentName
进程中组件的描述信息
importanceReasonPid
int
当前进程的子进程Id
lru
int
在同一个重要级别内的附加排序值
pid
int
当前进程Id
pkgList
String[]
被载入当前进程的所有包名
processName
String
当前进程的名称
uid
int
当前进程的用户Id
代码:
获取任务信息
@Override
public void onClick(View v) {
String info = "";
List<RunningTaskInfo> runningTasks = am.getRunningTasks(maxNum);
for (RunningTaskInfo task:runningTasks){
info += "一个任务信息开始:\n";
info += "启动当前任务的activity名称:" + task.baseActivity.getClassName()+ "\n";
info += "当前任务状态的描述:" + task.description.toString()+ "\n";
info += "当前任务Id:" + task.id+ "\n";
info += "任务中所运行的Activity数量,包含已停止的:" + task.numActivities+ "\n";
info += "任务中所运行的Activity数量,不包含已停止或不延续运行的:" + task.numRunning+ "\n";
System.out.print(info);
}
}
服务获取信息
@Override
public void onClick(View v) {
String info = "";
List<RunningServiceInfo> serivces = am.getRunningServices(maxNum);
for (RunningServiceInfo service:serivces){
info = "一个service信息开始:\n";
info += "服务第一次被激活的时间:" + service.activeSince + "\n";
info += "接到该服务的客户端数目:" + service.clientCount+ "\n";
info += "服务运行期间,出现死机的次数:" + service.crashCount+ "\n";
info += "若为true,则该服务在后台执行:" + service.foreground+ "\n";
info += "最后一个Activity与服务绑定的时间:" + service.lastActivityTime+ "\n";
info += "正在运行服务的Id:" + service.pid+ "\n";
info += "该服务的名称:" + service.process+ "\n";
info += "服务的组件名称:" + service.service+ "\n";
info += "若此值为true,则表示服务已经在启动运行中:" + service.started+ "\n";
info += "若此值不为0,则表示该服务不在运行中,将在参数给定的时间点重启服务:" + service.restarting+ "\n";
System.out.print(info);
}
}
进程获取信息
@Override
public void onClick(View v) {
String info = "";
List<RunningAppProcessInfo> apps = am.getRunningAppProcesses();
for(RunningAppProcessInfo app:apps){
info = "进程信息开始:\n";
info += "当前进程的用户Id:" + app.uid + "\n";
info += "当前进程的名称:" + app.processName + "\n";
info += "当前进程Id:" + app.pid + "\n";
info += "进程在系统中的重要级别:" + app.importance + "\n";
info += "进程的重要原因代码:" + app.importanceReasonCode + "\n";
info += "进程中组件的描述信息:" + app.importanceReasonComponent + "\n";
info += "当前进程的子进程Id:" + app.importanceReasonPid + "\n";
info += "在同一个重要级别内的附加排序值:" + app.lru + "\n";
System.out.print(info);
}
}
相关文章推荐
- android 学习笔记 调用系统摄像头和相册
- android cookie持久化
- android cookie持久化
- android cookie持久化
- EditText设置可以编辑和不可编辑状态
- Android搭建开发环境及第一个Andriod项目
- Android KEYCODE键值对应大全
- Android开发之EditText属性详解
- AndroidのUI体验之ImmersiveMode沉浸模式
- Android 向右滑动销毁(finish)Activity, 随着手势的滑动而滑动的效果
- Android 收藏连接
- 如何修改Android应用程序的图标和名字
- adb获取android手机系统版本,已对应的api版本和硬件相关信息
- AndroidStudio快捷键大全
- ImageView 加大点击范围
- Android启动过程深入解析
- Android四大组件(详细总结)
- Checking API: checkapi-last make update-api
- Android SDK Manager国内无法更新的解决方案
- android textview实现前后边缘文字淡化的效果