Android中Java层的ActivityManager类中封装了很多API,可以供我们查询当前系统的很多信息,包括:内存、进程(Process)、任务栈(Task)、服务(Service)等的相关信息。
利用这些信息可以进行一些有用的判断,例如判断当前系统内存是否不足、指定Service是否在运行中。
(ActivityManager类封装了很多API方法供上层调用,具体负责管理Activity、Service等组件的是
ActivityManagerService(AMS),而这些功能大部分是在native层实现的。
)
1.获取内存信息
//获取内存信息//MemoryInfo比较重要的属性// availMem:系统当前可用内存// totalMem:系统总的内存// threshold:系统判定自己内存不足的阀值,即临界值。低于该值时,系统会开始杀死一些优先级较低的服务和进程。// lowMemory:当前是否处于第内存状态,若当前可用内存<=threshold,lowMemory为true
ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
mActivityManager.getMemoryInfo(memoryInfo);
2.获取正在运行的进程信息
//获取正在运行的进程信息