Amritha
Amritha

Reputation: 805

How much memory should a typical android application use?

I have developed a file parsing application on the android platform. How do I check how much memory my application is actually using up ? I tried the adb shell cat /proc/meminfo command but this does not give me how much memory my application is using. it just gives general info about the overall memory. And how much memory should an application typically use up ? what is usual or unusual ? Any help is appreciated. Thanks !

Upvotes: 18

Views: 22136

Answers (5)

Midhun Krishna
Midhun Krishna

Reputation: 1

You can get the memory usage of your android application with the following command: Assuming you have adb in PATH:

adb shell dumpsys meminfo com.<your.package>

To see live updation of memory in use, you can try

watch "adb shell dumpsys meminfo com.<your.package>"

Hope this helps

Upvotes: 0

Timmmm
Timmmm

Reputation: 96547

Android apps are constrained to a certain amount of memory. As it's quite (insanely?) low, I think you shouldn't feel guilty about using all of it!

The limit is 16 MB on very old devices, 24 MB or 32 MB on newer ones. There doesn't seem to be much info on the size for different devices, and nobody seems to know why the limit is so small when modern phones have 1-2 GB of RAM.

http://blog.javia.org/how-to-work-around-androids-24-mb-memory-limit/

https://groups.google.com/forum/?fromgroups=#!topic/android-platform/7zKQlrDcypQ

Aha, I found some concrete numbers on the limit:

http://dubroy.com/memory_management_for_android_apps.pdf

G1: 16MB

Droid: 24MB

Nexus One: 32MB

Xoom: 48MB

Upvotes: 18

Rajdeep Dua
Rajdeep Dua

Reputation: 11230

You can use DDMS > Allocation Tracker to track memory usage and Heap Allocation for your app

http://developer.android.com/resources/articles/track-mem.html

To Track the overall memory of a PID you could use following two methods in ActivityManager

To get a PID of your app :

List<ActivityManager.RunningAppProcessInfo> getRunningAppProcesses ()

and then the MemoryInfo

MemoryInfo[] getProcessMemoryInfo (int[] pids)

Upvotes: 4

Rakshi
Rakshi

Reputation: 6856

you can check the application memory usage in application mananger, you can check it in the link

Upvotes: 0

Win Myo Htet
Win Myo Htet

Reputation: 5457

you might want to take a look at this one. How do I discover memory usage of my application in Android? Or simply try

ActivityManager.getMemoryInfo() 

Upvotes: 1

Related Questions