android 获取process,service,me…
2014-04-18 11:58
169 查看
package
com.pig.message.info;
import
java.util.List;
import
android.app.ActivityManager;
import android.app.ActivityManager.MemoryInfo;
import android.app.ActivityManager.RunningAppProcessInfo;
import android.app.ActivityManager.RunningServiceInfo;
import android.app.ActivityManager.RunningTaskInfo;
import android.content.Context;
import android.os.Debug;
public class
AppInformation {
private ActivityManager activityManager =
null;
public AppInformation(Context context){
this.activityManager =
(ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
}
public boolean isAppRunning(String
packagename){
System.out.println("appIsRunning()...");
return false;
}
public int killProcessByName(String
killProcessName){
System.out.println("killProcessByName()...");
int killNum = 0;
List appProcessList =
activityManager.getRunningAppProcesses();
for(int i=0;
i<appProcessList.size(); i++){
RunningAppProcessInfo
appProcessInfo = (RunningAppProcessInfo)
appProcessList.get(i);
//进程ID
int pid =
appProcessInfo.pid;
//用户ID,类似于Linux的权限不同,ID也就不同,
比如root
int uid =
appProcessInfo.uid;
//进程名,默认是包名或者由属性android:process=""指定
String
processName = appProcessInfo.processName;
//获得该进程占用的内存
int[] memPid
= new int[]{ pid };
//此MemoryInfo位于android.os.Debug.MemoryInfo包中,用来统计进程的内存信息
Debug.MemoryInfo[]
memoryInfo =
activityManager.getProcessMemoryInfo(memPid);
//获取进程占内存用信息kb单位
int memSize =
memoryInfo[0].dalvikPrivateDirty;
System.out.println("process
name: " + processName + " pid: " + pid + " uid: " + uid + " memory
size is -->" + memSize + "kb");
//获得每个进程里运行的应用程序(包),即每个应用程序的包名
String[]
packageList = appProcessInfo.pkgList;
for(String
pkg : packageList){
System.out.println("package
name " + pkg + " in process id is -->" +
pid);
}
if(killProcessName.equals(processName)){
System.out.println("===============killProcess
pid-->" + pid);
android.os.Process.killProcess(pid);
killNum++;
}
}
return killNum;
}
public long
getSystemAvaialbeMemorySize(){
MemoryInfo memoryInfo = new
MemoryInfo();
activityManager.getMemoryInfo(memoryInfo);
long memSize =
memoryInfo.availMem;
System.out.println("getSystemAvaialbeMemorySize()...memory
size: " + memSize);
return memSize;
//调用系统函数,字符串转换long -String
KB/MB
//return
Formatter.formatFileSize(context, memSize);
}
public List getRunningAppProcessInfo(){
System.out.println("getRunningAppProcessInfo()...");
List appProcessList =
activityManager.getRunningAppProcesses();
for(int i=0;
i<appProcessList.size(); i++){
RunningAppProcessInfo
appProcessInfo = (RunningAppProcessInfo)
appProcessList.get(i);
//进程ID
int pid =
appProcessInfo.pid;
//用户ID,类似于Linux的权限不同,ID也就不同,
比如root
int uid =
appProcessInfo.uid;
//进程名,默认是包名或者由属性android:process=""指定
String
processName = appProcessInfo.processName;
//获得该进程占用的内存
int[] memPid
= new int[]{ pid };
//此MemoryInfo位于android.os.Debug.MemoryInfo包中,用来统计进程的内存信息
Debug.MemoryInfo[]
memoryInfo =
activityManager.getProcessMemoryInfo(memPid);
//获取进程占内存用信息kb单位
int memSize =
memoryInfo[0].dalvikPrivateDirty;
System.out.println("process
name: " + processName + " pid: " + pid + " uid: " + uid + " memory
size is -->" + memSize + "kb");
//获得每个进程里运行的应用程序(包),即每个应用程序的包名
String[]
packageList = appProcessInfo.pkgList;
for(String
pkg : packageList){
System.out.println("package
name " + pkg + " in process id is -->" +
pid);
}
}
return
appProcessList;
}
public List getRunningServiceInfo(){
System.out.println("getRunningServiceInfo()...");
List serviceList =
activityManager.getRunningServices(30);
for(int i=0;
i<serviceList.size(); i++){
com.pig.message.info;
import
java.util.List;
import
android.app.ActivityManager;
import android.app.ActivityManager.MemoryInfo;
import android.app.ActivityManager.RunningAppProcessInfo;
import android.app.ActivityManager.RunningServiceInfo;
import android.app.ActivityManager.RunningTaskInfo;
import android.content.Context;
import android.os.Debug;
public class
AppInformation {
private ActivityManager activityManager =
null;
public AppInformation(Context context){
this.activityManager =
(ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
}
public boolean isAppRunning(String
packagename){
System.out.println("appIsRunning()...");
return false;
}
public int killProcessByName(String
killProcessName){
System.out.println("killProcessByName()...");
int killNum = 0;
List appProcessList =
activityManager.getRunningAppProcesses();
for(int i=0;
i<appProcessList.size(); i++){
RunningAppProcessInfo
appProcessInfo = (RunningAppProcessInfo)
appProcessList.get(i);
//进程ID
int pid =
appProcessInfo.pid;
//用户ID,类似于Linux的权限不同,ID也就不同,
比如root
int uid =
appProcessInfo.uid;
//进程名,默认是包名或者由属性android:process=""指定
String
processName = appProcessInfo.processName;
//获得该进程占用的内存
int[] memPid
= new int[]{ pid };
//此MemoryInfo位于android.os.Debug.MemoryInfo包中,用来统计进程的内存信息
Debug.MemoryInfo[]
memoryInfo =
activityManager.getProcessMemoryInfo(memPid);
//获取进程占内存用信息kb单位
int memSize =
memoryInfo[0].dalvikPrivateDirty;
System.out.println("process
name: " + processName + " pid: " + pid + " uid: " + uid + " memory
size is -->" + memSize + "kb");
//获得每个进程里运行的应用程序(包),即每个应用程序的包名
String[]
packageList = appProcessInfo.pkgList;
for(String
pkg : packageList){
System.out.println("package
name " + pkg + " in process id is -->" +
pid);
}
if(killProcessName.equals(processName)){
System.out.println("===============killProcess
pid-->" + pid);
android.os.Process.killProcess(pid);
killNum++;
}
}
return killNum;
}
public long
getSystemAvaialbeMemorySize(){
MemoryInfo memoryInfo = new
MemoryInfo();
activityManager.getMemoryInfo(memoryInfo);
long memSize =
memoryInfo.availMem;
System.out.println("getSystemAvaialbeMemorySize()...memory
size: " + memSize);
return memSize;
//调用系统函数,字符串转换long -String
KB/MB
//return
Formatter.formatFileSize(context, memSize);
}
public List getRunningAppProcessInfo(){
System.out.println("getRunningAppProcessInfo()...");
List appProcessList =
activityManager.getRunningAppProcesses();
for(int i=0;
i<appProcessList.size(); i++){
RunningAppProcessInfo
appProcessInfo = (RunningAppProcessInfo)
appProcessList.get(i);
//进程ID
int pid =
appProcessInfo.pid;
//用户ID,类似于Linux的权限不同,ID也就不同,
比如root
int uid =
appProcessInfo.uid;
//进程名,默认是包名或者由属性android:process=""指定
String
processName = appProcessInfo.processName;
//获得该进程占用的内存
int[] memPid
= new int[]{ pid };
//此MemoryInfo位于android.os.Debug.MemoryInfo包中,用来统计进程的内存信息
Debug.MemoryInfo[]
memoryInfo =
activityManager.getProcessMemoryInfo(memPid);
//获取进程占内存用信息kb单位
int memSize =
memoryInfo[0].dalvikPrivateDirty;
System.out.println("process
name: " + processName + " pid: " + pid + " uid: " + uid + " memory
size is -->" + memSize + "kb");
//获得每个进程里运行的应用程序(包),即每个应用程序的包名
String[]
packageList = appProcessInfo.pkgList;
for(String
pkg : packageList){
System.out.println("package
name " + pkg + " in process id is -->" +
pid);
}
}
return
appProcessList;
}
public List getRunningServiceInfo(){
System.out.println("getRunningServiceInfo()...");
List serviceList =
activityManager.getRunningServices(30);
for(int i=0;
i<serviceList.size(); i++){
相关文章推荐
- android 获取process,service,me…
- Android&nbsp;获取手机IMEI
- Android&nbsp;中的&nbsp;Service&nbsp;全面总结
- android avd2.2获取街道信息:Geocoder, “the service is not available” && Geocoder返回List为null,得不到街道信息
- android&nbsp;获取sim卡运营商信息&nbsp;.
- android avd2.2获取街道信息:Geocoder, “the service is not available” && Geocoder返回List为null,得不到街道信息
- Android 成功 使用GPS获取当…
- Android&nbsp;获取屏幕尺寸与密度
- android 获取process,service,memory,task的信息
- android&nbsp;如何获取CPU频率(HZ…
- Android&nbsp;Service学习之IntentServi…
- android&nbsp;获取手机分辨率、状态栏、…
- android&nbsp;Service学习之本地服务
- Android&nbsp;中的&nbsp;Service&nbsp;全面…
- Android 获取状态栏高度
- android service 无法启动
- Android中获取api&nbsp;key的方法
- android 获取Bitmap 的两种方法
- android 获取process,service,memory,task的信息
- android 获取process,service,memory,task的信息,可以kill的哦