2013-06-12 4 views
2

Я пытаюсь вычислить использование Ram при запуске приложения. Я видел несколько сообщений в stackoverflow, но cldnt вполне понимаю, как они это делают. Может ли кто-нибудь помочь мне найти использование памяти (ОЗУ) на моем устройстве?Как рассчитать использование ОЗУ в устройстве Android?

ответ

5

Вы можете просчитать доступную память, и если вы работаете на уровне API более 16, вы можете получить общую память. Оттуда вы можете использовать память.
Я использую следующий метод в своем приложении. Он возвращает память, доступную в МБ.

private void showAvailableMemory(){ 
    MemoryInfo mi = new MemoryInfo(); 
    ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 
    activityManager.getMemoryInfo(mi); 
    long availableMegs = mi.availMem/1048576L; 
    Log.i(TAG, "Available memory = " + availableMegs + " MB"); 
} 

Если вы работаете на уровне API> 16, вы можете использовать, чтобы получить MemoryInfo.totalMem память устройства.

+0

Почему мы разделили его на 1048576L? –

+0

oh ok got it.10.10 * 1024 (MB) –

-1

Используйте этот код для расчета ..

ActivityManager activityManager = = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 
MemoryInfo memoryInfo = new MemoryInfo(); 
activityManager.getMemoryInfo(memoryInfo); 

Получить доступную память от memoryInfo.

Кроме того, для измерения Используйте этот инструмент, который покажет вам использование памяти вашего приложения http://www.littleeye.co/

+0

Я хочу рассчитать его. Не просто измерить его с помощью инструмента –

+0

Изменен ответ. Пожалуйста, проверьте – Libin

1

Это лучший ответ:

How do I discover memory usage of my application in Android?

Но в принципе, вы должны проверить значение УСС:

adb shell procrank -u 

Пример:

PID  Vss  Rss  Pss  Uss cmdline 
    492 73540K 73336K 51256K 49780K system_server 
    676 53712K 53008K 31831K 30696K com.android.systemui 
13918 46408K 46376K 21050K 19504K com.facebook.katana 
Смежные вопросы