Java OpenResty Spring Spring Boot MySQL Redis MongoDB PostgreSQL Linux Android Nginx 面试 小程序 Arthas JVM AQS juc Kubernetes Docker 诊断工具


Android ActivityManager

Android 评论 1 大约 1251 字

获取Activity管理器

//获取活动管理器
ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
  • 获取正在运行的服务,传0参数表示获取的服务的最大数

    List<RunningServiceInfo> runningServices = am.getRunningServices(1000);
    for (RunningServiceInfo runningServiceInfo : runningServices) {
      String className = runningServiceInfo.service.getClassName();
    }
  • 2.获取正在运行的进程

    
    List<RunningAppProcessInfo> runningAppProcesses = am.getRunningAppProcesses();
    for (RunningAppProcessInfo runningAppProcessInfo : runningAppProcesses) {

}



- 获取正在运行的任务栈  
传1参数表示最多可以获取多少个正在运行的任务栈
```java
List<RunningTaskInfo> runningTasks = am.getRunningTasks(1);
for (RunningTaskInfo runningTaskInfo : runningTasks) {
    //获取最底部的activity
    ComponentName baseActivity = runningTaskInfo.baseActivity;
    //获取最顶部的activity
    //ComponentName topActivity = runningTaskInfo.topActivity;

    String packageName = baseActivity.getPackageName();
}  
  • 获取系统当前的内存
    保存到MemoryInfo

    MemoryInfo outInfo = new MemoryInfo();
    am.getMemoryInfo(outInfo);  
  • 杀死后台进程

    List<RunningAppProcessInfo> runningAppProcesses = am.getRunningAppProcesses();
    for (RunningAppProcessInfo runningAppProcessInfo : runningAppProcesses) {
      am.killBackgroundProcesses(runningAppProcessInfo.processName);
    } 
阅读 3191 · 发布于 2019-04-13

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb

扫描下方二维码关注公众号和小程序↓↓↓

扫描二维码关注我
昵称:
  • az 1楼
    博主我用getProcessesInErrorState这个方法想获取另一个App的异常状态,我杀死另一个app的时候它返回的是null,是我用错了吗?
    Chrome | Windows 10 2022-08-31
随便看看 换一批