Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

We are planning to develop an android application. the application will use API and data transfer will be via SSL. I should write documentation and set functional and system requirements for the appliaction.

One of the main requirements is that how much memory should the application use. Of course Android OS manages itself how much memory allocate to it at different satges of its activeness, but a great deal depends on appliaction.

Is there any specific defined practice on how much memory should a typical android app use and that it is in use in advanced world of android developement, e.g. the appliaction of X type should use no more that 7 MB if they are active? How to set the requriement so that developers pay enough attention to this specific parameter?

share|improve this question

closed as too broad by gnat, Robert Harvey, MichaelT, GlenH7, Bart van Ingen Schenau Feb 17 at 14:41

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

2  
Different Apps have different needs. How much memory use would exactly be a sensible amount depends on the specific case, and on an user's expectation (and available hardware). Any answer would therefore have no lasting value (as hardware and user expectations change), it would be necessarily opinion-based (what you find reasonable might be a waste of memory to me), and it wouldn't be applicable to other apps with different circumstances. Your question doesn't seem to be a good fit for Stack Exchange for these reasons. –  amon Feb 15 at 16:45
2  
As little as possible, but as much as you need. –  Robert Harvey Feb 15 at 17:25
    
You're not going to be doing yourself any benefit writing a requirement placing an upper bound on memory usage. If you want them to keep an eye on memory usage, just tell them. –  whatsisname Feb 15 at 17:59
    
@whatsisname the problem is in team I should work with. Just telling them does not solve the problem. E.g. recently the same team has written a simple application which requires much more memory than google chrome app, youtube app etc. That is why I just want to focus on that, if it is impossible to fix some level, than keeping some range. It is obvious the devs do not pay much attention to that –  saakian Feb 15 at 18:07
add comment

1 Answer

up vote 1 down vote accepted

Is there any specific defined practice on how much memory should a typical android app use and that it is in use in advanced world of android developement, e.g. the appliaction of X type should use no more that 7 MB if they are active?

I don´t believe there is a standard to it some android games use 512MB Ram and run very smoothly and I've seen applications using 5MB Ram run very slow. Also believe processor usage to be as important if not more important than the memory management.

How to set the requirement so that developers pay enough attention to this specific parameter?

Android apps are nothing more than Java code running in a Dalvik virtual machine so all the rules of Java memory management apply.

If you agree with the above then the most important question is what are your target devices?

If your users are corporate employees with company issues phones you need to know what phones are those and what other corporate apps they are running already on their devices and how much memory left the devices has left.

  • Most older android phones have 256MB Ram.
  • Most newer mid end phones have 512Mb Ram a few mid end have 1GB.
  • Only the high end phones have more than 1GB ram.

From that scenario, if your app uses 50MB Ram to run thats a big problem for older models but irrelevant for high end models. So take your device user base and define a memory usage goal from there.

@Saakyan one good idea is to handle the DEV team a real device with the same specs as the one the users will be using the application so they can see the application performance for real while testing.

Hope I could help.

share|improve this answer
    
the problem is that we do not have that target devices, the application is for users who use the services of a telecommuniaction company, i.e the large part of a country's population, who uses all the three types of devices you named. I will defenitely give the DEV team a large range of devices –  saakian Feb 15 at 18:59
3  
In that case i would only handle the DEV team low end devices. if they make it fit on a 256MB ram device with decent performance the other models will not be a problem. Also handle them the Android sdk best pratices on memory management –  Varbex Feb 15 at 19:11
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.