如何获得手机总内存和可用内存

package com.per.test;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.ArrayList;

import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityManager.MemoryInfo;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

public class TestzzzActivity extends Activity {
 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  Integer a = Integer.MAX_VALUE;
  Log.d("test", "ss:" + a);

  String s = getAvailMemory();
  String s2 = getTotalMemory();
  int total = getNumber(s2);
  TextView tv = (TextView) findViewById(R.id.sel);
  tv.setText("可用内存:" + s + ";总内存:" + total / 1024 + "MB");
 }

 /*
  * 获得可用内存
  */

 public String getAvailMemory() {

  ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
  MemoryInfo mi = new MemoryInfo();
  am.getMemoryInfo(mi);
  Log.d("test", "可用内存:" + mi.availMem);

  return android.text.format.Formatter.formatFileSize(this, mi.availMem);

 }

 /*
  * 获得系统文件的内容第一行为总内存
  */
 public String getTotalMemory() {

  String str1 = "/proc/meminfo";// 系统内存信息文件
  String str2 = null;
  String str3;
  ArrayList<String> arr = new ArrayList<String>();
  try {

   FileReader reader = new FileReader(str1);
   BufferedReader buf = new BufferedReader(reader, 1024);

   while (buf.read() != -1) {

    str2 = buf.readLine();

    arr.add(str2);
   }
   for (int i = 0; i < arr.size(); i++) {
    Log.d("test", "line" + i + ":" + arr.get(i));
   }

  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return arr.get(0);
 }

 public int getNumber(String str) {
  int m = 0;
  String s ="";
  for (int i = 0; i < str.length(); i++) {

   switch (str.charAt(i)) {
   case '1':
    s+='1';
    break;
   case '2':
    s+='2';
    break;
   case '3':
    s+='3';
    break;
   case '4':
    s+='4';
    break;
   case '5':
    s+='5';
    break;
   case '6':
    s+='6';
    break;
   case '7':
    s+='7';
    break;
   case '8':
    s+='8';
    break;
   case '9':
    s+='9';
    break;
   case '0':
    s+='0';
    break;
   default:
    break;
   }
  }
  if(!"".equals(s)&&null!=s){
   
   m = Integer.valueOf(s);
  }
  return m;
 }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值