2016-09-28 17 views
1

Достаточно просто, как я могу получить объем памяти (в МБ), что мое приложение для Android составляет в настоящее время используя? Это нужно сделать на Java, чтобы я мог отображать эту информацию для пользователя.Как получить фактическое использование ОЗУ приложения в Android?

Я просмотрел другие сообщения stackoverflow, но никто не дал простой или точный ответ на эту проблему.

+0

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

+0

Попробуйте использовать ActivityManager: http://stackoverflow.com/questions/3170691/how-to-get-current-memory-usage-in -android – bigghe

+0

Укажите, с технической точки зрения, то, что означает «фактическое использование ОЗУ». [Цитата одного из основных инженеров Android] (https://stackoverflow.com/a/2299813/115145): «Обратите внимание, что использование памяти в современных операционных системах, таких как Linux, является чрезвычайно сложной и трудно понятной областью. вы фактически правильно интерпретируете все, что у вас получается, крайне низкое ». – CommonsWare

ответ

0

Для этой цели вы можете использовать ActivityManager.

Ответ получен в этом post.

+0

ActivityManager предоставляет полную память и доступную память. Это не то, что я ищу. Я ищу, сколько памяти использует приложение в определенное время. – getContext

2

adb shell dumpsys meminfo packagename

Попробуйте выполнить эту команду с Java.

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