On Feb 3, 2012, at 7:54 AM, PVoLan wrote:
> Please, look at this test case https://github.com/PVoLan/TestAccelerometer

Your sample is is largely a simplified version of:

        http://bugzilla.xamarin.com/show_bug.cgi?id=1084

The current "fix" (workaround) is to dispose of `val` within 
SensorListener.OnSensorChanged():

        public void OnSensorChanged (SensorEvent e)
        {
                var val = e.Values;
                try {
                        Android.Util.Log.Info("-------------","Works for: " + 
(DateTime.Now - created));
                        Android.Util.Log.Info("-------------",string.Format("X: 
{0} Y: {1} Z: {2}", val[0], val[1], val[2] ));
                } finally {
                        ((IDisposable) val).Dispose ();
                }
        }

A future release will improve matters by automatically calling GC.Collect() 
when we pass a certain gref threshold, but even that fix may not be ideal as it 
may result in too many collections (e.g. if you have an animation loop, you 
want to control when the GC runs), so explicitly disposing of wrappers may 
still be required even after the implicit GC.Collect() call is in place.

 - Jon

_______________________________________________
Monodroid mailing list
Monodroid@lists.ximian.com

UNSUBSCRIBE INFORMATION:
http://lists.ximian.com/mailman/listinfo/monodroid

Reply via email to