1、在Activity中
public class TaskManagerActivity extends Activity {
private TextView tv_task_count, tv_avail_memory;
private ActivityManager am;
private List<RunningAppProcessInfo> runningappinfos;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
tv_task_count = (TextView) findViewById(R.id.tv_task_count);
tv_avail_memory = (TextView) findViewById(R.id.tv_avail_memory);
setTitleData();
}
//设置title的数据
private void setTitleData() {
tv_task_count.setText("进程数目:" + getProgressCount());
tv_avail_memory.setText("剩余内存:" +getAvailMemoryInfo());
}
// 获取正在运行的所有进程的个数
private int getProgressCount() {
runningappinfos = am.getRunningAppProcesses();
return runningappinfos.size();
}
//获取当前系统的剩余的可用内存信息
private String getAvailMemoryInfo() {
MemoryInfo outInfo = new ActivityManager.MemoryInfo();
am.getMemoryInfo(outInfo);
long size=outInfo.availMem;
return TextFormater.getDataSize(size);
}
}
2、Util下TextFormater 方法
public class TextFormater {
// 返回byte的数据大小对应的文本
public static String getDataSize(long size){
DecimalFormat formater=new DecimalFormat("####.00");
if (size<1024) {
return size+"bytes";
}else if (size<1024*1024) {
float kbsize=size/1024f;
// 0和#表示数字,但是#前面没有就用0表示
return formater.format(kbsize)+"KB";
}else if (size<1024*1024*1024) {
float mbsize=size/1024f/1024f;
// 0和#表示数字,但是#前面没有就用0表示
return formater.format(mbsize)+"MB";
}else if(size<1024*1024*1024*1024) {
float gbsize=size/1024f/1024f/1024f;
// 0和#表示数字,但是#前面没有就用0表示
return formater.format(gbsize)+"GB";
}else {
return "size:error";
}
}
}