Notice
Recent Posts
Recent Comments
Link
투케이2K
462. (kotlin/코틀린) [유틸 파일] getRamMemoryTotal : 안드로이드 RAM 메모리 크기 확인 본문
[개발 환경 설정]
개발 툴 : 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
}
[결과 출력]
반응형
'Kotlin' 카테고리의 다른 글
Comments