activityManager.getRunningAppProcesses()仅返回有关当前应用程序的信息。如何在android中检索所有正在运行的应用程序?
''' ActivityManager ActivityManager=(ActivityManager)getSystemService(Context.ACTIVITY_服务); ActivityManager.MemoryInfo MemoryInfo=新建ActivityManager.MemoryInfo(); activityManager.getMemoryInfo(memoryInfo)activityManager.getRunningAppProcesses()仅返回有关当前应用程序的信息。如何在android中检索所有正在运行的应用程序?,android,memory-management,background-process,cpu-usage,system-monitoring,Android,Memory Management,Background Process,Cpu Usage,System Monitoring,''' ActivityManager ActivityManager=(ActivityManager)getSystemService(Context.ACTIVITY_服务); ActivityManager.MemoryInfo MemoryInfo=新建ActivityManager.MemoryInfo(); activityManager.getMemoryInfo(memoryInfo) Log.i(标记“memoryInfo.availem”+memoryInfo.availe
Log.i(标记“memoryInfo.availem”+memoryInfo.availem+“\n”);
Log.i(标记“memoryInfo.lowMemory”+memoryInfo.lowMemory+“\n”);
Log.i(标记“memoryInfo.threshold”+memoryInfo.threshold+“\n”);
列出runningAppProcesses=activityManager.getRunningAppProcesses();
Map pidMap=newtreemap();
对于(ActivityManager.RunningAppProcessInfo RunningAppProcessInfo:RunningAppProcesss)
{
put(runningAppProcessInfo.pid,runningAppProcessInfo.processName);
字符串s=list.getText().toString();
list.setText(s+runningAppProcessInfo.processName);
}
集合键=pidMap.keySet();
for(int键:键)
{
int-pids[]=新int[1];
pids[0]=键;
android.os.Debug.MemoryInfo[]memoryInfoArray=activityManager.getProcessMemoryInfo(pids);
for(android.os.Debug.MemoryInfo-pidMemoryInfo:MemoryInfo-Array)
{
Log.i(TAG,String.format(“**MEMINFO在pid%d[%s]**\n”、pids[0]、pidMap.get(pids[0]));
Log.i(标记“pidMemoryInfo.getTotalPrivateDirty():”+pidMemoryInfo.getTotalPrivateDirty()+“\n”);
Log.i(标记“pidMemoryInfo.getTotalPss():”+pidMemoryInfo.getTotalPss()+“\n”);
Log.i(标记“pidMemoryInfo.getTotalSharedDirty():”+pidMemoryInfo.getTotalSharedDirty()+“\n”);
}
}
'''
Log.i(TAG, " memoryInfo.availMem " + memoryInfo.availMem + "\n" );
Log.i(TAG, " memoryInfo.lowMemory " + memoryInfo.lowMemory + "\n" );
Log.i(TAG, " memoryInfo.threshold " + memoryInfo.threshold + "\n" );
List<ActivityManager.RunningAppProcessInfo> runningAppProcesses = activityManager.getRunningAppProcesses();
Map<Integer, String> pidMap = new TreeMap<Integer, String>();
for (ActivityManager.RunningAppProcessInfo runningAppProcessInfo : runningAppProcesses)
{
pidMap.put(runningAppProcessInfo.pid, runningAppProcessInfo.processName);
String s= list.getText().toString();
list.setText(s+runningAppProcessInfo.processName);
}
Collection<Integer> keys = pidMap.keySet();
for(int key : keys)
{
int pids[] = new int[1];
pids[0] = key;
android.os.Debug.MemoryInfo[] memoryInfoArray = activityManager.getProcessMemoryInfo(pids);
for(android.os.Debug.MemoryInfo pidMemoryInfo: memoryInfoArray)
{
Log.i(TAG, String.format("** MEMINFO in pid %d [%s] **\n",pids[0],pidMap.get(pids[0])));
Log.i(TAG, " pidMemoryInfo.getTotalPrivateDirty(): " + pidMemoryInfo.getTotalPrivateDirty() + "\n");
Log.i(TAG, " pidMemoryInfo.getTotalPss(): " + pidMemoryInfo.getTotalPss() + "\n");
Log.i(TAG, " pidMemoryInfo.getTotalSharedDirty(): " + pidMemoryInfo.getTotalSharedDirty() + "\n");
}
}