如何获得手机总内存和可用内存
2012-04-26 18:35
344 查看
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;
}
}
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;
}
}
相关文章推荐
- 如何获取手机sd可用空间大小和手机内存可用空间大小
- android 获得手机,SD卡的(可用)内存
- Android 如何获取手机总内存和可用内存等信息
- Java获得jvm占用的内存和系统的可用内存信息(未测试)
- android 获得手机内存
- Android 获取手机总内存和可用内存等信息
- 探秘google开源android项目gallery如何在手机内存有限的情况下缓存手机sdcard的图片或者视频
- android如何获得本机地址(包括开启热点的手机)
- 关于如何获得自己项目启动到手机顶部Activity的实时对象
- 93_获取手机可用内存空间,进程数
- android如何获得手机屏幕大小
- 如何判断Android手机是否因为信号问题无法获得数据
- 如何获得你的准确位置及iphon手机应用定位不准确原因分析
- 请问下mtk双卡手机如何发短信是如何选择sim卡来发(双卡都可用的情况下)?
- ios 如何获取手机可用空间和总的存储空间的大小
- android 获取手机内存及 内存可用空间的方法
- java如何获得JVM可能的总内存,最大内存,以及空闲内存?
- Android 如何获取手机内存大小,内置存储空间大小
- 获得手机内存空间状态