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. emulator: ERROR: unknown virtual device name: myavd

Hi,
I installed android plugin and sdk for eclipse  in my system which is having
ubuntu.

I created an evd name as myavd as target 1.6.
It is successfully created.But when i want to launch it the following error
it is displaying
emulator: ERROR: unknown virtual device name: myavd
Any help please

-- 

2. new internet window

Numpang tanya donk...
Kalo buka newwindow internet, apa memang maximum hanya 4 window saja?
Nggak bisa lebih banyak yaa?

Thanks
Sigit

-- 
"Indonesian Android Community [id-android]" 

3. Format SD Card diatas 512Mb ext2 utk app2sd di Spica ...

4. How to build default applications as a seperate

5. Some connectivity questions

6. k9 mail

7. OOT WTS lenovo s10 2nd.