package com.imooc.systemtest;
import android.app.Activity;
import android.app.ActivityManager;
import android.content.Context;
import android.os.Bundle;
import android.os.Debug;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.List;
public class AMProcessTest extends Activity {
private ListView mListView;
private List<AMProcessInfo> mAmProcessInfoList;
private ActivityManager mActivityManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.am_process_main);
mListView = (ListView) findViewById(R.id.listView_am_process);
mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
mListView.setAdapter(new AMProcessAdapter(this, getRunningProcessInfo()));
}
private List<AMProcessInfo> getRunningProcessInfo() {
mAmProcessInfoList = new ArrayList<AMProcessInfo>();
List<ActivityManager.RunningAppProcessInfo> appProcessList =
mActivityManager.getRunningAppProcesses();
for (int i = 0; i < appProcessList.size(); i++) {
ActivityManager.RunningAppProcessInfo info =
appProcessList.get(i);
int pid = info.pid;
int uid = info.uid;
String processName = info.processName;
int[] memoryPid = new int[]{pid};
Debug.MemoryInfo[] memoryInfo = mActivityManager
.getProcessMemoryInfo(memoryPid);
int memorySize = memoryInfo[0].getTotalPss();
AMProcessInfo processInfo = new AMProcessInfo();
processInfo.setPid("" + pid);
processInfo.setUid("" + uid);
processInfo.setMemorySize("" + memorySize);
processInfo.setProcessName(processName);
mAmProcessInfoList.add(processInfo);
}
return mAmProcessInfoList;
}
}