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);

 

JS Business Dashboard

JS Business Dashboard

Written by a human | Updated on April 14th, 2025JavaScript Business DashboardIn this article, I'll be showing how to create a JavaScript business dashboard to visualize key business metrics from different departments. The dashboard is interactive and during the...

Digital Signal Processing Filters Application

Digital Signal Processing Filters Application

Written by a human | Updated on April 14th, 2025Digital Signal Processing Filters ApplicationA digital signal processing filters application may not be the typical charting application but is rather a more complex and powerful type of signal data chart control. This...

JavaScript Charts in R

JavaScript Charts in R

Written by a human | Updated on April 14th, 2025JavaScript Charts in RIn this article, we will do an exciting exercise in R to analyze a dataset for descriptive statistics and visualize the data trend using the LC4R package. For this example, we will learn how to...