GoShape.BrushColor Memory Leakage


#1

Hi ,

When I change GoShape.BrushColor with different colors very fast , It make memory leakage in my application and GC couldn’t manage it as form with GOShape object is open . When I change Page to other form , GC will remove extra memory .

It makes my Application unstable and after a few days if user is keeping one page , Application will crash .

Thanks
Kamjoo Bayat


#2

How are you doing the change?


#3

HI ,
this is same code that I used

                            Color TmpBColor = Color.FromArgb(int.Parse(SplitedColor[2]),
                                int.Parse(SplitedColor[4]),
                                int.Parse(SplitedColor[6]),
                                int.Parse(SplitedColor[8]));

                               
                            this.BrushColor = TmpBColor;

#4

I added this code to timer1_Tick in AnimatedBasicApp.

    GoBasicNode node = obj as GoBasicNode;
    if (node != null)
    {
      node.Shape.BrushColor = GetRandomColor(100);
      counter++;
    }
    GoText t = obj as GoText;
    if (t != null) t.Text = counter.ToString() + " in " + ((int)(DateTime.Now - starttime).TotalSeconds).ToString() + " seconds";

and these too:
private static int counter = 0;
public DateTime starttime = DateTime.Now;

Ran it for 20 minutes and 1.9 million setting of BrushColor. Memory didn’t move up. If you have a leak, it isn’t in BrushColor. (I had to stop after 20 minutes because the flashing was super annoying and giving me a headache.)


#5

Maybe the GoUndoManager is collecting changes continuously?


#6

Hi ,
GoUndoManager is Enabled in Application in development mode .I think it is enable also in Run-Time . I will make it disable and check again .
Thanks
kamjoo


#7

Hi ,

When I disable UnDoManager .It is stable now . Thank you so much .
Kamjoo