安卓学习之-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)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • Centos7下zabbix安装与部署,设置中文(保姆级图文)【网络工程】

    Centos7下zabbix安装与部署,设置中文(保姆级图文)【网络工程】Centos7下zabbix安装与部署,设置中文(保姆级图文)【网络工程】安装过程的一些坑安装zabbix之前需要的环境关闭SeLinux关闭防火墙Firewalls安装apache安装MySQL安装php安装zabbix安装本体安装zabbix的包配置zabbix创建一个zabbix库创建账户并且授权设置密码导入表配置zabbixserver配置文件配置php部署zabbix打开部署网页部署网页设置控制板网页设置登录网页设置中文对服务器自身进行监控总结

    2022年10月31日
  • vue新建项目,目录文件解释「建议收藏」

    1.2.1、build文件夹是保存一些webpack的初始化配置。config文件夹保存一些项目初始化的配置。2、node_modules是npm加载的项目依赖的模块。3、src目录是我们要开发的目录,打开是这样的:其中assets:用来放置图片components:用来放组件文件app.vue:是项目入口文件,代码如下:App.vue相当于…

    2022年4月6日
  • 机器学习降维之线性判别分析

    1.LDA描述线性判别分析(LinearDiscriminantAnalysis,LDA)是一种有监督学习算法,同时经常被用来对数据进行降维,它是RonaldDisher在1936年发明的,

    2021年12月30日
  • 英语字母s的发音规则_S汉字的发音

    英语字母s的发音规则_S汉字的发音英语发音规则S字母一、总结一句话总结:1、S 在音节开头或清辅音前/s/?2、S 在元音字母间或浊辅音前/z/?3、Sh发/ʃ/?4、Sc-发/sk/或/s

    2022年8月2日
  • vue slot插槽_vue3 slot插槽

    vue slot插槽_vue3 slot插槽为什么使用slotslot(插槽)在生活中很多地方都有插槽,电脑usb的插槽,插板当中的电源插槽插槽的目的是为了让我们原来的设备具备更多的扩展性比如电脑的USB我们可以插入U盘,手机,鼠标,键

    2022年7月31日
  • java中解析json格式数据

    今天在项目中需要接收json格式数据进行数据库保存,长时间没有使用json格式的数据,今天突然用到还有写棘手,现在我来写一下在java中解析json格式数据的代码publicvoidsaveData(){jsonData= {“TSR_TOTAL”:1,”TSR_ITEMS”:[{“UDID”:”1″,”major”:”a”,”minor”:”1″}{“UDID”:”2″,”majo

    2022年4月6日

发表回复

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

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