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中读取短信信息
  2. Android内存泄露调试分享
  3. Android 内存优化
  4. Android 性能优化之使用MAT分析内存泄露问题
  5. execlp启动android进程命令窗口通过adb shell 进入android 的Lin
  6. Android内存泄露利器MLT(整合篇)
  7. 获取Android 设备信息——build.prop
  8. android调用隐藏的网络信息设置菜单实现
  9. 《Android/OPhone开发完全讲义》连载(5):Notification与状态栏信息

随机推荐

  1. android 开机启动流程分析(16)Launcher启动
  2. Android(安卓)A/B System OTA分析(二)系统i
  3. Android - java.lang.ClassCastException
  4. Android Base64编码
  5. Android Studio 没有Generate signed Bun
  6. android悬浮球,应用在所有软件之上,点击可
  7. android RecyclerView 设置设置选中的一
  8. Android(安卓)Ui设计相关的网站推荐
  9. Android腾讯微薄客户端开发十一:博主的粉
  10. Cocos2dxActivity cannot be resolved to