ActivityManager总结列表
1.公共方法
通过以兆为单位获取当前应用可用的内存大小。
当开发者在 manifest 文件中的 <application> 标签中设置 largeHeap 属性的值为 "true"时,
当前应用就可以获取到系统分配的最大堆内存.
如果你设置了该值, 可以通过 ActivityManager 的 getLargeMemoryClass() 函数获取最大的堆内存.
返回值是boolean值,用于判断设备是否是一个低内存的设备,如果返回为true则建议开发者减少一些消耗内存的操作。
Android规定运行内存小于512M的设备为低内存设备。
为应用创建一个新的任务,并放在任务栈的栈顶。
参数:activity :需要被添加的Activity,用于确定进入任务栈的入口
intent :用于启动Activity的Intent
description:携带的信息描述
thumbnail :缩略图资源
用于应用清除用户数据,相当于在设置中清除应用数据,但是不卸载该应用。
用于获取相应包名对应的apk的各种状态信息。
用于获取设备的信息,返回值是ConfigurationInfo。
用于获取Lancher启动器的图标大小,返回值是int类型。
(10)getMemoryInfo (ActivityManager.MemoryInfo outInfo)
用于获取当前系统的内存情况。
用于获取与应用相关的任务列表,返回类型List<ActivityManager.AppTask>。
(12)getAppTaskThumbnailSize()
用于返回Activity中缩略图的合适尺寸。
(13)getProcessMemoryInfo()
返回一个或者多个进程使用内存的情况,返回值是一个内存信息的数组MemoryInfo[]。
(14)getProcessesInErrorState()
返回一个或多个错误进程的信息。
(15)getRunningAppProcesses()
返回在设备上运行的应用程序进程列表,返回List<ActivityManager.RunningAppProcessInfo> 。
(16)getRunningServiceControlPanel()
返回一个PendingIntent,该PendingIntent会启动一个控制面板,里面会显示当前系统运行的一系列服务。
(17)getRunningServices(int maxNum)
返回当前正在运行的服务的列表,返回值List<ActivityManager.RunningServiceInfo>。
(18)isUserAMonkey()
“当用户是一个猴子?”,不不不,该方法是用于判断设备键盘是否被胡乱的按下。
(19)isRunningInTestHarness()
判断设备是否运行在测试框架中
(20)killBackgroundProcesses(String packageName)
根据包名杀死对应包的后台进程
(21)moveTaskToFront(int taskId, int flags, Bundle options)
将给定的id对应的任务移动到任务栈队列的最前面(携带参数)。
(22)moveTaskToFront(int taskId, int flags)
将给定的id对应的任务移动到任务栈队列的最前面(不携带参数)。
(23)getMyMemoryState (ActivityManager.RunningAppProcessInfo outState)
返回调用者进程的全局内存状态信息。
(24)getRecentTasks (int maxNum, int flags)
获取用户启动的任务列表
(25)getRunningTasks (int maxNum)
获取正在运行的任务列表
(26)isInLockTaskMode ()
判断该Activity是否在用户锁定的任务栈中
2 常量
String类型;主activity中的<meta-data>标签值
(2)MOVE_TASK_NO_USER_ACTION
int类型;对于用户发起的活动,当前activity不会收到提示
(3)MOVE_TASK_WITH_HOME
int类型;将后面的任务移动到前面
(4)RECENT_IGNORE_UNAVAILABLE
int类型;返回一份不包含任何当前任务的列表,这些任务对于用户是不可见的
(5)RECENT_WITH_EXCLUDED
int类型;返回所有任务的列表
3 内部类
(1)AppTask
用于管理自己应用中的任务
(2)MemoryInfo
用来检索有效的内存信息
(3)ProcessErrorStateInfo
用于在在发生错误时,检索内存中的有关信息
(4)RecentTaskInfo
用于管理用户最近访问和启动的任务信息
(5)RunningAppProcessInfo
用于管理正在运行的进程的信息
(6)RunningServiceInfo
用于管理正在运行的服务的信息
(7)RunningTaskInfo
用于管理正在运行的任务的信息
(8)TaskDescription
用于在最近的任务列表中设置和检索当前活动的信息。
注释
①源码中使用 “/* @hide /” 进行标注的类或者方法表示该类或者方法正在开发或者并不稳定,可能下次更新SDK后这些类或方法就不存在了,所以建议谨慎使用。
②本文所有资料来源,来自Android官方API文档(版本:API22),其中有个人理解部分,如有不足或错误十分抱歉并请读者及时提出,以便及时修改,谢谢。