투케이2K

462. (kotlin/코틀린) [유틸 파일] getRamMemoryTotal : 안드로이드 RAM 메모리 크기 확인 본문

Kotlin

462. (kotlin/코틀린) [유틸 파일] getRamMemoryTotal : 안드로이드 RAM 메모리 크기 확인

투케이2K 2024. 3. 13. 22:31

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

        // -----------------------------------------------------------------------------------------
        // TODO [SEARCH FAST] : [RETURN] getRamMemoryTotal : 안드로이드 RAM 메모리 크기 확인
        // -----------------------------------------------------------------------------------------
        fun getRamMemoryTotal(mContext: Context): String {

            /**
             * // -----------------------------------------
             * [getRamMemoryTotal 메소드 설명]
             * // -----------------------------------------
             * 1. 안드로이드 RAM 메모리 크기 확인
             * // -----------------------------------------
             * 2. 호출 방식 :
             *
             * C_App.getRamMemoryTotal(A_Intro@this)
             *
             * // -----------------------------------------
             * 3. 리턴 데이터 :
             *
             * 4.0
             * // -----------------------------------------
             * 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)
             * // -----------------------------------------
             */


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


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

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

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

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

                // [RAM 전체 용량 확인]
                val total = (memoryInfo.totalMem / 938576L).toDouble() // [MB]

                // [리턴 변수에 삽입]
                returnData = (total / 1024).toString() // [GB]
                //*
                if (returnData.contains(".") == true) {
                    returnData = returnData.split("\\.".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()[0] + "." + returnData.split("\\.".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()[1][0]
                }
                // */
                M_LOG = "[Success] :: Ram Size Check"

            } catch (e: Exception) {
                M_LOG = "[Exception] :: " + e.message.toString()
                returnData = ""
                S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e)
            }


            // [로그 출력 실시]
            ///*
            // ===============================================================
            S_Log._D_("안드로이드 RAM 메모리 크기 확인", arrayOf(
                "M_LOG :: $M_LOG",
                "RETURN :: $returnData"
            ))
            // ===============================================================
            // */


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

[결과 출력]


반응형
Comments