1 /** 手机总内存 */
2 private String getTotalMemory() {
3 // 系统内存信息文件
4 String str1 = "/proc/meminfo";
5 String str2;
6 String[] arrayOfString;
7 long initial_memory = 0;
8
9 try {
10 FileReader localFileReader = new FileReader(str1);
11 BufferedReader localBufferedReader = new BufferedReader(
12 localFileReader, 8192);
13 // 读取meminfo第一行,系统总内存大小
14 str2 = localBufferedReader.readLine();
15
16 arrayOfString = str2.split("\s+");
17 for (String num : arrayOfString) {
18 Log.i(str2, num + " ");
19 }
20 // 获得系统总内存,单位是KB,乘以1024转换为Byte
21 initial_memory = Integer.valueOf(arrayOfString[1]).intValue() * 1024;
22 localBufferedReader.close();
23 } catch (IOException e) {
24 }
25 // Byte转换为KB或者MB,内存大小规格化
26 return Formatter.formatFileSize(getBaseContext(), initial_memory);
27 }
1 /** 获取android当前可用内存大小 */
2 private String getAvailMemory() {
3 ActivityManager am = (ActivityManager) getSystemService(
Context.ACTIVITY_SERVICE);
4 MemoryInfo mi = new MemoryInfo();
5 am.getMemoryInfo(mi);
6 // mi.availMem; 当前系统的可用内存
7 // 将获取的内存大小规格化
8 return Formatter.formatFileSize(getBaseContext(), mi.availMem);
9 }
1 /** Android获取应用所占内存大小 */
2 private void getRunningAppProcessInfo() {
3 ActivityManager mActivityManager = (ActivityManager) getSystemService(
4 Context.ACTIVITY_SERVICE);
5
6 // 获得系统里正在运行的所有进程
7 List<RunningAppProcessInfo> runningAppProcessesList = mActivityManager
8 .getRunningAppProcesses();
9
10 for (RunningAppProcessInfo runningAppProcessInfo : runningAppProcessesList) {
11 // 进程ID号
12 int pid = runningAppProcessInfo.pid;
13 // 用户ID
14 int uid = runningAppProcessInfo.uid;
15 // 进程名
16 String processName = runningAppProcessInfo.processName;
17 // 占用的内存
18 int[] pids = new int[] { pid };
19 Debug.MemoryInfo[] memoryInfo = mActivityManager
20 .getProcessMemoryInfo(pids);
21 int memorySize = memoryInfo[0].dalvikPrivateDirty;
22
23 Log.i(TAG, "processName=" + processName + ",pid=" + pid + ",uid="
24 + uid + ",memorySize=" + memorySize + "kb");
25 }
26 }
1 /**
2 * 获取单个 app 内存限制大小
3 * 返回以 M 为单位的数字,
4 * 可能在不同的平台或者设备上值都不太一样
5 */
6 private void test01() {
7 ActivityManager activityManager2 = (ActivityManager) getSystemService(
8 Context.ACTIVITY_SERVICE);
9 activityManager2.getMemoryClass();
10 }