I actually like the sound of that 'heuristic'.
I can very easily bring down my app in the emulator by exceeding the GREF limit
with normal usage. One function allocates about 500 at a time (updating a list
view using a sub-classed ArrayAdapter) and after a few clicks it goes down. On
the device, no matter how many times I perform that function, the GC always
kicks in before any limit is reached (I think you said it was ~52000).
In fact, I've never exceeded the limit on the device at all, and that's without
any expclit GC.Collect calls.
Steve
On Jan 30, 2012, at 10:09 AM, HSSoftware wrote:
> I wondered if M4A 4.0.3 has any of the GC fixes that
you mentioned, =hat are highlighted in red below?
No. GC.AddMemoryPressure() support is probably a 4.4
feature, if that.
4.2 will be adding a "heuristic"
("hack") in which we track the number =f global references we've
created and perform a GC when we hit 90% of =he "known maximum". This
will help (somewhat) on the emulator, and =ikely won't do anything at all on
hardware (the global ref limit is =uite high on hardware).
We are also investigating other GC solutions as well.
- Jon
_______________________________________________
Monodroid mailing list
Monodroid@lists.ximian.com
UNSUBSCRIBE INFORMATION:
http://lists.ximian.com/mailman/listinfo/monodroid