Android进程管理之工具类taskutils
2016-07-11 09:00
387 查看
public class TaskUtils {
}
/** * 获取当前正在进行的进程数 * @param context * @return */ //返回正在运行的APP进程数量 public static int getRunningAppProcessInfoSize(Context context){ ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); return am.getRunningAppProcesses().size(); } /** * 获取系统可用内存 * @param context * @return */ //获取系统目前可用内存 public static long getAvailMem(Context context){ ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); //得到可用内存 MemoryInfo outInfo = new MemoryInfo(); am.getMemoryInfo(outInfo); long availMem = outInfo.availMem; //单位是byte return availMem; } /** * 获取系统所有的进程信息列表 * @param context * @return */ //获取当前正在运行的APP进程集合 public static List<TaskInfo> getTaskInfos(Context context){ List<TaskInfo> taskInfos = new ArrayList<TaskInfo>(); PackageManager pm = context.getPackageManager(); ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<RunningAppProcessInfo> runningAppProcesses = am.getRunningAppProcesses(); for(RunningAppProcessInfo info : runningAppProcesses){ TaskInfo taskInfo = new TaskInfo(); //进程名称 String packageName = info.processName; taskInfo.setPackageName(packageName); try { ApplicationInfo applicationInfo = pm.getApplicationInfo(packageName, 0); //图标 Drawable task_icon = applicationInfo.loadIcon(pm); if(task_icon == null){ //获取应用图标失败 taskInfo.setTask_icon(context.getResources().getDrawable(R.drawable.ic_launcher)); }else{ taskInfo.setTask_icon(task_icon); } //名称 String task_name = applicationInfo.loadLabel(pm).toString(); taskInfo.setTask_name(task_name); } catch (NameNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } //进程id int pid = info.pid; taskInfo.setPid(pid); //获取进程占用的内存 android.os.Debug.MemoryInfo[] processMemoryInfo = am.getProcessMemoryInfo(new int[]{pid}); android.os.Debug.MemoryInfo memoryInfo = processMemoryInfo[0]; long totalPrivateDirty = memoryInfo.getTotalPrivateDirty(); //KB taskInfo.setTask_memory(totalPrivateDirty); taskInfos.add(taskInfo); } return taskInfos; }
}
相关文章推荐
- Android Studio 快捷键
- Android第三十天
- Android第二十九天
- android环境下两种md5加密方式
- Android 四大组件 五大布局
- android Base64加密解密
- Android Bitmap
- 安卓中关于Shareprence
- Android官方开发文档Training系列课程中文版:创建自定义View之View的创建
- Android的Selector 应用详解
- 老生常谈 activity 启动模式
- Android的独白
- Android应用A启动应用B的某个Activity
- Android开发——Retrofit2.0 工具类
- Android外部SD卡的读取
- Android事件分发机制
- Android 画图流程
- android关于AndroidManifest.xml详细分析
- AndroidManifest详解之Application(有图更好懂)
- android:configChanges属性