zoukankan      html  css  js  c++  java
  • 获取手机内存可用内存单个APP运行内存

     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  }
  • 相关阅读:
    python面试题目【转1】
    让python和C/C++联姻【转】
    python面试模拟真题讲解
    JavaScript真的要一统江湖了
    WebApp
    Linux服务器之SSH
    web服务之http
    SNMP简单网络管理协议
    Storm,Spark和Samza
    Stream computing
  • 原文地址:https://www.cnblogs.com/androidsj/p/3992320.html
Copyright © 2011-2022 走看看