安卓学习之-ActivityManager

安卓学习之-ActivityManagerActivityManager.MemoryInfo:系统可用内存信息ActivityManager.RecentTaskInfo:最近的任务信息ActivityManager.RunningAppProcessInfo:正在运行的进程信息ActivityManager.RunningServiceInfo:正在运行的服务信息


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

ActivityManager 类:

             获取方法 ActivityManager mActivityManager (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);

          常用的静态内部类如下(下面具体介绍):

                     ActivityManager.MemoryInfo: 系统可用内存信息

                      ActivityManager.RecentTaskInfo: 最近的任务信息

                      ActivityManager.RunningAppProcessInfo: 正在运行的进程信息

                      ActivityManager.RunningServiceInfo: 正在运行的服务信息

                      ActivityManager.RunningTaskInfo: 正在运行的任务信息

 常用方法:

public void getMemoryInfo(ActivityManager.MemoryInfo outInfo)

                说明:获取系统可用内存信息,数据封装在outInfo对象上

public Debug.MemoryInfo getProcessMemoryInfo(int[ ] pids

     说明:获取每个进程ID(集合)占用的内存大小(集合), pid和MemoryInfo是一一对应的。

     参数: pids 进程ID的集合            

PS :我们可以通过调用Debug.MemoryInfo 的dalvikPrivateDirty字段获取进程占用的内存大小(单位为KB)

 

 public List<ActivityManager.RunningAppProcessInfo>getRunningAppProcess()

    说明: 获取系统里正在运行的进程

public List<ActivityManager.RunningServiceInfo>getRunningServices(int maxNum)

     说明: 获取系统里所有正在运行的服务         

     参数:可能服务的最大值(赋予一常数即可,20、50都OK)

public List<ActivityManager.RunningTaskInfoo>getRunningTasks(int maxNum)

               说明:获取系统里正在运行的服务

               参数: 同上

public List<ActivityManager.RecentTaskInfo>getRecentTasks(int maxNum, int flags)

             说明:获取系统里最近启动的任务

             参数: 同上,flags一般为0即可

public voidkillBackgroundProcess(String packageName)

            说明:立即杀掉给定包名的进程,释放进程占用的资源(内存等),如果需要,系统会再次重新启动该进程。系统

            PS:系统进程是杀不死的,只能杀死用户进程。但我没有找到好的方法辨别系统进程还是用户进程。但可以肯定的是,

                   能够杀死的一定是用户进程。

          public void restartPackage(String packageName)

            说明:该方法已弃用,等同于killBackgroundProcess 。

 

 

 ActivityManager.MemoryInfo类

    常用字段:

            long availMem 系统可用内存

            long threshold系统内存不足的阀值,即临界值

            boolean lowMemory 如果当前可用内存<=threshold,该值为真

 

ActivityManager.RunningAppProcessInfo类

   常用字段:

          int pid                             进程ID

          int uid                             进程所在的用户ID

          String processName    进程名,默认是包名或者由android:process=””属性指定

          String [ ] pkgList           运行在该进程下的所有应用程序包名

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196347.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 有序map和无序map_map怎么实现有序

    有序map和无序map_map怎么实现有序【业务】JS中的有序Map与无序Object

    2022年9月15日
  • Toast弹窗_toast 提示

    Toast弹窗_toast 提示js部分importvuefrom”vue”;//这里就是我们刚刚创建的那个静态组件importtoastComponentfrom”./toast.vue”;//把vue组件引进来//返回一个扩展实例构造器constToastConstructor=vue.extend(toastComponent);//定义弹出组件的函数接收2个参数,要显示…

    2022年9月24日
  • Nginx和OpenResty专栏帖

    本帖 是用于统计整理Nginx和Openresty相关的学习博客和资料,方便自己学习和后期快速查找对应的知识!Nginx 学习Nginx官網 : http://nginx.org/en/Nginx中文文档 : http://www.nginx.cn/doc/Nginx开发从入门到精通 :http://tengine.taobao.org/book/ 【从模块开发逐渐过渡到nginx原理剖析:比较

    2022年2月26日
  • python中文件的写入_python列表写入txt文件

    python中文件的写入_python列表写入txt文件1.自己写入txt直接上核心代码:withopen(“douban.txt”,”w”)asf:f.write(“这是个测试!”)12这句话自带文件关闭功能,所以和那些先open再write再close的方式来说,更加pythontic!结果就是这样:2.将文件输入(print)的内容写入txt我并不喜欢手写字符,更多时候用到的就是将程序跑出来的print写到txt中保存,比如

    2022年10月2日
  • 探索衰老机制的中心环节_紫乌鸦刷新机制改了

    探索衰老机制的中心环节_紫乌鸦刷新机制改了前期准备:PC:win7X64vs2013 emwin相关:emwin5.42模拟器,emwin5.42英文手册 同一父窗口下两个控件的刷新不对父窗口进行刷新的前提下,指刷新widget1和widget2. 1.widget为 Framewin或WIndow如果两个widget为Framewin或WIndow类型,则graphic

    2022年10月14日
  • Promise的含义和用法「建议收藏」

    Promise的含义和用法「建议收藏」含义Promise是异步编程的一种解决方案。Promise对象有以下2个特点:1.对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态:Pending(进行中)、Resolved(已完成)和Rejected(已失败)。只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。这也是Promise这个名字的由来,它的英语意思就是“承诺”,表示其…

    2022年5月30日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号