Android进程管理之工具类taskutils
来源:互联网 发布:linux 中文文件名乱码 编辑:程序博客网 时间:2024/05/21 04:23
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; }
}
0 0
- Android进程管理之工具类taskutils
- TaskUtils
- Android之进程管理
- Android进程管理之数据格式化类TextFormat
- Android进程管理之taskinfo模型
- android java进程管理(二)之zygote
- android java进程管理(八)之lowmemorykiller
- linux系统进程管理之glances工具的使用
- android java进程管理(三)之apk进程的启动
- android java进程管理(四)之进程记录表(ProcessRecord)
- android java进程管理(六)之apk进程的回收
- 图片管理Android工具类
- android 工具类 数据库管理
- android系统进程手机内存工具类
- android进程相关的工具类AppUtils
- Android AndroidUtilCode-进程相关工具类
- delphi之远程进程管理类模块
- Solaris之进程管理
- 元素离开屏幕的时候将其移除
- MySQL的中文乱码问题解决方案
- 将WPF转为PDF
- Windows值得推荐的桌面管理软件
- Android Studio 快捷键
- Android进程管理之工具类taskutils
- C/C++语言字符串操作总结
- gdb调试
- make工程管理器与Makefile
- 有感自己的的一个数字电路没学好,总结经验
- Bzoj2162:男生女生:网络流+容斥
- article元素
- 待总结
- 倒计时器的代码封装