您的位置:首页 > 移动开发 > Android开发

Android获取当前正在运行的线程和使用的内存

2014-03-04 22:14 701 查看
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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐