package cn.itcast.mobilesafe.ui;
import java.util.List;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityManager.MemoryInfo;
import android.app.ActivityManager.RunningAppProcessInfo;
import android.os.Bundle;
import android.view.Window;
import android.widget.TextView;
import cn.itcast.mobilesafe.R;
import cn.itcast.mobilesafe.util.TextFormat;
public class TastManagerActivity extends Activity {
private TextView tv_task_count;
private TextView tv_task_memory;
private ActivityManager am;
private List<RunningAppProcessInfo> runningAppProcessInfoList;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
boolean flag = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.task_manager);
if(flag){
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.task_manager_title);
}
tv_task_memory = (TextView) this.findViewById(R.id.tv_task_memory);
tv_task_count = (TextView) this.findViewById(R.id.tv_task_count);
//设置title的数据
setTitleData();
}
/**
* 设置title的数据
*/
private void setTitleData() {
/**
* 如果是int类型的 它可能会认为是id 可能会报错
*/
tv_task_count.setText("进程数目:"+getProcessCount());
tv_task_memory.setText("剩余内存:"+getAvailMemoryInfo());
}
/**
* 获取当前正在运行的进程的数目
* @return
*/
private int getProcessCount(){
runningAppProcessInfoList = am.getRunningAppProcesses();//获取正在运行的进程
return runningAppProcessInfoList.size();
}
/**
* 获取当前系统的可用内存信息
*/
private String getAvailMemoryInfo(){
MemoryInfo outInfo = new ActivityManager.MemoryInfo();
am.getMemoryInfo(outInfo);//获取的内存信息放入到outInfo中
long size = outInfo.availMem;//当前系统中剩余的可用内存信息 单位 byte
return TextFormat.getDateSize(size);
}
}
Android获取当前正在运行的线程和使用的内存
最新推荐文章于 2024-04-18 15:23:27 发布