Get memory information : Memory « Hardware « Android






Get memory information

  

package app.test;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

import android.app.ActivityManager;
import android.app.ActivityManager.RunningServiceInfo;
import android.app.ActivityManager.RunningTaskInfo;
import android.content.Context;
import android.telephony.TelephonyManager;
import android.util.DisplayMetrics;
import android.util.Log;

class CMDExecute {

  public synchronized String run(String[] cmd, String workdirectory)
      throws IOException {
    String result = "";

    try {
      ProcessBuilder builder = new ProcessBuilder(cmd);
      // set working directory
      if (workdirectory != null)
        builder.directory(new File(workdirectory));
      builder.redirectErrorStream(true);
      Process process = builder.start();
      InputStream in = process.getInputStream();
      byte[] re = new byte[1024];
      while (in.read(re) != -1) {
        System.out.println(new String(re));
        result = result + new String(re);
      }
      in.close();

    } catch (Exception ex) {
      ex.printStackTrace();
    }
    return result;
  }

}

public class Main {
  private static StringBuffer buffer;

  public static String getMemoryInfo(Context context) {
    StringBuffer memoryInfo = new StringBuffer();
    final ActivityManager activityManager = (ActivityManager) context
        .getSystemService(Context.ACTIVITY_SERVICE);

    ActivityManager.MemoryInfo outInfo = new ActivityManager.MemoryInfo();
    activityManager.getMemoryInfo(outInfo);
    memoryInfo.append("\nTotal Available Memory :")
        .append(outInfo.availMem >> 10).append("k");
    memoryInfo.append("\nTotal Available Memory :")
        .append(outInfo.availMem >> 20).append("M");
    memoryInfo.append("\nIn low memory situation:").append(
        outInfo.lowMemory);

    String result = null;
    CMDExecute cmdexe = new CMDExecute();
    try {
      String[] args = { "/system/bin/cat", "/proc/meminfo" };
      result = cmdexe.run(args, "/system/bin/");
    } catch (IOException ex) {
      Log.i("fetch_process_info", "ex=" + ex.toString());
    }

    return memoryInfo.toString() + "\n\n" + result;
  }
}

   
    
  








Related examples in the same category

1.Get Memory Size Strings
2.Get Used Memory Size
3.Get Free Memory Size
4.Get Total Memory Size
5.Calculates the free memory of the device. This is based on an inspection of the filesystem, which in android devices is stored in RAM.
6.Calculates the total memory of the device. This is based on an inspection of the filesystem, which in android devices is stored in RAM.
7.Get Memory Total
8.Get Memory Free
9.get MemoryInfo
10.Memory information