2016-09-28 8 views
1

간단하게 말해서, 내 안드로이드 앱이 현재인 메모리 용량 (MB)을 어떻게 사용할 수 있습니까? Java에서이 작업을 수행해야 사용자에게이 정보를 표시 할 수 있습니다.android에서 앱의 실제 RAM 사용량을 얻는 방법은 무엇입니까?

다른 stackoverflow 게시물을 살펴 보았지만이 문제에 대한 간단하고 정확한 대답은 없습니다.

+0

http://stackoverflow.com/questions/2298208/how-do-i-discover -memory-use-my-application-in-android/2299813 # 2299813 – Zartha

+0

ActivityManager를 사용해보세요. http://stackoverflow.com/questions/3170691/how-to-get-current-memory-usage-in -android – bigghe

+0

기술적 인 측면에서 "실제 RAM 사용량"의 의미를 정의하십시오. [핵심 안드로이드 엔지니어 중 한 명을 인용] (https://stackoverflow.com/a/2299813/115145) : "Linux와 같은 최신 운영 체제의 메모리 사용은 매우 복잡하고 이해하기 어려운 영역입니다. 실제로 당신이 실제로 얻은 숫자를 정확하게 해석하는 것은 극히 적습니다. " – CommonsWare

답변

0

ActivityManager을 사용할 수 있습니다.

이 답변은 post입니다.

+0

ActivityManager는 총 메모리와 메모리를 제공합니다. 그건 내가 찾는 것이 아니다. 특정 시간에 앱 자체가 사용하는 메모리 양을 찾고 있습니다. – getContext

2

adb shell dumpsys meminfo packagename

봅니다 자바이 명령을 실행합니다. 성능이 중요하지 않은 경우

0

에 한번이 코드를 사용하려면 :

Debug.MemoryInfo memInfo = new Debug.MemoryInfo(); 
Debug.getMemoryInfo(memInfo); 
long res = memInfo.getTotalPrivateDirty(); 

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) 
    res += memInfo.getTotalPrivateClean(); 

return res * 1024L; 

성능이 중요한 경우 check this answer