Notice
Recent Posts
Recent Comments
Link
투케이2K
442. (kotlin/코틀린) ActivityManager MemoryInfo 사용해 안드로이드 기기 RAM 사용 정보 확인 본문
Kotlin
442. (kotlin/코틀린) ActivityManager MemoryInfo 사용해 안드로이드 기기 RAM 사용 정보 확인
투케이2K 2023. 11. 27. 19:28[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Kotlin
[소스 코드]
// -----------------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [RETURN] getRamMemoryUsed : 안드로이드 RAM 메모리 사용량 확인
// -----------------------------------------------------------------------------------------
fun getRamMemoryUsed(mContext: Context): String {
/**
* // -----------------------------------------
* [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)
* // -----------------------------------------
*/
// [리턴 값 선언]
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.toDouble()
val avail = memoryInfo.availMem.toDouble()
// [RAM 사용량 확인]
val decimalFormat = DecimalFormat("#,###")
val used = 100 * (total - avail) / total
// [리턴 변수에 삽입]
returnData = decimalFormat.format(used) + "%"
M_LOG = "[Success] :: Used Ram Size Check"
} catch (e: Exception) {
M_LOG = "[Exception] :: " + e.message.toString()
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