AcctivityManager

ActivityManager.MemoryInfo: 系统可用内存信息
 ActivityManager.RecentTaskInfo: 最近的任务信息
ActivityManager.RunningAppProcessInfo: 正在运行的进程信息
ActivityManager.RunningServiceInfo: 正在运行的服务信息
ActivityManager.RunningTaskInfo: 正在运行的任务信息

 

1     ActivityManager.MemoryInfo类
    常用字段:
            long availMem 系统可用内存
            long threshold系统内存不足的阀值,即临界值
            boolean lowMemory 如果当前可用内存<=threshold,该值为真
2    ActivityManager.RunningAppProcessInfo类
   常用字段:
          int pid                             进程ID
          int uid                             进程所在的用户ID
          String processName    进程名,默认是包名或者由android:process=””属性指定
          String [ ] pkgList           运行在该进程下的所有应用程序名

3    android 判断activity是否在前台
 //如果不在前台,停止线程刷新时间
 ActivityManager am = (ActivityManagergetSystemService(ACTIVITY_SERVICE);  
ComponentName cn = am.getRunningTasks(1).get(0).topActivity;  
if(!"com.math.speedPractice".equals(cn.getPackageName())|| !"com.math.speedPractice.MathSpeedPractice".equals(cn.getClassName())){
                            if(myThread!=null){
                                myThread.sign=1;
                            }                               
                    }

4    获得后台正在运行的程序
 ActivityManager _ActivityManager = (ActivityManager) this
                 .getSystemService(Context.ACTIVITY_SERVICE);
         List<RunningAppProcessInfo> list = _ActivityManager
                 .getRunningAppProcesses();
         int i = list.size(); //列表长度
         Log.i("tag", String.valueOf(i));
         for (int j = 0; j < list.size(); j++) {
             Log.i("tag", list.get(j).processName);
         }
5    ActivityManager: java.lang.SecurityException 问题
:The java.lang.SecurityException you are seeing is because you may enter two entries pointing to same activity. Remove the second one and you should be good to go.
发现这个Activity在Manifest文件里写了两份,去掉一份后,终于可以正常运行了。
注:此问题还会引起,在手机端点击程序图标时,会提示程序未安装在手机上。

posted @ 2013-03-26 11:56  有你Android  阅读(218)  评论(0编辑  收藏  举报