Android activity's memory management

by Mihai Dumitrache » Mon, 01 Mar 2010 22:31:01 GMT


Sponsored Links
 Hello guys,
I have a problem with my application, and it's about a Virtual memory
error:
ERROR/AndroidRuntime(19790): java.lang.OutOfMemoryError: bitmap size
exceeds VM budget

The story is like this:
I have an activity (let's call it A), the user click on a button from
this activity, then i will make an api call somewhere in the internet,
and after the result is back i start a subactivity (let's call it B).

In the activity B i have to dinamicaly load some images from the
resources folder. I load the images into bitmaps -> drawables ->
imageviews. After the user click's on some buttons i have to
setResult(..), finish(), and get back to activity A.

The thing is that, goes from activity A to B, then B -> A, then A -> B
for a few times, my app crashes with the message above: it doesn't
have enough memory to load the interface.

I can not maintain the activity B on the stack because i don't want
the user to go to this activity without going through activity A
first.

Do you guys have any solution for this problem ?
Thanks

--



Android activity's memory management

by Bob Kerns » Tue, 02 Mar 2010 02:01:26 GMT


 If I'm interpreting your pattern correctly, you're invoking activity A
from activity B, and activity B from activity A?

That would explain your problem, at least.

Instead of invoking A from B -- return to A by finishing B. Then
you'll only every have one A, and at most one B active at a time.

It you can't do this, and really need that stack of A's and B's,
you'll have to figure out a way to hold onto less memory -- for
example, when B passes images to A, have it forget all about them, so
when A is done with them and invokes the next B, they can be garbage
collected.




--


Sponsored Links


Other Threads

1. Capturing / saving a download link

Hi all. I have a WebView, which will contain links to documents, in
this case PDF files. The default action (at least on my device) seems
to be to open the URL with the browser, which in turn causes them to
be saved in the default download location.

I want to intercept this in my code, so that I can get hold of the
file and save it to whatever location I choose.

Is this possible?

-- 

2. HTC Wildfire didn't find my app on the market

Hi,

I'd like to speak about a very strange problem.

The HTC Wildfire (OS 2.1) didn't find my app at the android market,
altough HTC Magic (OS 1.6), HTC Desire (OS 2.2) and Nexus One OS 2.2)
do so.

This was my problematic scenario:


default.properties:
target=android-3

AndroidManifest.xml:
<uses-sdk android:minSdkVersion="3" />


The solution was quite simple:

default.properties:
target=android-4

AndroidManifest.xml:
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4" />


Best regards,
Marco

-- 

3. Tool/Tab Bar at bottom with HTC Sense-like UI?

4. Increase Internet speed by 20%

5. Cannot select rows from a ListView which contains Button controls

6. Struck at "ANDROID" screen

7. Getting Images From Gallery - Not All Work?