zoukankan      html  css  js  c++  java
  • 内存工具类:MemoryManager

    个人学习,仅供参考!

    package com.example.administrator.filemanager.utils;


    import android.app.ActivityManager;
    import android.content.Context;
    import android.os.Environment;

    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.Map;

    import static android.os.Environment.getExternalStorageState;


    public class MemoryManager {

        /**
         * 获取设备剩余时运行内存
         */
        public static long getPhoneFreeMenory(Context context) {

            //声明内存对象并初始化
            ActivityManager.MemoryInfo info = new ActivityManager.MemoryInfo();
            //获取服务
            ActivityManager an = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);

            //获取剩余时运行内存
            an.getMemoryInfo(info);
            //返回内存大小
            return info.availMem;
        }

        /**
         * 设备全部运行时的内存
         */
        public static long getPhoneTotalMemory() {

            try {
                FileReader fr = new FileReader("/proc/meminfo");
                //输入流
                BufferedReader br = new BufferedReader(fr);
                String text = br.readLine();
                //split:分别字符串
                String[] array = text.split("\s+");

                // 返回数值  单位:kb
                return Long.valueOf(array[1]) * 1024;
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {//IO异常
                e.printStackTrace();
            }

            return 0;
        }

        /*
        * 获取手机内置SD卡
        * */
        public static String getPhoneInSDCardPath() {
           /* File sdState = Environment.getExternalStorageDirectory();*/
           String sdState=getExternalStorageState();
            if (!sdState.equals(Environment.MEDIA_MOUNTED)) {//路径不存在或者为空
                return null;
            }

            return Environment.getExternalStorageDirectory().getAbsolutePath();
        }

        /**
         * 获取手机外置SD卡路径
         */
        public static String getPhoneOutSDCardPath() {
            Map<String, String> map = System.getenv();
            if (map.containsKey("SECONDARY_STORAGE")) {
                String str = map.get("SECONDARY_STORAGE");
                String[] paths = str.split(":");
                //判断路径是否存在
                if (paths == null || paths.length <= 0) {//不存在
                    return null;
                }
                return paths[0];
            }
            return null;
        }
    }

  • 相关阅读:
    Codeforces 512D
    Codeforces Gym 101480C
    Codeforces 575A
    Codeforces Round #691 (Div. 2) 题解
    .net Core 中文等非英文文字html输出编码输出问题
    .net5 grpc服务在windows上的架设方法
    北大集训 2020 游记
    北大集训2020游记
    Tricks -「网络流」经典模型汇总
    Solution -「BJWC 2018」「洛谷 P4486」Kakuro
  • 原文地址:https://www.cnblogs.com/ll-ouyang/p/6247650.html
Copyright © 2011-2022 走看看