【Android】查看手机内存运行情况

查看手机内存运行情况:

    final ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
    private void displayBriefMemory() {
        if (activityManager != null) {
            ActivityManager.MemoryInfo info = new ActivityManager.MemoryInfo();
            activityManager.getMemoryInfo(info);
            Log.i(tag,"系统总内存:" + getFormatSize(info.totalMem));
            Log.i(tag,"系统剩余内存:" + getFormatSize(info.availMem)+ ", 是否处于低内存运行:" + info.lowMemory);
            Log.i(tag,"系统是否处于低内存运行:" + info.lowMemory);
            Log.i(tag,"系统剩余内存低于 " + getFormatSize(info.threshold) + " 时视为低内存运行");
        } else {
            Log.e(tag, "activityManager is null");
        }
    }
    public static String getFormatSize(double size) {
        double kiloByte = size / 1024;
        if (kiloByte < 1) {
            return size + "Byte";
        }

        double megaByte = kiloByte / 1024;
        if (megaByte < 1) {
            BigDecimal result1 = new BigDecimal(Double.toString(kiloByte));
            return result1.setScale(2, BigDecimal.ROUND_HALF_UP)
                    .toPlainString() + "KB";
        }

        double gigaByte = megaByte / 1024;
        if (gigaByte < 1) {
            BigDecimal result2 = new BigDecimal(Double.toString(megaByte));
            return result2.setScale(2, BigDecimal.ROUND_HALF_UP)
                    .toPlainString() + "MB";
        }

        double teraBytes = gigaByte / 1024;
        if (teraBytes < 1) {
            BigDecimal result3 = new BigDecimal(Double.toString(gigaByte));
            return result3.setScale(2, BigDecimal.ROUND_HALF_UP)
                    .toPlainString() + "GB";
        }
        BigDecimal result4 = new BigDecimal(teraBytes);
        return result4.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString()
                + "TB";
    }

你可能感兴趣的:(android,android,java,jvm)