美文网首页android日常开发
ActivityManager简单学习

ActivityManager简单学习

作者: 众少成多积小致巨 | 来源:发表于2019-08-25 16:06 被阅读0次

简介

android框架的一个重要部分,它负责一新ActivityThread进程创建,Activity生命周期的维护,是与系统所有正在运行着的Acitivity进行交互,对系统所有运行中的Activity相关信息(Task,Memory,Service,App等)进行管理和维护;提供了相应的接口用于获取这些信息。

常用信息

ActivityManager.MemoryInfo

MemoryInfo中重要的字段:availMem(系统可用内存),totalMem(总内存),threshold(低内存阈值,即低内存的临界线),lowMemory(是否为低内存状态)

Debug.MemoryInfo

Debug.MemoryInfo主要用于获取进程下的内存信息。

ActivityManager.RunningAppProcessInfo

封装运行进程的信息,相关字段:processName(进程名),pid(进程pid),uid(进程uid),pkgList(该进程下所有的包)。

ActivityManager.RunningServiceInfo

用于封装运行的服务信息,但是其中除了服务进程信息外还有一些其它信息,activeSince(第一次被激活的时间、方式),foreground(服务是否在后台执行)。

ActivityManager.RunningTaskInfo

用于封装Task信息,包含id(该任务的唯一标识),baseActivity(该任务栈的基础Activity),topActivity(该任务栈栈顶的Activity),numActivities(该任务栈中Activity数量),description(任务当前状态描述)等。

基本使用

获取实例

ActivityManager am = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);

常用方法

clearApplicationUserData() :用于清除用户数据,等同于在手机设置中清除用户数据。

addAppTask (Activity activity, Intent intent, ActivityManager.TaskDescription description, Bitmap thumbnail) :为Activity创建新的任务栈,activity(需要创建任务栈的Activity),intent(用于跳转页面的Intent),description(描述信息),thumbnail(缩略图)

getDeviceConfigurationInfo () :获取设备信息

getLauncherLargeIconSize () : 获取Launcher(启动器)图标大小

getMemoryInfo (ActivityManager.MemoryInfo outInfo) : 获取系统当前内存信息

getProcessMemoryInfo():返回一个或者多个进程使用内存的情况

getRunningAppProcesses() :获取该设备上应用程序进程列表

getAppTasks() :获取当前应用任务列表

isUserAMonkey() :是否用户是一个猴子,用于判断键盘是否被乱按

killBackgroundProcesses(String packageName) :根据包名杀死对应进程

getRunningTasks (int maxNum) :获取正在运行的任务列表

getRecentTasks (int maxNum, int flags) :获取用户启动的任务列表

getMyMemoryState (ActivityManager.RunningAppProcessInfo outState) :获取该进程的全局内存状态

常用案例:

栈顶应用包名 栈顶activity

相关文章

网友评论

    本文标题:ActivityManager简单学习

    本文链接:https://www.haomeiwen.com/subject/zqohectx.html