투케이2K

700. (Android/Java) ActivityManager MemoryInfo 사용해 안드로이드 기기 RAM 사용 정보 확인 본문

Android

700. (Android/Java) ActivityManager MemoryInfo 사용해 안드로이드 기기 RAM 사용 정보 확인

투케이2K 2023. 11. 27. 19:26

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[소스 코드]

    // -----------------------------------------------------------------------------------------
    // TODO [SEARCH FAST] : [RETURN] getRamMemoryUsed : 안드로이드 RAM 메모리 사용량 확인
    // -----------------------------------------------------------------------------------------
    public static String getRamMemoryUsed(Context mContext) {

        /**
         * // -----------------------------------------
         * [getRamMemoryUsed 메소드 설명]
         * // -----------------------------------------
         * 1. 안드로이드 RAM 메모리 사용량 확인
         * // -----------------------------------------
         * 2. 호출 방식 :
         *
         * C_App.getRamMemoryUsed(A_Intro.this);
         *
         * // -----------------------------------------
         * 3. 리턴 데이터 :
         * 
         * 58%
         * // -----------------------------------------
         * 4. TODO 추가 설명 :
         *
         * ActivityManager : 앱 활동, 서비스 및 프로세스에 대한 정보를 제공합니다
         * ActivityManager 는 디버깅 또는 정보 제공 목적으로 사용되며 앱의 런타임 동작에 영향을 주는 데 사용되어서는 안 됩니다
         *
         * // -----------------------------------------
         * 5. 참 고 :
         *
         * https://developer.android.com/reference/android/app/ActivityManager
         * https://developer.android.com/reference/android/app/ActivityManager#getMemoryInfo(android.app.ActivityManager.MemoryInfo)
         * // -----------------------------------------
         * */


        // [리턴 값 선언]
        String returnData = "";
        String M_LOG = "";


        // [로직 처리 실시]
        try {

            // [ActivityManager 인스턴스 생성]
            ActivityManager activityManager = (ActivityManager) mContext.getSystemService(ACTIVITY_SERVICE);

            // [MemoryInfo 인스턴스 생성]
            ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();

            // [안드로이드 기기 RAM 메모리 정보 구하기]
            activityManager.getMemoryInfo(memoryInfo);

            // [RAM 전체 및 이용 가능 용량 확인]
            double total = memoryInfo.totalMem;
            double avail = memoryInfo.availMem;

            // [RAM 사용량 확인]
            DecimalFormat decimalFormat = new DecimalFormat("#,###");
            double used = 100 * (total-avail) / total;

            // [리턴 변수에 삽입]
            returnData = decimalFormat.format(used) + "%";
            M_LOG = "[Success] :: Used Ram Size Check";

        } catch (Exception e) {
            M_LOG = "[Exception] :: " + String.valueOf(e.getMessage());
            S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e);
        }


        // [로그 출력 실시]
        ///*
        // ===============================================================
        S_Log._D_("안드로이드 RAM 메모리 사용량 확인", new String[]{
                "M_LOG :: " + String.valueOf(M_LOG),
                "RETURN :: " + String.valueOf(returnData)
        });
        // ===============================================================
        // */


        // [리턴 반환 실시]
        return returnData;
    }
 

[결과 출력]

 

D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.C_App.getRamMemoryUsed(C_App.java:9405)]
I/: ----------------------------------------------------
I/: [LOG :: NOW TIME :: 2023-11-27 11:14:36 월요일]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: 안드로이드 RAM 메모리 사용량 확인]
I/: ----------------------------------------------------
I/: [LOG :: M_LOG :: [Success] :: Used Ram Size Check]
I/: ----------------------------------------------------
I/: [LOG :: RETURN :: 58%]
D///===========//: ================================================

 

반응형
Comments