Cleaning Memory Resources Correctly 101

arction Nikolai

By Nikolai Arsenov

Software Developer & Quality Control Specialist

For cleaning memory resources efficiently, application should dispose existing objects before clearing related collection.

LightningChart provides predefined collections, e.g. XAxes, YAxes, PaletteSteps, etc. in WinForms and WPF Non-bindable platforms. In WPF Semi-bindable and Bindable platforms they should be created manually (e.g. ViewXY.CreateDefaultXAxes()). Moreover, a user’s application can have created collections of series, annotations, markers, cursors, etc.

If a user needs to recreate new specific collection for the chart without modifying the existing one, the old collection should be removed properly to use memory resources efficiently.

The following lines clean y-axes collection. However, the resources inside the application have not been freed, and they still reserve memory.

chart.ViewXY.YAxes.Clear();

 

Instead of using .Clear() method for collection, call .Dispose() for each item and clean the collection. Dispose method releases any resources from memory for clean-up:

foreach (AxisY yAxis in chart.ViewXY.YAxes)
         yAxis.Dispose();
chart.ViewXY.YAxes.Clear();

// Create new Y-axes collection
for (int axisY = 0; axisY < axisYCounter; axisY++)
{
        // Create your axes here
}

 

In our Demo applications, we have an auxiliary method to make proper resource cleaning:

ExampleUtils.DisposeAllAndClear(chart.ViewXY.YAxes);

 

Area Chart

Area Chart

Written by a human | Updated on April 24th, 2025WPF Area ChartIn this article, we will make an Area Chart or Area graph using LightningChart .NET and interactive examples application. But… what is an Area Chart? An area chart is a combined line and bar chart. When we...

Crypto Dashboard with JavaScript

Crypto Dashboard with JavaScript

Written by a human | Updated on April 14th, 2025Introduction to Crypto DashboardsHello! If you've been following our latest articles, you'll see that LightningChart has recently introduced the DataGrid control for developing JavaScript applications. And this time, I...

GDI+ chart development with System.Drawing package

GDI+ chart development with System.Drawing package

Written by a human | Updated on April 14th, 2025GDI Chart Development with System.Drawing & LightningChart .NETThis article will focus on GDI chart development. Concretely, we will build a custom ViewXY chart application with LightningChart .NET. Even if it sounds...