實(shí)體類
public class ProcessInfo {
public String name;
public String packageName;
public Drawable icon;
public long memory;
public boolean isUser; //true表示用戶進(jìn)程
public boolean isChecked; //表示當(dāng)前item是否被勾選
}
獲取正在運(yùn)行的進(jìn)程列表
public ArrayList<ProcessInfo> getRunningProcesses(Context context) {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> runningAppProcesses = am
.getRunningAppProcesses();//獲取運(yùn)行中進(jìn)程集合
PackageManager pm = context.getPackageManager();
ArrayList<ProcessInfo> list = new ArrayList<ProcessInfo>();
for (ActivityManager.RunningAppProcessInfo runningAppProcessInfo : runningAppProcesses) {
ProcessInfo info = new ProcessInfo();
String packageName = runningAppProcessInfo.processName; //包名
info.packageName = packageName;
int pid = runningAppProcessInfo.pid;
Debug.MemoryInfo[] processMemoryInfo = am.getProcessMemoryInfo(new int[]{pid});//根據(jù)pid返回內(nèi)存信息
long memory = processMemoryInfo[0].getTotalPrivateDirty() * 1024; //獲取當(dāng)前進(jìn)程占用內(nèi)存大小
info.memory = memory;
try {
ApplicationInfo applicationInfo = pm.getApplicationInfo(packageName, 0);//根據(jù)包名獲取相關(guān)應(yīng)用的信息
String name = applicationInfo.loadLabel(pm).toString();
Drawable icon = applicationInfo.loadIcon(pm);
info.name = name;
info.icon = icon;
int flags = applicationInfo.flags;
if((flags & ApplicationInfo.FLAG_SYSTEM)==ApplicationInfo.FLAG_SYSTEM){
//系統(tǒng)進(jìn)程
info.isUser = false;
}else{
//用戶進(jìn)程
info.isUser = true;
}
} catch (PackageManager.NameNotFoundException e) {
//某些系統(tǒng)進(jìn)程沒有名稱和圖標(biāo),會走此異常
info.name = packageName;
info.icon = context.getResources().getDrawable(R.drawable.system_default);
info.isUser = false;
e.printStackTrace();
}
list.add(info);
}
return list;
}
最后編輯于 :2017.12.10 00:19:08
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者 【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。 平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。