I have seen many Android answers that suggest calling the garbage collector in some situations.
Is it a good practice to request the garbage collector in Android before doing a memory-hungry operation? If not, should I only call it if I get an OutOfMemory
error?
Are there other things I should use before resorting to the garbage collector?
For versions prior to 3.0 honeycomb: Yes, do call System.gc()
.
I tried to create Bitmaps, but was always getting "VM out of memory error". But, when I called System.gc()
first, it was OK.
When creating bitmaps, Android often fails with out of memory errors, and does not try to garbage collect first. Hence, call System.gc()
, and you have enough memory to create Bitmaps.
If creating Objects, I think System.gc
will be called automatically if needed,
but not for creating bitmaps. It just fails.
So I recommend manually calling System.gc()
before creating bitmaps.