Memory consumption of a typical Android implementation

by salza » Wed, 02 Sep 2009 16:56:23 GMT

Sponsored Links
 I have seen many benchmarks about Android but not yet found a
benchmark were the memory consumption of Android on a Qualcomm
processesor has been measured.
I have already found a discussion in here where someone emulated
Android but that is not representative for a smartphone evironment.
Has anyone of you already experimented with that and knows the typical
Flash an RAM consumption for the standard implementation with core


Memory consumption of a typical Android implementation

by lbcoder » Wed, 02 Sep 2009 21:22:53 GMT

 This can vary greatly from build to build and depends HEAVILY on the
optimizations selected.

Memory use is a really tricky one to measure -- the memory will
typically be full. As new applications are opened, old ones are dumped
and their memory reclaimed. This is mainly on an as-needed basis.

As for the flash memory install base... so far typical size is about
60MB, but again, you can add or remove features given this same space
by various available optimizations. Much of this may have to do with
the fact that the actual available space on DREAM hardware is 67.5MB.


Sponsored Links

Memory consumption of a typical Android implementation

by salza » Wed, 02 Sep 2009 23:33:26 GMT

 Sounds very interesting!
What optimizations are possible? I mean, does the user or the
developer select the optimization type?
Do you maybe know something where it is explained in detail?



Memory consumption of a typical Android implementation

by lbcoder » Thu, 03 Sep 2009 22:31:46 GMT

 At the very simplest level, compiler optimization, such as the "-O"
parameter for gcc. Also, use of executable compression, like "upx".
Compressed or optimized filesystems -- certain read-only filesystems
can be packed in a way that maps multiple segments of code that just
happen to match over to the same physical location... Leaving out
redundant code segments. Image optimizations (i.e. reduced colorspace,
pngcrush, etc). There are literally hundreds of little tricks that can
be used to make things (*MUCH*) smaller.


Other Threads

1. How to retain EditText data when "BACK" key is pressed

       I have a EditText filed in my Activity class,Where i need to
retain data,when orientation is changed or "HOME" button is pressed or
"BACK(FINISH)" is pressed.

      Android internally maintaining EditText when orientation is
changed or HOME button is pressed .But it is not maintaining  EditText
status when BACK button is pressed.

      How can i make it happen to retain data in all three cases
(orientation is changed,HOME is pressed, Back is pressed) in a
feasible way?

      Any help would be appreciated highly.



2. a problem with connection Http

Hello every body, and excuse me for my poor English .

I'm trying de build an activity which connect to a servlet. But the command
"execute (httpGet)" doesn't work!! i write the permission of internet in the
manifest.xml, but it doesn't work!!
heres my code its supposed to connect to the servlet: and thank you


import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;

import android.os.Bundle;
import android.util.Log;
import android.widget.EditText;

public class Connect extends Activity {
    /** Called when the activity is first created. */

    private String adresse = new String("
    private EditText mTitleText;

    public void onCreate(Bundle savedInstanceState) {
        mTitleText = (EditText) findViewById(;

    public void connect(String url){
        try {
            HttpClient httpclient = new DefaultHttpClient();

            // Prepare a request object
            HttpGet httpget = new HttpGet(url);

            // Execute the request
            HttpResponse response;
            try {

                response = httpclient.execute(httpget);


                // Get hold of the response entity
                HttpEntity entity = response.getEntity();
                // If the response does not enclose an entity, there is no
                // to worry about connection release

                if (entity != null) {
                }catch (Exception e) {mTitleText.append("connexion");


        } catch (Exception e) {
            Log.e("Connect", "exception au niveau de l'adresse");




3. View from Which application?

4. Local Agents

5. check the mounted device

6. Can't see my USB connected Galaxy in the "adb devices" command

7. Checking if marker is displayed