1. 总内存(ram)
android 内存信息在 /proc/meminfo中,可以通过读取此文件获取信息。
public void getTotalMemory() {
String str1 = "/proc/meminfo";
String str2="";
try {
FileReader fr = new FileReader(str1);
BufferedReader localBufferedReader = new BufferedReader(fr, 8192);
while ((str2 = localBufferedReader.readLine()) != null) {
Log.i(TAG, "---" + str2);
}
} catch (IOException e) {
}
}
2. 获取当前可用内存
public long getAvailMemory() {
ActivityManager am = (ActivityManager)mContext.getSystemService(Context.ACTIVITY_SERVICE);
ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();
am.getMemoryInfo(mi);
return mi.availMem;
}

3. 获取rom大小
public long[] getRomMemroy() {
long[] romInfo = new long[2];
File root = Environment.getRootDirectory();
StatFs sf = new StatFs(root.getPath());
long bSize = sf.getBlockSize();
long bCount = sf.getBlockCount();
long availBlocks = sf.getAvailableBlocks();
romInfo[0] = bSize * bCount;// Total size
romInfo[1] = bSize * availBlocks;// Available size
return romInfo;
}

4. 获取SD卡容量
public long[] getSDCardMemory() {
long[] sdCardInfo=new long[2];
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
File sdcardDir = Environment.getExternalStorageDirectory();
StatFs sf = new StatFs(sdcardDir.getPath());
long bSize = sf.getBlockSize();
long bCount = sf.getBlockCount();
long availBlocks = sf.getAvailableBlocks();

sdCardInfo[0] = bSize * bCount;// Total size
sdCardInfo[1] = bSize * availBlocks;// Available size
}
return sdCardInfo;
}

5. 获取电量
private BroadcastReceiver batteryReceiver=new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
int level = intent.getIntExtra("level", 0);
// level Plus % Is the current power of the
}
};
在 activity中注册
registerReceiver(batteryReceiver,new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
6. CPU信息
public String[] getCpuInfo() {
String str1 = "/proc/cpuinfo";
String str2="";
String[] cpuInfo={"",""};
String[] arrayOfString;
try {
FileReader fr = new FileReader(str1);
BufferedReader localBufferedReader = new BufferedReader(fr, 8192);
str2 = localBufferedReader.readLine();
arrayOfString = str2.split("\\s+");
for (int i = 2; i < arrayOfString.length; i++) {
cpuInfo[0] = cpuInfo[0] + arrayOfString[i] + " ";
}
str2 = localBufferedReader.readLine();
arrayOfString = str2.split("\\s+");
cpuInfo[1] += arrayOfString[2];
localBufferedReader.close();
} catch (IOException e) {
}
return cpuInfo;
}

更多相关文章

  1. Android下为自己定义WifiManager类wifi模块代码
  2. Android中读取短信信息
  3. android 用到的技巧集
  4. Android(安卓)ScreenShot 屏幕截图
  5. Android(安卓)APP Package操作类
  6. [置顶] TabHost ~ 仿微信底部菜单
  7. Android(安卓)内存管理工具
  8. android屏幕截图
  9. Android(安卓)DatePickerDialog和TimePickerDialog

随机推荐

  1. Android启动页面整理
  2. 微软再下一城:与LG签署Android专利授权协
  3. android利用数据库实现搜索联想功能
  4. CyanogenMod 7 再把 Touchpad 的改造标竿
  5. Android 拍照和图库功能(适配Android 6.0
  6. Android应用开发实例篇(2)-----挂接电震动
  7. android优势与不足
  8. android 初学者 基础知识点
  9. Android事件处理模型二(基于监听接口的事
  10. Android大图片之缩略图,以及对原图按照指