一、ActivityManager的作用
ActivityManager负责新的Activity Thread的创建、Activity生命周期的维护以及对系统内存使用情况的监控。
二、ActivityManager的内部类
ActivityManager有6个内部类,分别是:
- ActivityManager.MemoryInfo 系统内存使用情况
- ActivityManager.ProcessErrorStateInfo 错误状态的进程
- ActivityManager.RecentTaskInfo 近期用户打开的任务信息
- ActivityManager.RunningAppProcessInfo 正在运行的应用程序进程信息
- ActivityManager.RunningServiceInfo 正在运行的服务信息
- ActivityManagerRunningTaskInfo 正在运行的任务信息
三、ActivityManager对象的初始化
ActivityManager>
四、ActivityManager中一些常用方法
- ConfigurationInfo>
- int getLauncherLargeIconDensity () 获取Launcher下图标的密度,返回密度DPI
- int getLauncherLargeIconSize ()获取Launcher下的图标大小
- int getMemoryClass () 获取内存信息
- void getMemoryInfo (ActivityManager.MemoryInfo outInfo) 获取系统可用内存信息,并将信息存入参数 outInfo中。
- static void getMyMemoryState (ActivityManager.RunningAppProcessInfo outState) 获取系统内存状态信息,并将信息存入参数 outState中,但不是全部信息。
- MemoryInfo[] getProcessMemoryInfo (int[] pids) 获取每个进程(ID)使用的内存信息MemoryInfo,一一对应,返回一个内存信息集合MemoryInfo[]
- List<ActivityManager.ProcessErrorStateInfo> getProcessesInErrorState 返回一个处于错误状态的进程列表,如果没有错误状态的进程,返回Null()
- List<ActivityManager.RecentTaskInfo> getRecentTasks (int maxNum, int flags) 获得最近开启的任务
- List<ActivityManager.RunningAppProcessInfo> getRunningAppProcesses () 返回一个PendingIntent ,给一个组件名,如果有与这个名字匹配的Service则返回,否则返回Null
- PendingIntent getRunningServiceControlPanel (ComponentName service) 返回一个PendingIntent ,给一个组件名,如果有与这个名字匹配的Service则返回,否则返回Null。
- List<ActivityManager.RunningServiceInfo> getRunningServices (int maxNum) 获取系统里正在运行的服务, maxNum 为要获取服务的最大数量,一般为20或者50。
- List<ActivityManager.RunningTaskInfo> getRunningTasks (int maxNum) 获取系统里正在运行的任务, maxNum 为要获取服务的最大数量
- static boolean isUserAMonkey () Monkey测试??
- void killBackgroundProcesses (String packageName) 立即杀掉给定包名的进程,释放进程占用的资源(内存等) 【只有用户进程可以kill】
五、ActivityManager.MemoryInfo
该类主要用于查看内存信息。availMem的值是系统可用的内存大小,threshold表示的是系统内存不足的阀值,也就是临界值,而lowMemory则是判断当前可用内存是否大于等于临界值。
六、ActivityManager.RunningAppProcessInfo
该类主要用于查看正在运行的应用程序信息。pid字段标明了进程id,uid则标明了进程所在用户的id。processName则是存放进程名称的字段(默认值是包名或者由android:process属性指定)。pkgList则是一个存储该进程下的所有应用程序包名的数组。