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

android项目得到进程数量,运行内存和剩余运行内存

2015-12-11 20:41 696 查看
package com.itheima.utils;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;

import android.app.ActivityManager;
import android.app.ActivityManager.MemoryInfo;
import android.content.Context;
import android.text.format.Formatter;

public class RunRomUtils {
//得到运行的程序
public static int getCountRom(Context context){
ActivityManager am = (ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE);
return am.getRunningAppProcesses().size();

}
//得到剩余运行内存空间
public static String getAvail(Context context){
ActivityManager am = (ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE);
MemoryInfo outInfo = new MemoryInfo();
am.getMemoryInfo(outInfo );

return Formatter.formatFileSize(context, outInfo.availMem);
}
//得到总运行内存空间
public static String getTotal(Context context){
//4.1.2及以上可以用这个办法
//        ActivityManager am = (ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE);
//        MemoryInfo outInfo = new MemoryInfo();
//        am.getMemoryInfo(outInfo );
//        return Formatter.formatFileSize(context, outInfo.totalMem);
File file = new File("/proc/meminfo");
FileInputStream fileIn;
try {
fileIn = new FileInputStream(file);
InputStreamReader in = new InputStreamReader(fileIn);
BufferedReader br = new BufferedReader(in);
String result = br.readLine();
String total = "";
StringBuffer sb = new StringBuffer();
for (char c : result.toCharArray()) {
if(c>='0'&&c<='9'){
sb.append(c);
}
}
int c = Integer.valueOf(sb.toString())*1024;
return Formatter.formatFileSize(context,c);

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "";
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: